如何在php5中将二维数组转换为一维数组
可能重复:
将multidimensional array转换为一维数组
我有这样的一个数组
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 )
任何内置的function的PHP可用于此数组转换?
对于你有限的使用情况,这将做到这一点:
$oneDimensionalArray = array_map('current', $twoDimensionalArray);
当子数组有许多条目时,这可以更一般化:
$oneDimensionalArray = call_user_func_array('array_merge', $twoDimensionalArray);
PHP array_merge
Docs函数可以将您的数组展平:
$flat = call_user_func_array('array_merge', $array);
如果原始数组的深度高于2级,则PHP中的SPL具有一个RecursiveArrayIterator
您可以使用它来将其展平:
$flat = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)), 0);
另请参见: 将multidimensional array转换为一维数组
$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];