php usort 並べ替え問題
echo '
';<br>function my_sort($a, $b)<br> {<br> <br> if ($a == $b) return 0;<br>var_dump($a);var_dump($b);echo '<br />';<br> return ($a > $b) ? -1 : 1;<br> }<br> <br>$arr = array("ピーター", "グレン","クリーブランド","ピーター","クリーブランド", "グレン");<br><br>usort($arr, "my_sort");<br><br>print_r ($arr);<br> <br>1. $a と $b が両方とも文字であることが理解できないので、($a > $b) を比較します。 , <br>2.$a $b より大きい文字は何を表しているのか分かりません。<br><br><font color="#e78608">-----解決策------ -------------</font><br>例: バブルソート</p> <dl class="code">PHP コード<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false"> for($i=0; $i<count for if> $ar[$j]) { スワップ($ar[$i], $ar[$j]); } } } <br><font color="#e78608">------解決策------------------</font><br> <dl class="code">PHP コード<pre class="brush:php;toolbar:false"> $arr = 配列( "ピーター"=>array('a0'=>'a','a1'=>'3'), "グレン"=>array('b0'=>a','b1'=>1'), "クリーブランド"=>array('c0'=>a','c1'=>2') ); 関数 my_sort($a, $b) { return strcasecmp(end($a), end($b)); } uasort($arr, "my_sort"); print_r ($arr); <div class="clear"></div>