本文實(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í)候我們卻不能通過使用內(nèi)置函數(shù)實(shí)現(xiàn)我們的要求,這就需要我們自己去編寫算法來對(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'));?>通過打印出的結(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 ))
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選