0
我有幾百個xhtml文件,我推送到一個數組的名稱。命名約定是p0x.xhtml
,其中x
是1-400。我試圖natsort
陣列,但領先的p
似乎與排序衝突。natsort與主角字符故障PHP
作爲最後的手段,我可以重命名文件,但要儘量避免這種情況。如果有人知道解決方法,我會很感激。
$arr = [
'p010.xhtml',
'p08.xhtml',
'p04.xhtml'
];
print_r($arr);
natsort($arr);
print_r($arr);
產量:
Array
(
[0] => p010.xhtml
[1] => p08.xhtml
[2] => p04.xhtml
)
Array
(
[0] => p010.xhtml
[2] => p04.xhtml
[1] => p08.xhtml
)
和所需的輸出將是:
Array
(
[0] => p010.xhtml
[1] => p08.xhtml
[2] => p04.xhtml
)
Array
(
[2] => p04.xhtml
[1] => p08.xhtml
[0] => p010.xhtml
)
感謝,看起來像'usort'是要走的路這裏。只是試着用'return str_replace('p','',$ b);'但是你的'返回strnatcmp(substr($ a,1),substr($ b,1));'根據需要輸出 – mzmm56