麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

php專用數組排序類ArraySortUtil用法實例

2020-03-22 20:30:43
字體:
來源:轉載
供稿:網友
本文實例講述了php專用數組排序類ArraySortUtil用法。分享給大家供大家參考。具體如下: * ArraySortUtil is a array sort utility, you can extends the sorting engine. * @version 0.1 * @package utility.sorthtml' target='_blank'>class ArraySortUtil static function uasort($unsort, $fields) if ( !is_array($unsort) || sizeof($unsort) = 0 ) return $unsort; $sorted = uasortEngine::uasort($unsort, $fields); return $sorted; static function multisort($unsort, $fields) if ( !is_array($unsort) || sizeof($unsort) = 0 ) return $unsort; $sorted = multisortEngine::multisort($unsort, $fields); return $sorted;class multisortEngine static function multisort($unsort, $fields) $sorted = $unsort; if (is_array($unsort)) $loadFields = array(); foreach($fields as $sortfield) $loadFields["field"][] = array( "name" = $sortfield["field"], "order" = $sortfield["order"], "nature" = $sortfield["nature"], "caseSensitve" = $sortfield["caseSensitve"] $loadFields["data"][$field["field"]] = array(); // Obtain a list of columns foreach ($sorted as $key = $row) { foreach($loadFields["field"] as $field) { $value = $row[$field["name"]]; $loadFields["data"][$field["name"]][$key] = $value; $parameters = array(); foreach($loadFields["field"] as $sortfield) { $array_data = $loadFields["data"][$sortfield["name"]]; $caseSensitve = ( $sortfield["caseSensitve"] == null ) $sortfield["caseSensitve"] : false; if (!$caseSensitve) $array_data = array_map('strtolower', $array_data); $parameters[] = $array_data; if ( $sortfield["order"] != null ) $parameters[] = ( $sortfield["order"] ) SORT_DESC : SORT_ASC; if ( $sortfield["nature"] != null ) $parameters[] = ( $sortfield["nature"] ) SORT_REGULAR : SORT_STRING; $parameters[] = &$sorted; call_user_func_array("array_multisort", $parameters); return $sorted;class uasortEngine static private $caseSensitve = false; static private $sortfields = array(); static private $sortorder = true; static private $nature = false; static private function uasort_callback(&$a, &$b) foreach(self::$sortfields as $sortfield) $_field = $sortfield["field"]; $_order = isset($sortfield["order"]) $sortfield["order"] : self::$sortorder; $_caseSensitve = isset($sortfield["caseSensitve"]) $sortfield["caseSensitve"] : self::$caseSensitve; $_nature = isset($sortfield["nature"]) $sortfield["nature"] : self::$nature; if ($_field != "") $retval = 0; if ($_nature) if ($_caseSensitve) $compare = strnatcmp($a[$_field], $b[$_field]); else $compare = strnatcasecmp($a[$_field], $b[$_field]); else if ($_caseSensitve) $compare = strcmp($a[$_field], $b[$_field]); else $compare = strcasecmp($a[$_field], $b[$_field]); if ($compare !== 0 && !$_order) $compare = ($compare 0) -1 : 1; if ($compare !== 0) break; return $compare; static function uasort($unsort, $fields) self::$sortfields = $fields; $sorted = $unsort; uasort($sorted, array('uasortEngine', 'uasort_callback')); return $sorted;}使用范例如下:require_once('class.ArraySortUtil.php');// declare test data$assetData[] = array("id" = 1, "category"= "Hardware", "subcategory"= "Personal Computer", "supplier" = "DELL", "particular"= "Vostro 1320", "purchase_price"= 2300, "other_charges"= 500);$assetData[] = array("id" = 2, "category"= "Hardware", "subcategory"= "Personal Computer", "supplier" = "DELL", "particular"= "Vostro 1420", "purchase_price"= 2500, "other_charges"= $assetData[] = array("id" = 3, "category"= "Hardware", "subcategory"= "Laptop", "supplier" = "DELL", "particular"= "Vostro 1520", "purchase_price"= 4500, "other_charges"= 100);$assetData[] = array("id" = 4, "category"= "Hardware", "subcategory"= "Laptop", "supplier" = "Acer", "particular"= "Apire One", "purchase_price"= 2500, "other_charges"= 200);$assetData[] = array("id" = 5, "category"= "Furniture", "subcategory"= "Table", "supplier" = "CHEN", "particular"= "Manager Table", "purchase_price"= 1000, "other_charges"= $assetData[] = array("id" = 6, "category"= "Furniture", "subcategory"= "Table", "supplier" = "CHEN", "particular"= "Staff Table", "purchase_price"= 500, "other_charges"= $assetData[] = array("id" = 7, "category"= "Furniture", "subcategory"= "Chair", "supplier" = "CHEN", "particular"= "Staff Chair", "purchase_price"= 500, "other_charges"= $sorted = ArraySortUtil::multisort($assetData, array( array("field"= "category"), array("field"= "subcategory", "order" = true) // descecho " h1 multisort:result /h1 echo " pre print_r($sorted);echo " /pre $sorted = ArraySortUtil::uasort($assetData, array( array("field"= "category"), array("field"= "subcategory", "order" = true) // descecho " h1 uasort:result /h1 echo " pre print_r($sorted);echo " /pre 希望本文所述對大家的php程序設計有所幫助。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产91免费看 | 国产超碰人人爽人人做人人爱 | 久久6国产 | 欧美人与性禽动交精品 | 欧美交在线 | 国产午夜亚洲精品午夜鲁丝片 | 国产精品18久久久久久久久 | 在线观看免费污视频 | 国产毛片毛片 | 国产亚洲精品久久午夜玫瑰园 | aa久久| 亚洲一区二区在线 | 成人免费毛片在线观看 | 九九黄色影院 | 99精品视频久久精品视频 | 亚洲白嫩在线观看 | 国产精品亚洲一区二区三区在线观看 | 亚洲九色 | 中文字幕爱爱视频 | 亚洲午夜不卡 | 亚洲经典视频 | 国产精品久久久久av | 91精品国产九九九久久久亚洲 | 欧美精品99| 久久一区二区三区av | 成人综合免费视频 | 国产美女精品视频 | 成人免费观看毛片 | 久久精品一区二区三区四区五区 | 亚洲一区国产二区 | 91精品国产91久久久久久吃药 | 精品国产成人 | 久久金品| 精品无码一区在线观看 | 在线日韩亚洲 | 粉嫩av一区二区三区四区在线观看 | 久久一级| 久久综合精品视频 | 一本色道久久99精品综合蜜臀 | 久久久久久久.comav | 姑娘第四集免费看视频 |