Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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 有人能解释一下,为什么我的排序没有';你不能正常工作吗?_Php_Sorting_Usort - Fatal编程技术网

Php 有人能解释一下,为什么我的排序没有';你不能正常工作吗?

Php 有人能解释一下,为什么我的排序没有';你不能正常工作吗?,php,sorting,usort,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($a

我想使用
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);
我不明白,为什么它排序不正确。我错过什么了吗? 我已经看过了,他们的解决方案效果很好。我只是想知道,为什么会这样? 提前谢谢。

您的“b”拼写错误没有“$”

将代码替换为:

if (strlen($a) > strlen($b))
    return 1;
elseif (strlen($a) < strlen($b))
    return -1;
else
    return 0;
};
if(strlen($a)>strlen($b))
返回1;
埃尔塞伊夫(斯特伦($a)<斯特伦($b))
返回-1;
其他的
返回0;
};
之后,您的代码就可以正常工作了:)

您的“b”拼写错误没有“$”

将代码替换为:

if (strlen($a) > strlen($b))
    return 1;
elseif (strlen($a) < strlen($b))
    return -1;
else
    return 0;
};
if(strlen($a)>strlen($b))
返回1;
埃尔塞伊夫(斯特伦($a)<斯特伦($b))
返回-1;
其他的
返回0;
};


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

错误报告将发出未定义常量b通知。您需要打开“显示错误”和“错误报告”,否则您将被告知您的
b
,未定义常量将被视为字符串。所以strlen('b')总是
1
错误对我来说非常清楚,其他用户已经指出了。当出现这样的错误时,您将显示一个错误。请将您的问题告诉我们您看到的确切错误。在我添加了
错误报告(E_ALL)之后多条
注意…
消息已出现。非常感谢您的回答。:)错误报告将发出未定义常量b通知。您需要打开“显示错误”和“错误报告”,否则会被告知您的
b
,未定义常量将被视为字符串。所以strlen('b')
总是
1
错误对我来说非常清楚,其他用户已经指出了。当出现这样的错误时,您将显示一个错误。请将您的问题告诉我们您看到的确切错误。在我添加了
错误报告(E_ALL)之后多条
注意…
消息已出现。非常感谢您的回答。:)好的ol'PHP可以消除错误,以免让你感觉不好@尼尔:php会很高兴地告诉你这个问题,但是大多数人喜欢用“拉拉听不见你”的手指插入耳朵的方法编码,并且关闭所有的错误报告。是的,有时候打开错误报告是很好的:D…或者OP转过头说“哦,对不起,那是个打字错误;
$
在那里。。。。废话废话废话”太频繁了。我们希望这里不是这样;-)@VladimirGilevichСПааббжжжжжжжбжжжжаажаажжа“用手指插入耳朵的方法,关闭所有错误报告。是的,有时候打开错误报告是很好的:D…或者OP转过身说“哦,对不起,那是个打字错误;
$
在里面……等等等等”。我经常看到这种情况。希望这里不是这样;-)@弗拉基米尔·列维奇(希腊)