PHP實(shí)現(xiàn)二維數(shù)組根據(jù)key進(jìn)行排序的方法
本文實(shí)例講述了PHP實(shí)現(xiàn)二維數(shù)組根據(jù)key進(jìn)行排序的方法。分享給大家供大家參考,具體如下:
在PHP中內(nèi)置了很多對(duì)數(shù)組進(jìn)行處理的函數(shù),有很多時(shí)候我們直接使用其內(nèi)置函數(shù)就能達(dá)到我們的需求,得到我們所想要的結(jié)果;但是,有的時(shí)候我們卻不能通過(guò)使用內(nèi)置函數(shù)實(shí)現(xiàn)我們的要求,這就需要我們自己去編寫算法來(lái)對(duì)自己的想法進(jìn)行實(shí)現(xiàn)。下面就講述一下如何實(shí)現(xiàn)二維數(shù)組根據(jù)key進(jìn)行排序。
實(shí)現(xiàn)方法:
<?php /** * ======================================= * Created by Zhihua_W. * Author: Zhihua_W * Date: 2016/11/26 0002 * Time: 下午 2:43 * Project: PHP開發(fā)小技巧 * Power: 實(shí)現(xiàn)二維數(shù)組根據(jù)key進(jìn)行排序 * ======================================= */ /** * 二維數(shù)組排序 * @param array $arr 需要排序的二維數(shù)組 * @param string $keys 所根據(jù)排序的key * @param string $type 排序類型,desc、asc * @return array $new_array 排好序的結(jié)果 */ function array_sort($arr, $keys, $type = 'desc') { $key_value = $new_array = array(); foreach ($arr as $k => $v) { $key_value[$k] = $v[$keys]; } if ($type == 'asc') { asort($key_value); } else { arsort($key_value); } reset($key_value); foreach ($key_value as $k => $v) { $new_array[$k] = $arr[$k]; } return $new_array; } $arr = array( array( 'name' => 'a', 'sex' => 'm', 'sort' => 5 ), array( 'name' => 'c', 'sex' => 'm', 'sort' => 8 ), array( 'name' => 'g', 'sex' => 'm', 'sort' => 3 ), array( 'name' => 'e', 'sex' => 'w', 'sort' => 6 ), array( 'name' => 'b', 'sex' => 'w', 'sort' => 2 ), ); //打印出原數(shù)組 print_r($arr); //打印出排好序的數(shù)組 print_r(array_sort($arr,'name')); ?>
通過(guò)打印出的結(jié)果我們就可以看到,數(shù)組根據(jù)“name”進(jìn)行排序。
//原數(shù)組 Array ( [0] => Array ( [name] => a [sex] => m [sort] => 5 ) [1] => Array ( [name] => c [sex] => m [sort] => 8 ) [2] => Array ( [name] => g [sex] => m [sort] => 3 ) [3] => Array ( [name] => e [sex] => w [sort] => 6 ) [4] => Array ( [name] => b [sex] => w [sort] => 2 ) ) //排序后數(shù)組 Array ( [2] => Array ( [name] => g [sex] => m [sort] => 3 ) [3] => Array ( [name] => e [sex] => w [sort] => 6 ) [1] => Array ( [name] => c [sex] => m [sort] => 8 ) [4] => Array ( [name] => b [sex] => w [sort] => 2 ) [0] => Array ( [name] => a [sex] => m [sort] => 5 ) )
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php常用函數(shù)與技巧總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語(yǔ)法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- PHP根據(jù)key刪除數(shù)組中指定的元素
- PHP使用自定義key實(shí)現(xiàn)對(duì)數(shù)據(jù)加密解密的方法
- PHP實(shí)現(xiàn)向關(guān)聯(lián)數(shù)組指定的Key之前插入元素的方法
- PHP 根據(jù)key 給二維數(shù)組分組
- php array_keys 返回?cái)?shù)組的鍵名
- php array_key_exists() 與 isset() 的區(qū)別
- PHP array_key_exists檢查鍵名或索引是否存在于數(shù)組中的實(shí)現(xiàn)方法
- PHP數(shù)組Key強(qiáng)制類型轉(zhuǎn)換實(shí)現(xiàn)原理解析
相關(guān)文章
PHP開發(fā)實(shí)現(xiàn)快遞查詢功能詳解
這篇文章主要介紹了PHP開發(fā)實(shí)現(xiàn)快遞查詢功能,結(jié)合實(shí)例形式分析了php使用快遞鳥查詢接口進(jìn)行快遞查詢的相關(guān)實(shí)現(xiàn)步驟與操作技巧,需要的朋友可以參考下2019-04-04六個(gè)步驟,從零開始教你搭建基于WordPress的個(gè)人博客
這篇文章主要介紹了六個(gè)步驟,從零開始教你搭建基于WordPress的個(gè)人博客,步驟講解的很清楚,不知道如何搭建wordpress的同學(xué)可以跟著搭建下2021-01-01PHP Session_Regenerate_ID函數(shù)雙釋放內(nèi)存破壞漏洞
PHP Session_Regenerate_ID函數(shù)存在雙釋放內(nèi)容破壞問(wèn)題,遠(yuǎn)程攻擊者可利用此漏洞對(duì)應(yīng)用程序進(jìn)行拒絕服務(wù)攻擊,可能導(dǎo)致任意指令執(zhí)行。2011-01-01UCenter中的一個(gè)可逆加密函數(shù)authcode函數(shù)代碼
瀏覽UCenter源代碼的時(shí)候發(fā)現(xiàn)這個(gè)函數(shù),剛好有需要,就記錄一下。2010-07-07完美解決phpexcel導(dǎo)出到xls文件出現(xiàn)亂碼的問(wèn)題
下面小編就為大家?guī)?lái)一篇完美解決phpexcel導(dǎo)出到xls文件出現(xiàn)亂碼的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-10-10PHP自定義函數(shù)實(shí)現(xiàn)assign()數(shù)組分配到模板及extract()變量分配到模板功能示例
這篇文章主要介紹了PHP自定義函數(shù)實(shí)現(xiàn)assign()數(shù)組分配到模板及extract()變量分配到模板功能,可模擬tp框架中模板變量分配功能,涉及php基于面向?qū)ο蟮臄?shù)組賦值相關(guān)操作技巧,需要的朋友可以參考下2018-05-05