为什么在返回上下文中使用kso​​rt()会失败,但其他标准函数会起作用

时间:2014-09-18 01:55:41

标签: php arrays ksort

在返回上下文中使用PHP的ksort()函数时,

function test() {
    $items = array(
        126 => 'apple',
        41 => 'pear',
        80 => 'mango'
    );

    return ksort($items);
}

$result = test();
var_dump($result); // bool(true)

当var_dumped时,我得到的结果是bool(true)

另一方面,当使用PHP文档中使用的ksort时,它可以正常工作。

function test() {
    $items = array(
        126 => 'apple',
        41 => 'pear',
        80 => 'mango'
    );

    ksort($items)
    return $items;
}

$result = test();
var_dump($result); // properly ordered array

我能够在返回上下文中使用其他PHP函数,所以我的问题是为什么在第一个示例中没有ksort工作,为什么它返回true?

1 个答案:

答案 0 :(得分:2)

因为ksort()更改了原始数组,但返回了一个布尔值。在第二个示例中,您将返回数组,第一个示例只返回ksort()的返回值。

请阅读文档:

http://php.net/manual/en/function.ksort.php