- var_dump: documentation ( source)
- array_count_values: documentation ( source)
- usort: documentation ( source)
<?php
$array = [
'foo',
'foo',
'bar',
'foo',
'bar',
'foo',
'foo',
'bar'
];
$values = array_count_values($array);
usort($array, function($a, $b) use ($values) {return $values[$b]-$values[$a];} );
var_dump($array);