gpt4 book ai didi

php - 为什么 natsort(或 natcasesort)不在这里工作?

转载 作者:搜寻专家 更新时间:2023-10-31 20:55:15 25 4
gpt4 key购买 nike

也许我做错了什么,但为什么这个数组没有被排序?

$narray=array();

$dir_handle = @opendir($path.$projectFolder) or die("Unable to open $path$projectFolder");

$i=0;

while($file = readdir($dir_handle)) {

$filenameSplit = explode('.',$file);

if ($file != "." && $file != ".." && $filenameSplit[0] != "logo" && $filenameSplit[1] != "zip" && $filenameSplit[1] != "pdf" && $filenameSplit[1] != "doc" && $filenameSplit[1] != "psd" && $filenameSplit[1] != "") {

$narray[$i]=$file;

$i++;
}

}

natcasesort($narray);

我得到的结果似乎与我根本不尝试对数组排序时得到的结果相同。 sort() 有效,但似乎没有别的。

感谢您的帮助!


更新:

以下是示例结果:

没有排序:

03_piper_file-manager_02.jpg
05_piper_login-page_02.jpg
02_piper_file-manager_no-slides_01.jpg
04_piper_file-manager_02.jpg
01_piper_file-manager_no-slides_01.jpg

使用 sort():

01_piper_file-manager_no-slides_01.jpg
02_piper_file-manager_no-slides_01.jpg
03_piper_file-manager_02.jpg
04_piper_file-manager_02.jpg
05_piper_login-page_02.jpg

使用 natsort()natcasesort():

03_piper_file-manager_02.jpg
05_piper_login-page_02.jpg
02_piper_file-manager_no-slides_01.jpg
04_piper_file-manager_02.jpg
01_piper_file-manager_no-slides_01.jpg

我希望 natsort 的结果至少看起来像 sort 的结果。

最佳答案

natcasesort 维护键/值关系,因此如果您使用索引遍历数组,您将看到此行为。

natcasesort 之后尝试 print_r($narray)。您可以使用 foreach 迭代数组。

foreach ($narray as $elem)
{
/* operate on $elem */
}

关于php - 为什么 natsort(或 natcasesort)不在这里工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3398773/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com