【发布时间】:2021-04-06 20:34:35
【问题描述】:
我有三个这样的数组:
{ 0 => ["name"=>'name1' , "value1" =>'value1'] , ...}
如果它们具有相同的名称,我想混合这些数组!
这就是我想要的:
{ 0 => ["name"=>'name1' , "value1" =>'value1' , "value2" =>'value2' , "value3" =>'value2'] , ...}
我编码的内容:(x, y, z 是我的数组)
$m = 0;
for ($i = 0; $i < count($x); $i++) {
for ($j = 0; $j < count($y); $j++) {
if($x[$i]['symbol_name'] == $y[$j]['symbol_name']){
$chartData[$m] = array_merge($x[$i],$y[$j]);
$m++;
}
}
}
$m = 0;
for ($i = 0; $i < count($chartData); $i++) {
for ($j = 0; $j < count($z); $j++) {
if ($chartData[$i]['symbol_name'] == $z[$j]['symbol_name']) {
$newChart[$m] = array_merge($chartData[$i], $z[$j]);
$m++;
}
}
}
但正如您所见,这可能需要很长时间(每个数组有 600 多个项目),所以任何人都可以帮我找到混合这些数组的最快方法。
【问题讨论】:
-
如果它们具有相同的名称,则混合这些数组不清楚并且您的示例数组不清楚。
-
请分享更多细节,比如全套输入和输出数据。从给定的输入中,我看不到任何到达
value3的方法 -
我有 3 个具有相同值的子数组的数组,如果它们具有相同的名称,我想将这 3 个子数组混合成一个数组。