更新的问题
如果两个数组都包含多个条目,您必须迭代以比较合并,该怎么办?我尝试使用嵌套的.btn{ cursor: pointer;}
,如此:
foreach
这会造成大量内存泄漏并导致脚本死亡。
原始问题
如果值匹配,我正在根据键的比较组合2个不同的数组,否则不会发生组合。
以下是每个数组的示例:
foreach ($vehicleArr as $v) {
foreach ($specialArr as $s) {
if ($v['vehicle'] === $s['vehicle']) {
$freshArr[] = array_merge($v, $s);
} else {
$freshArr[] = $v;
}
}
}
)
Vehicle Array
(
[vehicle] => 2016 Ford Transit 250 Cargo Van
[stockno] => 153721
[msrp] => 32195
[price] => 32195
[payment] => 359
[type] => New
[bodystyle] => Van
[mileage] => 6
[year] => 2016
[make] => Ford
[model] => Transit 250
[trim] => Cargo Van
),(
[vehicle] => 2016 Ford F150 XLT
[stockno] => 153723
[msrp] => 36195
[price] => 36195
[payment] => 429
[type] => New
[bodystyle] => Truck
[mileage] => 6
[year] => 2016
[make] => Ford
[model] => F150
[trim] => XLT
目标是结合车辆阵列[车辆]和特殊阵列[车辆]来创建这样的阵列:
Special Array
(
[vehicle] => 2016 Ford Transit 250 Cargo Van
[store] => Baxter Ford
[offertype] => $ Off MSRP
[offervalue] => Up to $10,000
[disclaimer] => *Valid on in-stock models. Based on stock #161621. Tax, title and license extra. With approved credit. Includes hail sale savings. See dealer for details. Offer expires 8\/1\/16.
[expires] => 8/1/16
)
这似乎非常简单,但我似乎错过了一些东西。
提前致谢。
答案 0 :(得分:1)
您似乎只想将特殊阵列合并到车辆阵列中与同一车辆相关的物品上。您只需要在去的时候检查车钥匙,并且只合并钥匙匹配的项目。有几种方法可以做到这一点。这是一个使用array_map
。
$combined = array_map(function($v) use ($special_array) {
if ($v['vehicle'] == $special_array['vehicle']) {
return array_merge($v, $special_array);
}
return $v;
}, $vehicle_array);
我不得不说,根据我使用车辆数据的经验,vehicle
键中的数据很可能在某些情况下可能不匹配,因为它确实属于同一类型的车辆文本中可能存在细微差别。如果有任何方法可以使用年份,制作,模型,修剪以匹配您的特殊阵列,它可能会更加一致。 (除非vehicle
已经来自年,make,model,trim,在这种情况下,没关系。)