从严格的实施和计算机科学的角度来看,您如何对Php阵列数据结构进行分类?它是一个关联数组吗?哈希?一本字典? ......?
答案 0 :(得分:8)
来自PHP manual:
PHP中的数组实际上是有序的 地图。地图是一种关联的类型 键的值。此类型已优化 用于几种不同的用途;有可能 作为数组处理,列表(向量), 哈希表(一个实现的 地图),字典,集合,堆栈, 排队,可能更多。
答案 1 :(得分:3)
嗯,这取决于您希望如何对其进行分类。我选择按操作性能进行分类。
例如,计算机科学术语中的真实数组具有O(1)查找时间,而链表具有O(n)查找时间。插入和删除在链表中是O(1),而在数组中是O(n)。
我不确定PHP数组的实际性能是什么,但如果你测量它们的一些基本操作并将它们与'真正的计算机科学数据结构'的预期进行比较,你应该能够对它进行分类
答案 2 :(得分:1)
在我看来,定义它有点困难。虽然,我认为我会将它归类为关联数组,因为关联数组的大多数定义操作都可以在PHP数组中使用。
答案 3 :(得分:0)
这取决于你想要真正定义的内容。 字典或映射指的是数据类型的行为,而 hashmap 指的是此处的特定实现。术语 array 有点着色 - 严格地说,它指的是具体实现,而 list 是指任何类似数组的数据类型的通用术语。然而,使用 array 作为 list 的同义词是很常见的。