PHP實(shí)現(xiàn)二維數(shù)組按指定的鍵名排序的方法示例
本文實(shí)例講述了PHP實(shí)現(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 '';
}
//定義一個(gè)數(shù)組
$keysvalue=array();
foreach($array as $key=>$val){
//對(duì)排序字段值進(jìn)行過濾
$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ù)組第一個(gè)
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'));
?>
運(yùn)行結(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款比較實(shí)用的相關(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錯(cuò)誤與異常處理方法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- php對(duì)二維數(shù)組按指定鍵值key排序示例代碼
- php數(shù)組實(shí)現(xiàn)根據(jù)某個(gè)鍵值將相同鍵值合并生成新二維數(shù)組的方法
- PHP二維數(shù)組實(shí)現(xiàn)去除重復(fù)項(xiàng)的方法【保留各個(gè)鍵值】
- PHP按指定鍵值對(duì)二維數(shù)組進(jìn)行排序的方法
- php二維數(shù)組按某個(gè)鍵值排序的實(shí)例講解
- php自定義排序uasort函數(shù)示例【二維數(shù)組按指定鍵值排序】
- php二維數(shù)組用鍵名分組相加實(shí)例函數(shù)
- 詳解PHP 二維數(shù)組排序保持鍵名不變
- PHP實(shí)現(xiàn)通過二維數(shù)組鍵值獲取一維鍵名操作示例
相關(guān)文章
PHP utf-8編碼問題,utf8編碼,數(shù)據(jù)庫亂碼,頁面顯示輸出亂碼
老聲長談,著是困惑很多人的問題,如果處理不好,都是亂碼,說這些話并不是我對(duì)編碼很精通,只是在這方面是得留神,自己總結(jié)了一點(diǎn)小經(jīng)驗(yàn)2013-04-04
PHP圖像處理之使用imagecolorallocate()函數(shù)設(shè)置顏色例子
這篇文章主要介紹了PHP圖像處理之使用imagecolorallocate()函數(shù)設(shè)置顏色例子,本文給出了十進(jìn)制和十六進(jìn)制2種設(shè)置顏色的方法,需要的朋友可以參考下2014-11-11
PHP計(jì)算2點(diǎn)經(jīng)緯度之間的距離代碼
以下是對(duì)PHP計(jì)算2點(diǎn)經(jīng)緯度之間的距離代碼進(jìn)行了分析介紹,需要的朋友可以過來參考下2013-08-08
php強(qiáng)制下載類型的實(shí)現(xiàn)代碼
有時(shí)需要一些文件不能在線打開,而是執(zhí)行后需要下載,這時(shí)就用這個(gè)函數(shù)就可以解決了2011-04-04
PHP設(shè)計(jì)模式的策略,適配器和觀察者模式詳解
這篇文章主要為大家詳細(xì)介紹了PHP設(shè)計(jì)模式的策略,適配器和觀察者模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03
php數(shù)據(jù)結(jié)構(gòu)與算法(PHP描述) 查找與二分法查找
php數(shù)據(jù)結(jié)構(gòu)與算法(PHP描述) 查找與二分法查找,需要的朋友可以參考下2012-06-06

