2012-06-20 26 views
5

Tôi có một mảng đa chiều, tôi quan tâm đến việc nhận tất cả các phần tử (một mức sâu) mà không có các khóa có tên.PHP Nhận tất cả các phím số/ẩn danh trong một mảng

ví dụ:

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

Bất kỳ ý tưởng? Cảm ơn bạn đã giúp đỡ.

Trả lời

6

Đây là một cách

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

EDIT

Tùy thuộc vào kích thước của mảng của bạn nó có thể nhanh hơn và bộ nhớ hiệu quả hơn để làm điều này để thay thế. Tuy nhiên, nó yêu cầu các phím theo thứ tự và không có phím nào bị thiếu.

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

tuyệt vời mà làm việc nhờ sự giúp đỡ của bạn :) (sẽ chấp nhận khi tôi có thể) –

0

Khóa là 0, Không được là $your_array[0]?

+0

Yep nhưng tôi có thể có rất nhiều các yếu tố trộn lẫn với những tên và tôi không chắc có bao nhiêu –

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

nhờ đó nên cũng làm việc nhưng tecent trả lời đầu tiên - cảm ơn anyway –