$a=array('a'=>'`a:1:`','b'=>'`a:`','c'=>'`a:0:`');
arsort($a);
print_r($a);
我希望输出此代码
Array
(
[a] => `a:1:`
[c] => `a:0:`
[b] => `a:`
)
但实际上是输出
Array
(
[b] => `a:`
[a] => `a:1:`
[c] => `a:0:`
)
你明白为什么反对会搞砸了吗?
答案 0 :(得分:1)
反引号将被视为排序字符。因为一开始都是一个不是isuse但是字符串的长度不同所以在你的情况下考虑最后的反引号。查看示例数据,直到:
所有值相同,所以下一个排序的字符是反引号,1和0,并且那些是反向排序的,这对我来说是正确的。
将上述评论作为答案,因为我认为这是正确的答案。
要扩展它,您可能需要使用trim
来执行uasort以删除反引号然后反向排序。