php - array_slice可以安全地用于关联数组

时间:2018-06-11 14:53:25

标签: php arrays

关联数组元素是隐式排序的。

据我所知,他们在JS(对象)中的模拟不能保证元素顺序。

array_slice是一个依赖于元素顺序的函数。

是否可以安全地假设array_slice的结果与使用foreach语句迭代关联数组的顺序一致?

1 个答案:

答案 0 :(得分:4)

PHP的数组和Javascript的对象无法比较。

PHP的数组是有序的,关联的数据结构。 Javascript没有任何等价物。* PHP的数组不是隐式有序,它们是显式有序。这适用于数字和字符串键。

是的,array_slice可以安全地使用它们。请注意,它有一个明确的$preserve_keys参数,如果要保持数组关联,则必须将其设置为true;否则他们将被重新编入数字索引。

* Javascript只有基本上无序的关联对象。最近的ECMAScript版本为它们指定了一些顺序,但用户并不能真正控制它。 Javascript的Array在这些无序对象之上添加了一种使用模式,它允许您拥有有序但非关联的数据结构。