Возможный дубликат:
Поворот многомерного массива в одномерный массив
У меня такой массив
Array ( [0] => Array ( [0] => 88868 ) [1] => Array ( [0] => 88867 ) [2] => Array ( [0] => 88869 ) [3] => Array ( [0] => 88870 ) )
Мне нужно преобразовать это в одномерный массив. Как я могу это сделать?
Например, вот так ..
Array ( [0] => 88868 [1] => 88867 [2] => 88869 [3] => 88870 )
Для этого преобразования массива доступны любые встроенные функции php?
Для вашего ограниченного использования, это сделает это:
$oneDimensionalArray = array_map('current', $twoDimensionalArray);
Это может быть более обобщенным, если в subarrays есть много записей:
$oneDimensionalArray = call_user_func_array('array_merge', $twoDimensionalArray);
Функция PHP array_merge
Docs может сгладить ваш массив:
$flat = call_user_func_array('array_merge', $array);
Если исходный массив имеет более высокую глубину, чем 2 уровня, SPL в PHP имеет RecursiveArrayIterator
вы можете использовать для его сглаживания:
$flat = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)), 0);
См. Также: превращение многомерного массива в одномерный массив
$oneDim = array(); foreach($twoDim as $i) { $oneDim[] = $i[0]; }
пытаться:
$new_array = array(); foreach($big_array as $array) { foreach($array as $val) { array_push($new_array, $val); } } print_r($new_array);
Ага.
$values = array(array(88868), array(88867), array(88869), array(88870)); foreach ($values as &$value) $value = $value[0];