我有两个关联数组:
SiringClockAuction
$array1=[key1=>$value1,key2=>$value2,key3=>$value3];
如何创建以下数组:
$array2=[key1=>$value1,key2=>$value2,key4=>$value4];
array_merge不是一个选项,因为我必须在最终数组中保持相同的值。 TNX。
答案 0 :(得分:0)
您不能将多个键设置为相同的值(每个数组中都有key1),正如您所见,第二个key1将在您使用array_merge时覆盖第一个键。
您的选项取决于每个原始数组是作为一组独立的键/值对运行,还是希望将相似的键/值对组合在一起。
所以,第一个很容易:
$array1=[key1=>$value1,key2=>$value2,key3=>$value3];
$array2=[key1=>$value1,key2=>$value2,key4=>$value4];
$super = [$array1, $array2];
第二个需要更多循环:
$array1=[key1=>$value1,key2=>$value2,key3=>$value3];
$array2=[key1=>$value1,key2=>$value2,key4=>$value4];
$super = [];
foreach ($array1 as $key => $value) {
$super[$key] = [$value];
}
foreach ($array2 as $key => $value) {
if (!isset($super[$key])) {
$super[$key] = [];
}
$super[$key][] = $value;
}
如果您知道每个阵列中的键总是相同,那么您可以跳过isset