PHP實(shí)現(xiàn)的自定義數(shù)組排序函數(shù)與排序類示例
本文實(shí)例講述了PHP實(shí)現(xiàn)的自定義數(shù)組排序函數(shù)與排序類。分享給大家供大家參考,具體如下:
/*
* 二維數(shù)組自定義排序函數(shù)
* uasort($arr,function_name)
*
**/
$arr = array(
array('a'=>1,'b'=>'c'),
array('a'=>4,'b'=>'a'),
array('a'=>5,'b'=>'g'),
array('a'=>7,'b'=>'f'),
array('a'=>6,'b'=>'e')
);
function compare_arr($x,$y){
if($x['b']<$y['b']){
return -1;
}else if($x['b']>$y['b']){
return 1;
}else{
return 0;
}
}
uasort($arr,'compare_arr');
foreach($arr as $a){
echo $a['a'].'=>'.$a['b'].'<br/>';
}
手冊(cè)里的自定義排序類:
class multiSort
{
var $key; //key in your array
//排序函數(shù) 參數(shù)依次是 數(shù)組 待排列索引 排序類型
function run ($myarray, $key_to_sort, $type_of_sort = '')
{
$this->key = $key_to_sort;
if ($type_of_sort == 'desc')
uasort($myarray, array($this, 'myreverse_compare'));
else
uasort($myarray, array($this, 'mycompare'));
return $myarray;
}
//正序
function mycompare($x, $y)
{
if ( $x[$this->key] == $y[$this->key] )
return 0;
else if ( $x[$this->key] < $y[$this->key] )
return -1;
else
return 1;
}
//逆序
function myreverse_compare($x, $y)
{
if ( $x[$this->key] == $y[$this->key] )
return 0;
else if ( $x[$this->key] > $y[$this->key] )
return -1;
else
return 1;
}
}
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《php排序算法總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP針對(duì)XML文件操作技巧總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《PHP基本語(yǔ)法入門(mén)教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
php格式輸出文件var_export函數(shù)實(shí)例
這篇文章主要介紹了php格式輸出文件var_export函數(shù),以實(shí)例形式講述了格式輸出函數(shù)var_export的特性與具體用法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-11-11
php下一個(gè)阿拉伯?dāng)?shù)字轉(zhuǎn)中文數(shù)字的函數(shù)
php下一個(gè)阿拉伯?dāng)?shù)字轉(zhuǎn)中文數(shù)字的函數(shù)...2007-07-07
PHP終止腳本運(yùn)行三種實(shí)現(xiàn)方法詳解
這篇文章主要介紹了PHP終止腳本運(yùn)行三種實(shí)現(xiàn)方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
php5.3不能連接mssql數(shù)據(jù)庫(kù)的解決方法
這篇文章主要介紹了php5.3不能連接mssql數(shù)據(jù)庫(kù)的解決方法,針對(duì)php5.3之后不支持mssql_connect函數(shù)提供了對(duì)應(yīng)的解決方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
php 使用file_get_contents讀取大文件的方法
本文介紹了在php中使用file_get_contents函數(shù)讀取大文件的方法,并附上了示例以及使用小技巧,非常的實(shí)用,這里推薦給大家2014-11-11
PHP中的str_repeat函數(shù)在JavaScript中的實(shí)現(xiàn)
PHP中有一個(gè)函數(shù):String str_repeat($str, num);挺好用的,在 本文為大家介紹下次函數(shù)在js中的實(shí)現(xiàn),感興趣的朋友可以參考下2013-09-09
PHP獲取數(shù)組表示的路徑方法分析【數(shù)組轉(zhuǎn)字符串】
這篇文章主要介紹了PHP獲取數(shù)組表示的路徑,結(jié)合實(shí)例形式對(duì)比分析了數(shù)組轉(zhuǎn)字符串的實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09

