我們今天為大家帶來的是一個函數的原形是array_multisort($sortKeyArray,$ascOrDesc,$sortArray),PHP數組排序函數array_multisort中的第一個參數是為了保持數組鍵值的對應關系需要構建的排序列數組,第二個參數是預定義的常量,SORT_ASC - 按照上升順序排序,SORT_DESC - 按照下降順序排序,第三個參數就是所要被排序的數組。還有一個可缺省的參數是排序的數據類型,這裡略過。看一下下面的例子就會明了。
- <?php
- class Storage
- {
- function getSellList()
- {
- global $db;
- $db->query("set names utf8");
- $db->query("select * from sold_record");
- while ($row=$db->get_array())
- {
- $array[]=$row;
- }
- $db->free();
- return $array;
- }
- }
- $storage=new Storage();
- $sellList=$storage->getSellList();
- foreach ($sellList as $key => $row)
- {
- $cust[$key] = $row['customer_id'];
- $prod[$key] = $row['product'];
- $pty[$key] = $row['ptype'];
- $sdt[$key]=$row['sell_date'];
- }
- $asdes="yes";
- if($_GET[up]=="yes")
- {
- $asdes="no";
- $sort=SORT_DESC;
- }
- elseif($_GET[up]=="no")
- {
- $asdes="yes";
- $sort=SORT_ASC;
- }
- switch ($_GET[order])
- {
- case "cname":
- array_multisort($cust,$sort,$sellList);
- break;
- case "product":
- array_multisort($prod,$sort,$sellList);
- break;
- case "ptype":
- array_multisort($pty,$sort,$sellList);
- break;
- case "date":
- array_multisort($sdt,$sort,$sellList);
- break;
- }
- ?>
上面這段代碼就是PHP數組排序函數array_multisort對表格排序的具體代碼編寫。