开发者社区> 问答> 正文

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

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

有人对如何执行此操作有任何想法吗? 问题来源于stack overflow

展开
收起
保持可爱mmm 2020-02-09 14:10:49 567 0
1 条回答
写回答
取消 提交回答
  • 使用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

    2020-02-09 14:11:00
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP安全开发:从白帽角度做安全 立即下载
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载