我有两个数组,$array1
和$array2
,现在我想从$array2
中获取值,并将每个元素放在$array1
中每个子数组的开头
第一个阵列:
$array1 = Array (
[0] => Array (
[0] => 2
[1] => 6
[2] => 15
[3] => 6
)
[1] => Array (
[0] => 5
[1] => 8
[2] => 6
[3] => 12
)
[2] => Array (
[0] => 2
[1] => 5
[2] => 5
[3] => 5
)
)
第二个阵列:
$array2 = Array (
[0] => Outlook
[1] => Temp
[2] => Humidity
)
预期输出(修改/新值粗体):
$array1=数组([0]=>数组([0]=>"Outlook"[1] =>2[2] =>6[3] =>15[4] =>6)[1] =>数组([0]=>"温度"[1] =>5[2] =>8[3] =>6[4] =>12)[2] =>阵列([0]=>"湿度"[1] =>2[2] =>5[3] =>5[4] =>5))
您可以将array_walk()
与匿名函数和array_unshift()
:一起使用
array_walk
(
$array1,
function( &$row, $key, $kind )
{
array_unshift( $row, $kind[$key] );
},
$array2
);
eval.in演示
array_walk()
使用自定义函数修改数组。可调用的函数参数是数组项(请注意,我们必须使用&
通过引用来设置它)、数组键(可选)和可选的自定义参数(在本例中为$array2
)。在函数内部,使用array_unshift()
),我们可以为每个项目准备相关的$array2
项目,通过键$key
进行选择。
- 阅读有关array_walk()的更多信息
- 阅读有关array_unshift()的详细信息
- 阅读有关匿名函数的更多信息
- 阅读更多关于参考传递的信息