Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么在返回上下文中使用ksort()会失败,而其他标准函数可以工作_Php_Arrays_Ksort - Fatal编程技术网

Php 为什么在返回上下文中使用ksort()会失败,而其他标准函数可以工作

Php 为什么在返回上下文中使用ksort()会失败,而其他标准函数可以工作,php,arrays,ksort,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_转储时,我得到的结果是boolt

在这样的返回上下文中使用PHP的ksort函数时

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

    return ksort($items);
}

$result = test();
var_dump($result); // bool(true)
当var_转储时,我得到的结果是booltrue

另一方面,当像在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?

因为ksort更改原始数组,但返回布尔值。在第二个示例中,返回数组,第一个示例仅返回ksort的返回值

请阅读文档:


啊,是的,我只是再次检查了PHP文档,我没有看到它返回布尔值。我认为一个变量必须通过引用传递,这样才能工作。谢谢!