PHP實現(xiàn)二維數(shù)組根據(jù)key進行排序的方法
本文實例講述了PHP實現(xiàn)二維數(shù)組根據(jù)key進行排序的方法。分享給大家供大家參考,具體如下:
在PHP中內(nèi)置了很多對數(shù)組進行處理的函數(shù),有很多時候我們直接使用其內(nèi)置函數(shù)就能達到我們的需求,得到我們所想要的結(jié)果;但是,有的時候我們卻不能通過使用內(nèi)置函數(shù)實現(xiàn)我們的要求,這就需要我們自己去編寫算法來對自己的想法進行實現(xiàn)。下面就講述一下如何實現(xiàn)二維數(shù)組根據(jù)key進行排序。
實現(xiàn)方法:
<?php
/**
* =======================================
* Created by Zhihua_W.
* Author: Zhihua_W
* Date: 2016/11/26 0002
* Time: 下午 2:43
* Project: PHP開發(fā)小技巧
* Power: 實現(xiàn)二維數(shù)組根據(jù)key進行排序
* =======================================
*/
/**
* 二維數(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'));
?>
通過打印出的結(jié)果我們就可以看到,數(shù)組根據(jù)“name”進行排序。
//原數(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錯誤與異常處理方法總結(jié)》、《PHP基本語法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
PHP Session_Regenerate_ID函數(shù)雙釋放內(nèi)存破壞漏洞
PHP Session_Regenerate_ID函數(shù)存在雙釋放內(nèi)容破壞問題,遠程攻擊者可利用此漏洞對應(yīng)用程序進行拒絕服務(wù)攻擊,可能導(dǎo)致任意指令執(zhí)行。2011-01-01
UCenter中的一個可逆加密函數(shù)authcode函數(shù)代碼
瀏覽UCenter源代碼的時候發(fā)現(xiàn)這個函數(shù),剛好有需要,就記錄一下。2010-07-07
完美解決phpexcel導(dǎo)出到xls文件出現(xiàn)亂碼的問題
下面小編就為大家?guī)硪黄昝澜鉀Qphpexcel導(dǎo)出到xls文件出現(xiàn)亂碼的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10
PHP自定義函數(shù)實現(xiàn)assign()數(shù)組分配到模板及extract()變量分配到模板功能示例
這篇文章主要介紹了PHP自定義函數(shù)實現(xiàn)assign()數(shù)組分配到模板及extract()變量分配到模板功能,可模擬tp框架中模板變量分配功能,涉及php基于面向?qū)ο蟮臄?shù)組賦值相關(guān)操作技巧,需要的朋友可以參考下2018-05-05

