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ǔ)法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
PHP實(shí)現(xiàn)將優(yōu)酷土豆騰訊視頻html地址轉(zhuǎn)換成flash swf地址的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)將優(yōu)酷土豆騰訊視頻html地址轉(zhuǎn)換成flash swf地址的方法,涉及php根據(jù)各個(gè)網(wǎng)站的網(wǎng)址規(guī)則針對(duì)URL地址的正則匹配與轉(zhuǎn)換相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
php將字符串隨機(jī)分割成不同長(zhǎng)度數(shù)組的方法
這篇文章主要介紹了php將字符串隨機(jī)分割成不同長(zhǎng)度數(shù)組的方法,涉及隨機(jī)數(shù)及字符串操作的相關(guān)技巧,需要的朋友可以參考下2015-06-06
php使用PDO操作MySQL數(shù)據(jù)庫(kù)實(shí)例
這篇文章主要介紹了php使用PDO操作MySQL數(shù)據(jù)庫(kù),實(shí)例分析了PDO的開啟與針對(duì)MySQL數(shù)據(jù)庫(kù)的增刪改查等基本操作方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12
php curl發(fā)送請(qǐng)求實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于php curl發(fā)送請(qǐng)求詳細(xì)教程以及相關(guān)知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。2019-08-08
PHP持久連接mysql_pconnect()函數(shù)使用介紹
mysql_pconnect()函數(shù)可以大大的提高M(jìn)YSQL效率,不過,此連接不自動(dòng)關(guān)閉,也會(huì)造成一些問題,請(qǐng)注意將不用的連接即時(shí)關(guān)閉,以避免不必要的錯(cuò)誤發(fā)生2012-02-02
php中count獲取多維數(shù)組長(zhǎng)度的方法
這篇文章主要介紹了php中count獲取多維數(shù)組長(zhǎng)度的方法,實(shí)例分析了數(shù)組的原理并總結(jié)了數(shù)組長(zhǎng)度計(jì)算的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-11-11

