如何在PHP中将多维数组展平(压缩)为一维数组?
我得到了这个数组。我希望所有其他3个数组都进入这个[0]=>数组。不需要唯一值,只需将所有数组平面合并到[0]=>数组中即可如何在PHP中将多维数组展平(压缩)为一维数组?,php,arrays,multidimensional-array,type-conversion,associative-array,Php,Arrays,Multidimensional Array,Type Conversion,Associative Array,我得到了这个数组。我希望所有其他3个数组都进入这个[0]=>数组。不需要唯一值,只需将所有数组平面合并到[0]=>数组中即可 Array ( [0] => Array ( [0] => Array ( [Campaign] => xxx [Phone] => 111 [State] => cd
Array
(
[0] => Array
(
[0] => Array
(
[Campaign] => xxx
[Phone] => 111
[State] => cd
)
)
[1] => Array
(
[0] => Array
(
[Campaign] => zxxxzx
[Phone] => 111111
[State] => zxxx
)
)
[2] => Array
(
[0] => Array
(
[Campaign] => aaaa
[Phone] => 111
[State] => Csd
)
)
[3] => Array
(
[0] => Array
(
[Campaign] => sasa
[Phone] => 111
[State] => asas
)
)
)
这是另一个说明命名是多么重要的例子。您正在使用的基本上是:
$recordsGroups = array(
// first group:
array(
// record 1:
array(
'key1' => 'val1',
'key2' => 'val2',
),
// record 2:
array(
'key1' => 'aaa',
'key2' => 'bbb',
),
),
// 2nd group:
array(
// record 3:
array(
'key1' => 'ccc',
'key2' => 'ddd',
),
),
);
你可能想做的是:
$records = array();
foreach ($recordsGroups as $group)
foreach ($group as $record)
$records[] = $record;
这将给你:
$records = array(
// record 1:
array(
'key1' => 'val1',
'key2' => 'val2',
),
// record 2:
array(
'key1' => 'aaa',
'key2' => 'bbb',
),
// record 3:
array(
'key1' => 'ccc',
'key2' => 'ddd',
),
);
这应该很好:
$array = call_user_func_array('array_merge', $array);
或(splat操作员):
因为数组不能有重复的关键点,所以这个多维数组可以压缩的最好方法是使用关联数组的索引数组
array\u column()
将快速完成此任务
代码:()
输出:
array (
0 =>
array (
'Campaign' => 'xxx',
'Phone' => '111',
'State' => 'cd',
),
1 =>
array (
'Campaign' => 'zxxxzx',
'Phone' => '111111',
'State' => 'zxxx',
),
2 =>
array (
'Campaign' => 'aaaa',
'Phone' => '111',
'State' => 'Csd',
),
3 =>
array (
'Campaign' => 'sasa',
'Phone' => '111',
'State' => 'asas',
),
)
生成的数组应该是什么样的?
$array=[
[
['Campaign'=>'xxx','Phone'=>'111','State'=>'cd']
],
[
['Campaign'=>'zxxxzx','Phone'=>'111111','State'=>'zxxx']
],
[
['Campaign'=>'aaaa','Phone'=>'111','State'=>'Csd']
],
[
['Campaign'=>'sasa','Phone'=>'111','State'=>'asas']
]
];
var_export(array_column($array,0));
array (
0 =>
array (
'Campaign' => 'xxx',
'Phone' => '111',
'State' => 'cd',
),
1 =>
array (
'Campaign' => 'zxxxzx',
'Phone' => '111111',
'State' => 'zxxx',
),
2 =>
array (
'Campaign' => 'aaaa',
'Phone' => '111',
'State' => 'Csd',
),
3 =>
array (
'Campaign' => 'sasa',
'Phone' => '111',
'State' => 'asas',
),
)