Natsort数组并设置键值

时间:2018-09-01 15:41:23

标签: php arrays sorting foreach

我找不到我的问题的答案,所以我尝试在这里提问。

我有一个简单的数组,我对其进行了排序。结果是这样的:

[0] => . 
[1] => .. 
[2] => cap.1 
[13] => cap.2 
[21] => cap.3 
[22] => cap.4 
[23] => cap.5 
[24] => cap.6
etc...

现在,我需要键匹配值的顺序,就像这样:

[0] => . 
[1] => .. 
[2] => cap.1 
[3] => cap.2 
[4] => cap.3 
[5] => cap.4 
[6] => cap.5 
[7] => cap.6
etc...

是否可以使用foreach周期?

2 个答案:

答案 0 :(得分:1)

您可以使用array_values()从具有顺序索引的数组中返回值。

$a = [ 1 => 'a', 3 => 'c'];
$a = array_values($a);
print_r($a);

会给...

Array
(
    [0] => a
    [1] => c
)

答案 1 :(得分:1)

如果您坚持使用foreach(),请尝试这样

// assuming your original array is called $a
$b = [];
foreach($a as $v) $b[] = $v;

var_dump($b);

使用array_values()更简单

// assuming your original array is called $a
$b = array_values($a);

var_dump($b);

希望这会有所帮助。