2013-11-20 3 views
1

У меня есть массив, который содержит следующее:получить индекс массива в PHP

$code_ids 
[138]=> 
    string(0) "asdsad" 
    [126]=> 
    string(0) "" 
    [163]=> 
    string(0) "asdasd" 
    [162]=> 
    string(0) "" 
    [135]=> 
    string(0) "awawawaw" 
    [59]=> 
    string(0) "" 
    [63]=> 
    string(0) "" 
    [70]=> 
    string(0) "" 
    [146]=> 
    string(0) "" 
    [155]=> 
    string(0) "" 
    [66]=> 
    string(0) "" 

Я хочу, чтобы ухватить все индексы, если он содержит что-нибудь. Как ты делаешь это? Я попробовал

foreach($code_ids as $code_id) { 
    if(!empty($code_id)) { 
    $index[] = $code_id; 
    } 
} 

Проблема в том, что она получает свою ценность. Мне просто нужен индекс.

ответ

5

Попробуйте

array_keys(  // 2. returns keys as new array 
    array_filter( // 1. removes all empty items 
     $code_ids)); 

array_filter, array_keys

+0

+ 1, но следует помнить, что 'array_filter()' будет удалять элементы со значением 0 или ложным, а также, даже ' '0'' как строка. – AbraCadaver

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