<?php
//PHP_I love U之(1)php衣食父母:使用usort()函數爲二維數組排序
//PHP語言中使用usort()函數 爲 二維數組排序:
// [][]== a[][1]= 長度; a[][2] = views點擊數
$AAlong=10; //變量$AAlong 定義數組長度
//for ($i=0;$i<$AAlong;++$i) //多維數組擴展時使用…
//{
for($j=0;$j<$AAlong;++$j) //for j22 //這段給數組(用隨機數)賦值
{
$AA[$j][0]=$j;
$AA[$j][1]=rand(10,40);
$AA[$j][2]=rand(0,112);
}//for j22
//}//for11
//先顯示一遍數組(原)值
for($j=0;$j<$AAlong;++$j) //for j22
{
echo "編號".$AA[$j][0].",長度".$AA[$j][1];
echo ",它的點擊數".$AA[$j][2];
echo "\r\n";
}//for j22
//用usort( 數組變量, 排序函數() ); 的方式排序!
usort($AA, function($a, $b) {
$al = ($a[2]); //不加括號當然可以, 加括號表示這裏可以是表達式子,或函數等…
$bl = $b[2];
if ($al == $bl)
return 0;
return ($al > $bl) ? -1 : 1; //這樣就是正序(排序) 了 , 倒序呢?這樣寫: //return ($al<$bl) ? -1 :1 ; //就是倒序咯!!
});
echo "\r\n再顯示排序後的:\n";
for($j=0;$j<$AAlong;++$j) //for j23
{
echo "第".$j."個:編號".$AA[$j][0].",長度".$AA[$j][1];
echo ",它的點擊數".$AA[$j][2];
echo "\r\n";
}//for j23
echo "ok success. I like php & usort()!";
// usort() 函數真是強大; //也感謝 php 語言, 它保障了無數象我這樣的碼農... 讓我們一家老小有飯吃!! :)
//有朋友說,你忘記 寫 ?>” 來結束php封閉語言,俺是從Drupal養成的習慣 寫 "?>" 會出錯, 既然 不寫 "?>"不會出錯, 那我們就…必須寫的時候再寫“?>”吧!!