我尝试了sort
,Ksort
,multiSort
,没有任何效果,我也不确定原因。我可以使用print_r
并看到它是数组,但它不会排序只是一直给出错误。我认为这是因为价值是floats
,但我可能错了。
这是一个使用print_r函数显示数组的页面:
这是我的代码:
<?php
$uploads = wp_upload_dir(); //Path to my gallery uploads folder
if ($dir = opendir($uploads['basedir'].'/gallery-2')) {
$images = array();
while (false !== ($file = readdir($dir))) {
if ($file != "." && $file != "..") {
$images[] = $file;
}
}
closedir($dir);
}
$images = ksort($images); /* not working */
// echo '<pre>';
// echo print_r($images);
// echo '</pre>';
foreach($images as $image) {
echo '<figure><img src="';
echo $uploads['baseurl'].'/gallery-2/'. $image;
echo '" alt="" /></li>';
echo '<figcaption>';
echo '<p>' . erq_shortcode() . '</p>';
echo '</figcaption>';
echo '</figure>';
}
?>
答案 0 :(得分:3)
尝试使用natsort($images)
(不知道您想要的结果)。它应该对数组进行排序:
1.png
2.png
...
9.png
10.png
...
20.png
分配将不起作用,因为sort-funcs返回一个bool ...排序是在给定数组内直接完成的。
答案 1 :(得分:-1)
$images=glob("/path/*.{jpg,png,gif}");
ksort($images);
foreach($images as $image)
{
...
... do something with basename($image);
...
}