如何在php数组中允许重复键[duplicate]
||
这个问题已经在这里有了答案:
没有找到相关结果
已邀请:
9 个回复
讹巳漓把备
泻伴墓荒
然后,您可以通过以下方式访问它:
等等。 请注意,您正在使用此方法创建数组数组。
嘘崇蔡对
如果您有很多骗子,那么这种替代方法会更有效:
芳菱挨啡
请注意,我如何有重复的名为
的键。 现在,如果我要调用
的每个实例,请运行
它将返回
死搭胯
班级代码
TLDR:有时您需要这样的技巧来快速完成工作! 他的问题可能引起强烈争议,并且与计算机科学的教学背道而驰。 (在拍摄之前,请先阅读全文),但在某些情况下,您希望这种情况发生。 = X 例如,您有一个代码库,用于处理一组指定的数组对象。并且由于其重复使用(循环?,递归?)。它会覆盖或重新定义结果。直到给出最后一组。 当您完成所有工作时。您突然意识到客户(或您)的规格已更改。而不是最终数据,您希望每个数据都介于两者之间(因此每个键希望有1个以上的数据)。而且在不幸的情况下,您的系统已经以如此复杂的方式完成了,在!@#$中很难轻松地更改所有内容以使用多维数组(这意味着替换将不起作用,特别是如果您使用的是动态调用)。那你怎么办??? 这实际上是我最近遇到的一种情况,但是对此有一个简单的破解方法,它仍然可以确保所有代码仍然有效,同时仍保留旧数据。 最终结果是,仍然可以像其他任何对象一样对待的类。但是具有存档功能,可以保留旧数据。它排序多维数组,直接访问[0]索引。它只是通过更改此对象的变量声明来工作。对object参数所做的任何更改都将被存档。为了易于访问,整个代码程序的更改量很小或没有更改=)
哩翔购
如果您有类似以下内容:
然后,我将采用另一种解决方案。
枫湃揩乾纲
中使用此类对象,无论其含糊不清,它都能看到每个键/值对。 参见下文,您还必须决定如何处理未设置的尝试,或者是否可以完全覆盖条目。仅追加模式最容易实现。 (在这种情况下,这也许是合情合理的。) 无论如何,要对这个问题有一个完整的答案:您可以使用PHPs数组语法,但可以使用一个累积对象代替:
箩冀娥
如果您维护索引,这显然会更有效率。此代码并不简单。 如果您正在使用大型数据集,那么我强烈建议您使用DBMS来管理数据。如果不切实际,请使用链表。
稀瓣囊