Php 数组中的键排序
我偶然发现了一件使我困惑的事。在此之前,我认为如果您保存一个数组,并且它的键是整数,那么该数组将自动对自身进行排序。Php 数组中的键排序,php,arrays,Php,Arrays,我偶然发现了一件使我困惑的事。在此之前,我认为如果您保存一个数组,并且它的键是整数,那么该数组将自动对自身进行排序。 也就是说,如果我在键1之前添加键2,我认为数组将按最小的数字排序: Array ( [1] => one [2] => two ) 相反,它是这样出现的: Array ( [2] => two [1] => one ) 操作: $arr = array(); $arr[2] = 'two'; $arr[1] = 'one
也就是说,如果我在键
1
之前添加键2
,我认为数组将按最小的数字排序:
Array
(
[1] => one
[2] => two
)
相反,它是这样出现的:
Array
(
[2] => two
[1] => one
)
操作:
$arr = array();
$arr[2] = 'two';
$arr[1] = 'one';
这看起来可能没什么,但有时我会使用foreach()
或将ID存储在数组中,并指望它们被排序以进行插入
-查询,然后它们需要按正确的顺序排列(由于自动递增)
所以问题是:php中预期的排序结果是什么 我有一个相当强的记忆,我以前通过输出1整理过数组。php版本与php版本之间是否存在差异
谢谢你的回答 PHP数组实际上是一个有序映射。它保持顺序,较早的元素将先于较晚的元素
可以使用按键对数组进行排序。PHP数组实际上是一个有序映射。它保持顺序,较早的元素将先于较晚的元素 您可以使用按键对数组进行排序。说明PHP数组实际上是有序的哈希映射,其中键按生成顺序存储 如果您想要更传统的数组行为,请尝试该类。解释说,PHP数组实际上是有序的哈希映射,其中键按生成顺序存储
如果您想要更传统的数组行为,请尝试该类。您是如何使用该数组的?i、 您使用了什么数组操作?数组中的AFAIK项按照您将它们添加到数组中的顺序。您可以使用一些内置的PHP函数按键对数组进行排序。
$arr[2]='blabla'
只会将元素推到数组的末尾。因此,为什么要使用ksort
重新排序您是如何使用该数组的?i、 您使用了什么数组操作?数组中的AFAIK项按照您将它们添加到数组中的顺序。您可以使用一些内置PHP函数按键对数组进行排序。$arr[2]='blabla'
只会将元素推到数组的末尾。因此,请使用ksort
重新排序感谢您的回答。我想我的记性不好,这是在以前的项目中自动排序的。谢谢你的回答。我想我的记性不好,这是在以前的项目中自动排序的。