2016-07-18 3 views
1

Вот примерКак извлечь многомерный ассоциативный массив в простой числовой массив

Array 
(
    [0] => Array 
     (
      [ID] => 1197 
     ) 
    [1] => Array 
     (
      [ID] => 1078 
     ) 
) 

код, который я хочу, чтобы преобразовать в простой массив индекса, как:

Array(1197, 1078) 

Я знаю, что это может быть сделано итерация каждого индекса и назначение в массив temp. Я хочу, чтобы во многих случаях синтаксис одного liner, например, array_filter. Есть ли встроенная функция в PHP, которая выполняет мою задачу в одной строке, любое сочетание оператора в одной строке. Я не хочу использовать его в циклах.

+2

Возможные дубликат [Как сгладить многомерный массив?] (http://stackoverflow.com/questions/1319903/how-to-flatten-a-multidimensional-array) –

+4

'array_column ($ arr, 'ID');' – RomanPerekhrest

ответ

1

Если вы используете PHP> 5.5.0, вы можете использовать array_column:

$ids = array_column($array, 'ID');

На связанной странице вы найдете замену старых версий:

if(!function_exists("array_column")) 
{ 

    function array_column($array,$column_name) 
    { 

     return array_map(function($element) use($column_name){return $element[$column_name];}, $array); 

    } 

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