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)行過(guò)濾 $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ù)庫(kù)操作技巧匯總》
希望本文所述對(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)通過(guò)二維數(shù)組鍵值獲取一維鍵名操作示例
相關(guān)文章
利用php實(shí)現(xiàn)禁用IE和火狐的緩存問(wèn)題
利用php實(shí)現(xiàn)禁用IE和火狐的緩存問(wèn)題,在網(wǎng)速找了好多方法,最終還是解決了,需要了解的朋友可以參考下2012-12-12php str_pad() 將字符串填充成指定長(zhǎng)度的字符串
str_pad() 將字符串填充成指定長(zhǎng)度的字符串的用法。2010-02-02PHP中file_get_contents高級(jí)用法實(shí)例
這篇文章主要介紹了PHP中file_get_contents高級(jí)用法,包括了超時(shí)限制及實(shí)現(xiàn)POST等用法,需要的朋友可以參考下2014-09-09php中用socket模擬http中post或者get提交數(shù)據(jù)的示例代碼
以下是對(duì)php中用socket模擬http中post或者get提交數(shù)據(jù)的示例代碼進(jìn)行了介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08PHP設(shè)計(jì)模式之原型設(shè)計(jì)模式原理與用法分析
這篇文章主要介紹了PHP設(shè)計(jì)模式之原型設(shè)計(jì)模式,簡(jiǎn)單描述了原型設(shè)計(jì)模式的概念、原理并結(jié)合實(shí)例形式分析了php原型設(shè)計(jì)模式的定義與使用方法,需要的朋友可以參考下2018-04-04非集成環(huán)境的php運(yùn)行環(huán)境(Apache配置、Mysql)搭建安裝圖文教程
這篇文章主要介紹了非集成環(huán)境的php運(yùn)行環(huán)境(Apache配置、Mysql)搭建安裝圖文教程,感興趣的小伙伴們可以參考一下2016-04-04