2012-06-20 13 views
5

Ho una matrice multidimensionale, sono interessato a ottenere tutti gli elementi (un livello di profondità) che non hanno le chiavi con nome.PHP Ottieni tutte le chiavi numeriche/anonime in una matrice

cioè

Array 
{ 
    ['settings'] {...} 
    ['something'] {...} 
    [0] {...} // I want this one 
    ['something_else'] {...} 
    [1] {...} // And this one 
} 

Tutte le idee? Grazie per l'aiuto.

risposta

6

Questo è un modo

foreach (array_keys($array) as $key) { 
if(is_int($key)) { 
    //do something 
} 
} 

EDIT

A seconda delle dimensioni del vostro array può essere più veloce e più efficiente della memoria per fare questo, invece. Richiede tuttavia che le chiavi siano in ordine e che non manchino.

for($i=0;isset($array[$i]);$i++){ 
//do something 
} 
+0

impressionante che ha funzionato, grazie per il vostro aiuto :) (accetterà quando posso) –

0

La chiave è 0, Non dovrebbe essere $your_array[0]?

+0

Sì, ma avrei potuto molti di questi elementi mescolati con quelli di nome e io sono sicuro quanti –

1
$result = array(); 
foreach ($initial_array as $key => $value) 
    if (! is_string($key)) 
    $result[ $key ] = $value; 
+0

grazie che dovrebbe Funziona anche, ma la prima risposta è stata la tecnologia - grazie comunque –

Problemi correlati