http://www.php.net/manual/ja/function.usort.php
http://www.php.net/manual/ja/function.uasort.php
http://www.php.net/manual/ja/function.uksort.php
それぞれ、戻り値(数値)の昇順にソートされます。
<?php $origin = $array = [ 'x' => 'XXXX', 'xxx' => 'XX', 'xx' => 'XXX', 'xxxx' => 'X', ]; // $arrayを、文字数の少ない値順でソートする。キーは0から振り直される usort($array, function ($x, $y) { return strlen($x) - strlen($y); }); print_r($array); /* Array ( [0] => X [1] => XX [2] => XXX [3] => XXXX ) */ // $arrayを元に戻す $array = $origin; // $arrayを、文字数の少ない値順でソートする。キーは維持される uasort($array, function ($x, $y) { return strlen($x) - strlen($y); }); print_r($array); /* Array ( [xxxx] => X [xxx] => XX [xx] => XXX [x] => XXXX ) */ // $arrayを、文字数の少ないキー順でソートする uksort($array, function ($x, $y) { return strlen($x) - strlen($y); }); print_r($array); /* Array ( [x] => XXXX [xx] => XXX [xxx] => XX [xxxx] => X ) */
No comments:
Post a Comment