任何人都可以解释,为什么我的排序不能正常工作?

时间:2015-08-21 15:08:24

标签: php sorting usort

我想使用usort()函数按照值的长度对数组进行排序。 这是我的功能:

$max_min_length = function ($a, $b) {

if (strlen($a) > strlen(b))
    return 1;
elseif (strlen($a) < strlen(b))
    return -1;
else
    return 0;
};

$array = ["abcd","abc","de","hjjj","g","wer"];
usort($array, $max_min_length);
print_r($array);

输出结果为:

Array ( [0] => g [1] => abcd [2] => abc [3] => hjjj [4] => de [5] => wer )

我无法理解,为什么它没有正确排序。我错过了什么吗? 我看了PHP: Sort an array by the length of its values?,他们的解决方案工作正常。我只想知道,为什么会这样? 提前谢谢。

1 个答案:

答案 0 :(得分:4)

你有&#34; b&#34;没有&#34; $&#34;

用以下代码替换代码:

sourceCompatibility

之后,您的代码将正常工作:)