natcasesort($array) 返回布尔值而不是数组?

发布于 2024-12-17 19:40:17 字数 533 浏览 0 评论 0原文

在下面的函数中,我看到按 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

夜未央樱花落 2024-12-24 19:40:17

natcasesort 成功时返回 TRUE,失败时返回 FALSE。

更改

return natcasesort($array);

natcasesort($array);
return $array;

natcasesort returns TRUE on success or FALSE on failure.

Change

return natcasesort($array);

to

natcasesort($array);
return $array;
酒解孤独 2024-12-24 19:40:17

该函数在成功/失败时返回 TRUE/FALSE。原始变量将被排序。

$d->close();
if(natcasesort($array)) return $array;
else return false;

查看此处的文档:
http://php.net/manual/en/function.natcasesort.php

That function returns TRUE/FALSE on success/failure. The original variable will be sorted.

$d->close();
if(natcasesort($array)) return $array;
else return false;

Check out the documentation here:
http://php.net/manual/en/function.natcasesort.php

仲春光 2024-12-24 19:40:17

是的。正如手册所说:

成功时返回 TRUE,失败时返回 FALSE。

看一下手册页中的函数签名:

bool natcasesort(数组&$array)

& 符号表示“引用”,因此 $array 被修改,而不是返回一个新数组。这与所有 (IIRC) PHP 排序函数相同。

您应该进行排序并然后返回$array

natcasesort($array);
return $array;

Yes. As the manual says:

Returns TRUE on success or FALSE on failure.

Have a look at the function signature in the manual page:

bool natcasesort ( array &$array )

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($array);
return $array;
温柔戏命师 2024-12-24 19:40:17

natcasesort 对数组进行排序,成功时返回 true,失败时返回 false。通过对数组进行排序然后返回来解决它。

natcasesort($array);
return $array;

natcasesort sorts the array and returns true on success and false if it fails. Solve it by sorting the array and then returning it.

natcasesort($array);
return $array;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文