Add array values at the start of each subArray from other array
我有两个数组,$array1和$array2,现在我想取$array2的值,并将每个元素放在$array1的每个子数组的开头。
第一个数组:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| $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
)
) |
第二个数组:
1 2 3 4 5
| $array2 = Array (
[0] => Outlook
[1] => Temp
[2] => Humidity
) |
号
预期输出(修改/新值加粗):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| $array1 = Array (
[0] => Array (
[0] => 'Outlook'
[1] => 2
[2] => 6
[3] => 15
[4] => 6
)
[1] => Array (
[0] => 'Temp'
[1] => 5
[2] => 8
[3] => 6
[4] => 12
)
[2] => Array (
[0] => 'Humidity'
[1] => 2
[2] => 5
[3] => 5
[4] => 5
)
) |
- 可能重复的php将一个数组附加到另一个数组(不是数组push或+)
- 你在哪里做这件事?
- 我不明白我该怎么做我想怎么合并两个数组
- 你可以用多种方法做到这一点。1)看一下foreach,然后循环遍历第二个数组。再加上看array_unshift()2,或者你看array_map()和array_unshift()。仔细阅读这些页面,看例子,尝试写一些代码,如果你被卡住了,请在这里张贴你的尝试。我们将帮助您完成它:)
- @baboizk op希望以与dupe中描述的不同的方式合并数组。
- @Rizier123抱歉,你可能是对的。我没有像你那样就具体情况发表意见。
可以使用带匿名功能的array_walk()和array_unshift():
demo中的eval.
array_walk()使用自定义函数修改数组。可调用函数参数是数组项(注意,我们必须使用&通过引用来设置)、数组键(可选)和可选自定义参数(在我们的例子中,是$array2参数)。在函数内部,使用array_unshift()我们可以将相对的$array2项预先附加到每个项上,并通过键$key选择它。
- 了解更多关于array_walk()的信息
- 了解更多关于数组unshift()的信息
- 阅读有关匿名函数的详细信息
- 阅读有关按引用传递的详细信息
- 先生,它没有像我在问题中提到的那样起作用
- 它起作用了。请参阅演示。
- #融合3K先生它的工作真的非常感谢
- 先生,我有一个小问题,实际上在上面我提到了$array2,它从索引0开始,实际上我的$array2是从索引1开始的,比如bellow$array2=array([1]=>outlook[2]=>temp[3]=>humidity)
- 先生,我的$array2是从索引1开始的,不是从0开始的。这就是为什么我会面临偏移量错误,请指导我。
- 您可以使用$array2 = array_values( $array2 )重置键。