natcasesort($array) 返回布尔值而不是数组?
在下面的函数中,我看到按 alpha 对数组进行排序。但是,它返回 bool(true) 而不是实际排序的数组。我缺少什么?
function get_dirs($dir) {
$array = array();
$d = dir($dir);
while (false !== ($entry = $d->read())){
if($entry!='.' && $entry!='..') {
$entry2 = $dir."/".$entry;
if(is_dir($entry2)) {
$array[] = $entry;
}
}
}
$d->close();
//return $array; THIS WORKS FINE BUT UNSORTED
return natcasesort($array); //THIS RETURNS A BOOLEAN?
}
In the function below, I'm seeing to sort the array by alpha. However, it returns bool(true) rather than the actual sorted array. What am I missing?
function get_dirs($dir) {
$array = array();
$d = dir($dir);
while (false !== ($entry = $d->read())){
if($entry!='.' && $entry!='..') {
$entry2 = $dir."/".$entry;
if(is_dir($entry2)) {
$array[] = $entry;
}
}
}
$d->close();
//return $array; THIS WORKS FINE BUT UNSORTED
return natcasesort($array); //THIS RETURNS A BOOLEAN?
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
natcasesort
成功时返回 TRUE,失败时返回 FALSE。更改
为
natcasesort
returns TRUE on success or FALSE on failure.Change
to
该函数在成功/失败时返回 TRUE/FALSE。原始变量将被排序。
查看此处的文档:
http://php.net/manual/en/function.natcasesort.php
That function returns TRUE/FALSE on success/failure. The original variable will be sorted.
Check out the documentation here:
http://php.net/manual/en/function.natcasesort.php
是的。正如手册所说:
看一下手册页中的函数签名:
&
符号表示“引用”,因此$array
被修改,而不是返回一个新数组。这与所有 (IIRC) PHP 排序函数相同。您应该进行排序并然后返回
$array
:Yes. As the manual says:
Have a look at the function signature in the manual page:
The
&
sign means "reference", so$array
is modified, rather than a new array being returned. This is the same as all (IIRC) PHP sorting functions.You should do the sort and then return
$array
:natcasesort 对数组进行排序,成功时返回 true,失败时返回 false。通过对数组进行排序然后返回来解决它。
natcasesort sorts the array and returns true on success and false if it fails. Solve it by sorting the array and then returning it.