PHPプログラムに関する各種メモ書き

phpで配列を文字数の多い順にソート(並び替え)する

phpで配列を文字数の多い順にソート(並び替え)するには以下のようにします。

● 普通の配列の場合は usort() を使用します

usort($output_array, create_function('$b,$a', 'return mb_strlen($a, "UTF-8") - mb_strlen($b, "UTF-8");'));

● 連想配列の場合は uasort() を使用します

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

関連エントリー

No.1179
12/03 16:12

edit

配列
ソート