我正在尝试让我的图像幻灯片按编号顺序显示,如下所示:
$image=array();
$img_folder = $params->get('path');
mt_srand((double)microtime()*1000);
if(is_dir($img_folder)){
krsort($file);
$imgs = dir($img_folder);
while ($file = $imgs->read()) {
if ((eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file)))
$image[] = "$file";
} closedir($imgs->handle);
print_r($image);
return $image;
}
但是,数组有效,但顺序已关闭:
数组 ( [0] => 幻灯片1.png [1] => 幻灯片10.png [2] => 幻灯片11.png [3] => 幻灯片12.png [4] => 幻灯片13.png [5] => 幻灯片14.png [6] => 幻灯片15.png [7] => 幻灯片16.png [8] => 幻灯片17.png [9] => 幻灯片18.png [10] => 幻灯片19.png [11] => 幻灯片2.png [12] => 幻灯片20 .png [13] => 幻灯片21.png [14] => 幻灯片22.png [15] => 幻灯片23.png [16] => 幻灯片24.png [17] => 幻灯片25.png [18] => 幻灯片26.png [19] => 幻灯片27.png [20] => 幻灯片28.png [21] => 幻灯片29.png [22] => 幻灯片3.png [23] => 幻灯片30.png [24] => 幻灯片31.png[25
] => 幻灯片4.png [26] => 幻灯片5.png [27] => 幻灯片6.png [28] => 幻灯片7.png [29] => 幻灯片8.png [30] => 幻灯片9.png )如果我在$image[] = "$file";
之后放natsort($image);
,顺序是正确的,但数组是关闭的:
幻灯片25.png [18] =>幻灯片26.png [19] => 幻灯片27.png [20] => 幻灯片28.png [21] => 幻灯片29.png [23] => 幻灯片30.png [24] => 幻灯片31.png )我需要他们订购幻灯片 1 - 幻灯片 30,不像上面列出的那样。 我可以将名称从数字(幻灯片 1)更改为字母 (幻灯片A),但希望保留此命名约定。 有没有办法在不更改图像名称的情况下执行此操作?
此图像幻灯片是"操作方法"幻灯片放映。
NatSort就是你要找的。
只需使用natsort($image);
您可以在以下位置参考它:
http://php.net/manual/es/function.natsort.php
我不知道
natsort()
,这也应该这样做。
$imgs = scandir(dir($img_folder));
$sorted = array();
foreach($imgs as $img){
$index = intval(trim($img, "Slide.png"));
$sorted[$index] = $img;
}
ksort($sorted);
$sorted = array_values($sorted);
你可以使用 natsort() 函数
纳特排序
例如
$array1 = array("img12.png", "img10.png", "img2.png", "img1.png");
natsort($array);
print_r($array);
这样你就会得到输出是:
Array ( [3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png )
您也可以使用 natcasesort($image)。它使用不区分大小写的"自然顺序"算法对数组进行排序。
这起到了作用!!
刚过之后
$image[] = "$file";
我添加了
sort($image, SORT_NATURAL | SORT_FLAG_CASE);
这将正确排序数组中的图像和顺序:
数组 ( [0] => 幻灯片1.png [1] => 幻灯片2.png [2] => 幻灯片3.png [3] => 幻灯片4.png [4] => 幻灯片5.png [5] => 幻灯片6.png [6] => 幻灯片7.png [7] => 幻灯片8.png [8] => 幻灯片9.png [9] => 幻灯片10.png [10] => 幻灯片11.png [11] => 幻灯片12.png [12] => 幻灯片13.png [13] => 幻灯片14.png [14] => 幻灯片15.png [15] => 幻灯片16.png [16] => 幻灯片17.png [17] => 幻灯片18.png [18] => 幻灯片19.png [19] => 幻灯片20.png [20] => 幻灯片21.png [21] => 幻灯片22.png [22] => 幻灯片23.png [23] => 幻灯片24.png [24] => 幻灯片25.png [25] =>幻灯片26.png [26