natsort还有办法改变索引吗?
即。
$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');
natsort($array);
Array
(
[0] => IMG0.png
[4] => img1.png
[3] => img2.png
[5] => IMG3.png
[2] => img10.png
[1] => img12.png
)
但我想:
$array = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');
natsort($array);
Array
(
[0] => IMG0.png
[1] => img1.png
[2] => img2.png
[3] => IMG3.png
[4] => img10.png
[5] => img12.png
)
答案 0 :(得分:23)
array_values
将使用顺序整数键有效地重新索引传递给它的任何数组。所以你只需要这样做:
natsort($array);
$array = array_values($array);
答案 1 :(得分:1)
只需使用array_values
获取数组的值并打破键值关联:
<?php
$tarray = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');
natsort($tarray);
$tarray = array_values($tarray);
?>
所以:
<?php
$tarray = array('IMG0.png', 'img12.png', 'img10.png', 'img2.png', 'img1.png', 'IMG3.png');
print_r($tarray);
natsort($tarray);
$tarray = array_values($tarray);
print_r($tarray);
?>
的产率:
Array
(
[0] => IMG0.png
[1] => img12.png
[2] => img10.png
[3] => img2.png
[4] => img1.png
[5] => IMG3.png
)
Array
(
[0] => IMG0.png
[1] => IMG3.png
[2] => img1.png
[3] => img2.png
[4] => img10.png
[5] => img12.png
)