2016-03-31 2 views
0

мой массив выглядит так,получить значение внутреннего массива в PHP

array(90) { 
    [0]=> 
    NULL 
    [1]=> 
    array(1) { 
    [0]=> 
    string(18) "2016-03-27 0:04:06" 
    } 
    [2]=> 
    array(1) { 
    [0]=> 
    string(1) "8" 
    } 
    . 
    . 
    . 
    [90]=> 
    array(1) { 
    [0]=> 
    string(18) "[action] => update" 
    } 

Имя массива $array. Здесь я могу получить значение массива, используя $array[1][0], который дает мне 2016-03-27 0:04:06.

Теперь я пытаюсь искать по значению, используя следующую команду

$arrays = array_filter($array, function($ar) { 
    var_dump($ar[][0] == '2016-03-27 0:04:06'); 
}); 

, но это дает мне bool(false). что я делаю неправильно

+3

'$ ar' будет itteration (* каждый объект *), поэтому изменить его:' var_dump ($ ар [0] = = '2016-03-27 0:04:06'); '. – Darren

+1

@ Даррен спасибо, что это работало –

ответ

1

Как I stated in the comments, $ar - итерация каждого объекта/элемента в массиве. Думайте об этом как foreach.

$array = array(
    0 => NULL, 
    1 => array(0 => "2016-03-27 0:04:06"), 
    2 => array(0 => "8") 
); 

$arrays = array_filter($array, function($ar) { 
    return ($ar[0] == '2016-03-27 0:04:06') ? $ar : false; 
}); 

print_r($arrays); 

Который возвращает:

Array 
(
    [1] => Array 
     (
      [0] => 2016-03-27 0:04:06 
     ) 

) 

Example

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