通过频繁的字母重复排序数组

时间:2017-11-11 23:01:45

标签: php arrays sorting

我在考虑什么是在一个元素中按相同字母数对数组进行排序的最佳方法。例如,我有一个包含这些元素的数组:

barorry [which has 3 r letters]
nathan [which has 2 a letters]
ananas [which has 3 a letters]

然后按照从最高到最低的顺序对这些元素进行排序

barorry [which has 3 r letters]
ananas [which has 3 a letters]
nathan [which has 2 a letters]

我在最后一小时一直在考虑这个问题,但我仍然无法理解它。

1 个答案:

答案 0 :(得分:0)

$myArray = ['barorry ', 'nathan', 'ananas '];
$tempArr = [];

foreach($myArray as $key => $s)
   $tempArr[$key] = max(count_chars($s));
arsort($tempArr);

foreach($tempArr as $key => $value)
    $res[] = $myArray[$key];

    print_r($res); // Array ( [0] => barorry [1] => ananas [2] => nathan )

这可以解决您在问题中提出的问题。我试着让它变得非常简单。         如果有两个词,更好的解决方案是进行更深入的比较             相同数量的字符。