ホームページ  >  記事  >  バックエンド開発  >  PHP での 2 次元配列のソートに関する問題

PHP での 2 次元配列のソートに関する問題

WBOY
WBOYオリジナル
2016-06-13 12:23:59857ブラウズ

PHP の 2 次元配列のソート問題

PHP で 2 次元配列をソートするには、PHP 組み込み関数 uasort()

[ユーザー定義の比較を使用する関数は配列内の値を並べ替え、インデックスの関連付けを維持します]

コールバック関数は次のとおりです。コールバック関数の戻り値が返される場合に注意してください。負の数または false の場合、コールバック関数の最初のパラメータが前にあり、2 番目のパラメータが後ろの順序であることを意味します

	$person = array(		array('num'=>'001','id'=>6,'name'=>'zhangsan','age'=>21),		array('num'=>'001','id'=>7,'name'=>'ahangsan','age'=>23),		array('num'=>'003','id'=>1,'name'=>'bhangsan','age'=>23),		array('num'=>'001','id'=>3,'name'=>'dhangsan','age'=>23),	);

	//负数或者false表示第一个参数应该在前	function sort_by_name($x,$y){		return strcasecmp($x['name'],$y['name']);	}
次のように使用します:

uasort($person,'sort_by_name');


以下は、参照およびインタビューで使用する 2 次元配列のソート方法を示しています:

	//$array 要排序的数组	//$row   排序依据列	//$type  排序类型[asc or desc]	//return 排好序的数组	function array_sort($array,$row,$type){		$array_temp = array();		foreach($array as $v){			$array_temp[$v[$row]] = $v;		}		if($type == 'asc'){			ksort($array_temp);		}elseif($type='desc'){			krsort($array_temp);		}else{					}		return $array_temp;	}

============== ================================== =============== =====

ところで、PHP のソート関数をいくつか紹介します

[sort 配列の並べ替え ] は通常、1 次元のインデックス付き配列に適用され、インデックス

は維持されません。 [rsort 配列 を逆方向に並べ替える ] sort


[asort 配列をソートし、インデックス関係を維持します] 値の並べ替え、一般に 1 次元配列に適用され、インデックス関係を維持します

[arsort は 配列の ソートを逆にし、インデックス関係を維持します] は、asort の使用法


[ksort

配列をキー名でソート ]

[ krsort キー名に従って配列を並べ替えます 逆方向 ]

=========================================== =========================




著作権に関する声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。