PHP_I love U之(1)php衣食父母:使用usort()函數爲二維數組排序

<?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養成的習慣 寫 "?>" 會出錯, 既然 不寫 "?>"不會出錯, 那我們就…必須寫的時候再寫“?>”吧!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章