Переместить массив в массив в родительский массив php

Есть ли определенная функция для перемещения массива, который находится в массиве в родительский массив как ключ или значение.

array(5) { [0]=> array(1) { [0]=> string(2) "id" } [1]=> array(1) { [0]=> string(7) "buydate" } [2]=> array(1) { [0]=> string(6) "expire" } [3]=> array(1) { [0]=> string(6) "planid" } [4]=> array(1) { [0]=> string(5) "buyer" } } 

Результат, который я хотел бы получить, это:

 array() { [0] => 'id', [1] => 'buydate' etc. } 

Или

 array('id', 'buydate' etc.. ) 

Можно ли добиться успеха без foreach?

array_map() чрезвычайно эффективен и должен делать трюк:

 $array = ... ; // your initial array $flattened_array = array_map(function($item) { return $item[0]; }, $array); 

Если вы хотите сгладить нужный массив и использовать foreach вы можете сделать это таким образом.

Рассмотрим этот пример:

 // Sample data: $values = array( 0 => array( 0 => 'id', ), 1 => array( 0 => 'buydate', ), 2 => array( 0 => 'expire', ), 3 => array( 0 => 'planid', ), 4 => array( 0 => 'buyer', ), ); $new_values = array(); foreach($values as $key => $value) { $new_values[] = $value[0]; } print_r($new_values); 

Результат выборки:

 Array ( [0] => id [1] => buydate [2] => expire [3] => planid [4] => buyer ) 

Или, альтернативно, вы можете iterator . Рассмотрим этот пример:

 $new_values = array(); $iterator = new RecursiveIteratorIterator(new RecursiveArrayIterator($values)); foreach($iterator as $value) { $new_values[] = $value; } 

Он должен дать вам тот же результат.