Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP 对一个给定的二维数组按照指定的键值进行排序

PHP 对一个给定的二维数组按照指定的键值进行排序

WBOY
WBOYasal
2016-08-08 09:31:051407semak imbas
<?php //PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。
//以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:
function array_sort($arr,$keys,$type='asc'){
	$keysvalue = $new_array = array();
	foreach ($arr as $k=>$v){
		$keysvalue[$k] = $v[$keys];
	}
	if($type == 'asc'){
		asort($keysvalue);
	}else{
		arsort($keysvalue);
	}
	reset($keysvalue);
	foreach ($keysvalue as $k=>$v){
		$new_array[$k] = $arr[$k];
	}
	return $new_array;
}
//它可以对二维数组按照指定的键值进行排序,也可以指定升序或降序排序法(默认为升序),用法示例:
$array = array(
		array('name'=>'手机','brand'=>'诺基亚','price'=>1050),
		array('name'=>'笔记本电脑','brand'=>'lenovo','price'=>4300),
		array('name'=>'剃须刀','brand'=>'飞利浦','price'=>3100),
		array('name'=>'跑步机','brand'=>'三和松石','price'=>4900),
		array('name'=>'手表','brand'=>'卡西欧','price'=>960),
		array('name'=>'液晶电视','brand'=>'索尼','price'=>6299),
		array('name'=>'激光打印机','brand'=>'惠普','price'=>1200)
		);
//下面是对$array这个二维数组按照'price'从低到高的排序。
$ShoppingList = array_sort($array,'price');
print_r($ShoppingList);

以上就介绍了PHP 对一个给定的二维数组按照指定的键值进行排序,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn