【发布时间】:2018-10-26 21:30:03
【问题描述】:
数组1:
array(1) {
[0]=>
array(2) {
["1234"]=>
array(1) {
["fileName"]=>
string(10) "monkey.jpg"
}
["3456"]=>
array(1) {
["fileName"]=>
string(9) "horse.jpg"
}
}
}
数组2:
array(2) {
["number"]=>
string(2) "62"
["company"]=>
string(7) "animals"
}
我想将两个数组合并在一起:
$result = array_merge_recursive($array1,$array2);
这是结果:
array(3) {
[0]=>
array(2) {
["1234"]=>
array(1) {
["fileName"]=>
string(10) "monkey.jpg"
}
["3456"]=>
array(1) {
["fileName"]=>
string(9) "horse.jpg"
}
}
["number"]=>
string(2) "62"
["company"]=>
string(7) "animals"
}
但我真正需要的结果是这样的:
array(1) {
[0]=>
array(4) {
["1234"]=>
array(1) {
["fileName"]=>
string(10) "monkey.jpg"
}
["3456"]=>
array(1) {
["fileName"]=>
string(9) "horse.jpg"
}
["number"]=>
string(2) "62"
["company"]=>
string(7) "animals"
}
}
我怎样才能做到这一点?
我测试array_push 喜欢RaymondNijland 建议:
array_push($array1[0],$array2);
但现在$array1 看起来像这样:
array(1) {
[0]=>
array(3) {
["1234"]=>
array(1) {
["fileName"]=>
string(10) "monkey.jpg"
}
["3456"]=>
array(1) {
["fileName"]=>
string(9) "horse.jpg"
}
}
[0]=>
array(2) {
["number"]=>
string(2) "62"
["company"]=>
string(7) "animals"
}
}
}
仍然不是我想要的结果
【问题讨论】:
-
“我怎样才能做到这一点?”在我看来就像
$array1[0][] = $array2或array_push($array1[0], $array2)一样简单 -
@RaymondNijland 我刚刚测试了你的建议,我的结果是
int(3)。而已。我做错了什么? -
您应该提供实际的 PHP 代码,而不是一些看起来像
var_dump()的输出 -
@RaymondNijland 我的代码是
$result = array_push($array1[0], $array2) -
var_dump($array1)在array_push($array1[0], $array2)之后然后你会看到 $array1 被改变了..
标签: php arrays multidimensional-array merge