Php 将单个元素数组的数组转换为一维数组
我有这样一个数组:Php 将单个元素数组的数组转换为一维数组,php,arrays,multidimensional-array,flatten,array-column,Php,Arrays,Multidimensional Array,Flatten,Array Column,我有这样一个数组: Array ( [0] => Array ( [0] => 88868 ) [1] => Array ( [0] => 88867 ) [2] => Array ( [0] => 88869 ) [3] => 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
)
任何php内置功能都可用于此数组转换?对于您有限的用例,可以这样做:
$oneDimensionalArray = array_map('current', $twoDimensionalArray);
当子阵列有多个条目时,这一点更为普遍:
$oneDimensionalArray = call_user_func_array('array_merge', $twoDimensionalArray);
是的
试试:
$new_array = array();
foreach($big_array as $array)
{
foreach($array as $val)
{
array_push($new_array, $val);
}
}
print_r($new_array);
PHP函数可以展平阵列:
$flat = call_user_func_array('array_merge', $array);
如果原始数组的深度大于2级,则PHP中的SPL有一个用于展平它的值:
$flat = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)), 0);
另请参见:,而上的一些答案确实有适合此问题的答案。由于输入数据结构的原因,此特定问题的一些技术不属于其他页面 这里的示例数据结构是一个由单元素索引数组组成的数组
var_export(array_column($array, 0));
这就是这个问题所需要的。我不理解“当前”。我在doc php callable$callback上看到了,但在示例中并没有看到这个函数或代码。我想举个例子。@abkrim current()函数返回数组中当前元素的值。例如:$fruits=array(“香蕉”、“苹果”、“橘子”);echo current($fruits)//将返回“banana”,因为当前指针位于索引0上,该索引是banana。
$flat = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)), 0);
var_export(array_column($array, 0));