Use usort and costum sort function:
$array = array("a", "bc", "bb", "aa", "cc", "bb");
function sortByValueLength($a, $b)
{
$aLength = mb_strlen($a, 'utf-8');
$bLength = mb_strlen($b, 'utf-8');
if ($aLength == $bLength) {
return strcmp($a, $b);
}
return $aLength - $bLength;
}
usort($array, 'sortByValueLength');
var_export($array);
Result here
source
share