按数组键升序排序

时间:2011-09-12 13:46:01

标签: php arrays

如果我像这样为数组赋值:

$foo[0] = 2;
$foo[1] = 3;
print_r($foo);

我明白了:

Array
(
    [0] => 2
    [1] => 3
)

但如果我这样做:

$foo[1] = 3;
$foo[0] = 2 ;
print_r($foo);

我明白了:

Array
(
    [1] => 3
    [0] => 2
)

正如你所看到的那样,首先使用索引1进行数组并且让我感到困惑,是否有可能使它从0开始

如果您感兴趣,我将值赋给索引为1的数组,因为我需要使用该值来计算索引为0的数组

3 个答案:

答案 0 :(得分:5)

尝试使用ksort();。它按升序排序你的键

<?php
$foo[1] = 3;
$foo[0] = 2 ;
ksort($foo);
print_r($foo);

结果

Array ( 
   [0] => 2 
   [1] => 3 
) 

demo

答案 1 :(得分:3)

尝试ksort()

在PHP中它是这样的原因是因为数组与其他语言中的数组有点不同。 PHP中的数组有点类似于Java中的HashMaps和C#中的Dictionaries,但仍然有点不同。

答案 2 :(得分:-2)

您也可以添加

$foo[0] = '';

,在向$ foo [1]

添加任何值之前