phpで配列を文字数の多い順にソート(並び替え)するには以下のようにします。
usort($output_array, create_function('$b,$a', 'return mb_strlen($a, "UTF-8") - mb_strlen($b, "UTF-8");'));
uasort($output_array, create_function('$b,$a', 'return mb_strlen($a, "UTF-8") - mb_strlen($b, "UTF-8");'));
例:
$my_array = array(
'あいうえお' ,
'12345789' ,
'長い長い文字列のテストです。' ,
);
print_r($my_array);
usort($my_array, create_function('$b,$a', 'return mb_strlen($a, "UTF-8") - mb_strlen($b, "UTF-8");'));
print_r($my_array);
結果 :
Array
(
[0] => あいうえお
[1] => 12345789
[2] => 長い長い文字列のテストです。
)
Array
(
[0] => 長い長い文字列のテストです。
[1] => 12345789
[2] => あいうえお
)
引用元 : https://goo.gl/uhhq1Z