PHP實現(xiàn)二維數(shù)組按指定的鍵名排序的方法示例
本文實例講述了PHP實現(xiàn)二維數(shù)組按指定的鍵名排序的方法。分享給大家供大家參考,具體如下:
<?php
/*二維數(shù)組按指定的鍵值排序*/
function array_sort($array,$keys,$type='asc'){
if(!isset($array) || !is_array($array) || empty($array)){
return '';
}
//排序字段名,如:id
if(!isset($keys) || trim($keys)==''){
return '';
}
//排序方式,如:desc、asc
if(!isset($type) || $type=='' || !in_array(strtolower($type),array('asc','desc'))){
return '';
}
//定義一個數(shù)組
$keysvalue=array();
foreach($array as $key=>$val){
//對排序字段值進行過濾
$val[$keys] = str_replace('-','',$val[$keys]);
$val[$keys] = str_replace(' ','',$val[$keys]);
$val[$keys] = str_replace(':','',$val[$keys]);
//將記錄中指定的鍵名放入數(shù)組中,如:[0]=>5,[1]=>3,[2]=>6
$keysvalue[] =$val[$keys];//排序字段,如:id 索引=》排序鍵名
}
asort($keysvalue); //按值升序排序,且保持鍵名與鍵值之間的索引關(guān)系,如:[1]=>3,[0]=>5,[2]=>6
reset($keysvalue); //指針重新指向數(shù)組第一個
foreach($keysvalue as $key=>$vals) {
$keysort[] = $key;//0=>[1],1=>[0],2=>[2]
}
$keysvalue = array();
$count=count($keysort);//排序記錄數(shù)
if(strtolower($type) != 'asc'){//降序
for($i=$count-1; $i>=0; $i--) {
$keysvalue[] = $array[$keysort[$i]];
}
}else{//升序
for($i=0; $i<$count; $i++){
$keysvalue[] = $array[$keysort[$i]];
}
}
return $keysvalue;
}
$array=array(
array('name'=>'Tom','age'=>'23','like'=>'beer'),
array('name'=>'Trump','age'=>'50','like'=>'Food'),
array('name'=>'Jack','age'=>'26','like'=>'Travel')
);
print_r(array_sort($array,'age'));
?>
運行結(jié)果:
Array
(
[0] => Array
(
[name] => Tom
[age] => 23
[like] => beer
)
[1] => Array
(
[name] => Jack
[age] => 26
[like] => Travel
)
[2] => Array
(
[name] => Trump
[age] => 50
[like] => Food
)
)
PS:這里再為大家推薦2款比較實用的相關(guān)在線排序工具供大家參考使用:
在線中英文根據(jù)首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu
在線文本倒序翻轉(zhuǎn)排序工具:
http://tools.jb51.net/aideddesign/flipped_txt
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php排序算法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯誤與異常處理方法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP utf-8編碼問題,utf8編碼,數(shù)據(jù)庫亂碼,頁面顯示輸出亂碼
老聲長談,著是困惑很多人的問題,如果處理不好,都是亂碼,說這些話并不是我對編碼很精通,只是在這方面是得留神,自己總結(jié)了一點小經(jīng)驗2013-04-04
PHP圖像處理之使用imagecolorallocate()函數(shù)設(shè)置顏色例子
這篇文章主要介紹了PHP圖像處理之使用imagecolorallocate()函數(shù)設(shè)置顏色例子,本文給出了十進制和十六進制2種設(shè)置顏色的方法,需要的朋友可以參考下2014-11-11
php數(shù)據(jù)結(jié)構(gòu)與算法(PHP描述) 查找與二分法查找
php數(shù)據(jù)結(jié)構(gòu)與算法(PHP描述) 查找與二分法查找,需要的朋友可以參考下2012-06-06

