如何组合第一个数组包含重复键的两个数组?例如结合以下内容:
$keys_arr
Array
(
[0] => iPhone
[1] => iPhone
[2] => iPhone
[3] => Samsung
)
$values_arr
Array
(
[0] => 5
[1] => 5
[2] => 5
[3] => Galaxy IV
)
我正在寻找的结果是:
$combined_array
Array
(
[iPhone] => 5
[iPhone] => 5
[iPhone] => 5
[Samsung] => Galaxy IV
)
使用以下foreach(PHP - merge two arrays similar to array_combine, but with duplicate keys):
foreach ($keys_arr as $key => $value) {
$combined_array[] = array($value => $values_arr[$key]);
}
我明白了:
Array
(
[0] => Array
(
[iPhone] => 5
)
[1] => Array
(
[iPhone] => 5
)
[2] => Array
(
[iPhone] => 5
)
[3] => Array
(
[Samsung] => Galaxy IV
)
)
我哪里错了?
答案 0 :(得分:0)
php的关联数组需要有值的唯一键 - 虽然你可以拥有完全相同的值(即:5, 5, 5
),但键必须是不同的。
您可以“解决”这种方法的一种方法是在重复的情况下使用链接列表数据结构;这会导致;
$iPhone = {(5), (5), (5)}
$Samsung = Galaxy IV
实现这一目标的一个简单的解决方法是使用多维数组;即:
Array[iPhone]
将包含一个单独的数组,其中包含{5, 5, 5}
。
您可以在此处阅读有关实际链接列表的更多信息; http://www.php.net/manual/en/class.spldoublylinkedlist.php