php - 为什么不允许对象作为关联数组中的键?

标签 php hashmap associative-array

PHP documentation状态:

Arrays and objects can not be used as keys. Doing so will result in a warning: Illegal offset type.

据我所知,PHP 数组是有序的 HashMap 。那么,为什么本身禁止使用对象作为键,是否有这种限制的原因?为什么不可能在类中实现哈希函数以将其用作 key ?

在相关说明中,是否有 HashMap 的 PHP 实现可以解决此问题?

最佳答案

键必须是不可变的才能工作。如果您的对象是可变的,那么它们就不能成为键。在实现它们的每种语言中都是如此:Java、C# 等。

关于php - 为什么不允许对象作为关联数组中的键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13793987/

相关文章:

c# - 多维关联数组 C#

php - 如何找到关联数组的总和

php - Docker-compose 不加载 PHP 图像

javascript - 如何在 PHP 中添加从数组填充的表行

php - 如何防止 LAMP 应用程序中的 SQL 注入(inject)?

javascript - 使用 id 从表中删除特定行并使用 Jquery Ajax php mysql 在后台刷新同一个表

java - 将多个值添加到 HashMap 中的一个键

java - 如果在 hashmap.put 调用中构造

java - 无法删除 java.util.Map.Entry 中的所有元素

c++ - 在 C++ 中打印关联数组