2012-06-20 4 views
5

У меня есть многомерный массив, мне интересно получить все элементы (на одном уровне глубины), которые не имеют именованных ключей.PHP Получить все числовые/анонимные ключи в массиве

т.е.

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

Любые идеи? Спасибо за вашу помощь.

ответ

6

Это один из способов

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

EDIT

В зависимости от размера вашего массива может быть более быстрым и эффективным памяти, чтобы сделать это вместо. Однако он требует, чтобы клавиши были в порядке, и ни один из них не пропал.

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

удивительным, что работал спасибо за вашу помощь :) (будет принимать, когда я могу) –

0

Ключ 0, не должен быть $your_array[0]?

+0

Да, но я мог бы многие из этих элементов, смешанных с именованными из них, и я не уверен, сколько –

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

спасибо, что должно также работают, но tecent ответил первым - спасибо в любом случае –

Смежные вопросы