【发布时间】:2022-01-20 00:51:37
【问题描述】:
有没有办法像这个例子一样在 PHP 上合并/合并两个数组?
我的数组:
$A = Array(
0=>array(
'type' => "t1",
'name'=>"John",
),
1=>array(
'type' => "t1",
'name'=>"Jane",
)
);
$B = Array(
0=>array(
'surname' => "Doe",
),
1=>array(
'surname' => "Black",
)
);
这样的结果:
$Merged = Array(
0=>array(
'type' => "t1",
'name'=>"John",
'surname' => "Doe",
),
1=>array(
'type' => "t1",
'name'=>"Jane",
'surname' => "Black",
)
);
数组 A 和 B 的大小始终相同,并且从 DB 中填充。不幸的是,我无法与查询合并,我需要先拆分后合并。
【问题讨论】:
-
我相信你可以在你的 SQL 查询中加入这两个数组,除非它来自不同的来源
-
假设您的所有数组都是有序的,那么
foreach($A as $b => $a) var_dump($a + $B[$b])将是对二维数组求和的最有效方法。它比数组合并解决方案更有效,但我同意 zimorok 的观点,即 SQL 查询重写值得一试。 -
感谢所有建议。最后我的问题是我的数据库中有一些错误的数据。出于这个原因,当我试图在一次选择中获得很多子查询(+100)时,我的代码中断了,我尝试了这个解决方法。现在我修复了我的数据,一切都完美无缺。