关联数组是一种存储键值对的数据结构,允许根据关联的值高效检索值键。但是,默认情况下,关联数组不允许重复的键。
考虑以下代码:
function array_push_associative(&$arr) { $args = func_get_args(); foreach ($args as $arg) { if (is_array($arg)) { foreach ($arg as $key => $value) { $arr[$key] = $value; $ret++; } } else { $arr[$arg] = ""; } } return $ret; }
此函数尝试将值添加到关联数组,但会覆盖任何现有键同名。例如,如果您使用它来创建如下数组:
$arr = []; array_push_associative($arr, ['42' => 56], ['42' => 86], ['42' => 97]);
...您最终将得到:
$arr = ['42' => 97];
要克服此限制,请考虑构造一个嵌套数组结构。您可以使用与包含多个元素的数组相对应的唯一键,而不是使用重复的键。例如:
$arr = [ '42' => [56, 86, 97], '51' => [64, 52], ];
这样,您可以通过嵌套数组结构访问与同一标识符关联的多个条目。
以上是如何处理 PHP 关联数组中的重复键?的详细内容。更多信息请关注PHP中文网其他相关文章!