我曾尝试使用相同的密钥添加两个值,但它不起作用。它超越了旧的价值。是不是可以使用相同的键添加多个值,并且当通过键检索时,我得到一个链接列表,我可以迭代以获得所有不同的值?
答案 0 :(得分:11)
最简单的选项:无论您在何处使用$array[$key]=...
,都将其替换为$array[$key][]=...
答案 1 :(得分:1)
除非您实际存储数组作为值。 PHP中的哈希表映射了一个值的键。该值可以是一个数组,但您必须自己构建数组。您可以考虑创建一个类来为您执行此操作。
答案 2 :(得分:1)
您可以创建包装函数:
function add_to_array($array, $key, $value) {
if(array_key_exists($key, $array)) {
if(is_array($array[$key])) {
$array[$key][] = $value;
}
else {
$array[$key] = array($array[$key], $value);
}
}
else {
$array[$key] = array($value);
}
}
所以你只需要创建一个二维数组。您可以通过正常的数组访问$array[$key]
检索“链接列表”(另一个数组)。
这种方法是否方便取决于您。