PHP:按值的长度对数组排序?

我做了一个字谜游戏机,并且有一系列正面匹配。麻烦的是它们都以不同的顺序排列,我希望能够对数组进行排序,以使最长的数组值首先出现。

有人对如何执行此操作有任何想法吗?

回答:

使用http://us2.php.net/manual/en/function.usort.php

使用此自定义功能

function sort($a,$b){

return strlen($b)-strlen($a);

}

usort($array,'sort');

如果要保留旧索引,请使用uasort;如果您不关心,请使用usort。

另外,我认为我的版本更好,因为usort是一种不稳定的排序。

$array = array("bbbbb", "dog", "cat", "aaa", "aaaa");

// mine

[0] => bbbbb

[1] => aaaa

[2] => aaa

[3] => cat

[4] => dog

// others

[0] => bbbbb

[1] => aaaa

[2] => dog

[3] => aaa

[4] => cat

以上是 PHP:按值的长度对数组排序? 的全部内容, 来源链接: utcz.com/qa/414328.html

回到顶部