php多次元配列のキーでソート(並び替え)する

PHPプログラミング PHP/MySQL
ソートさせる

$get_dataに配列でデータ格納

PHP



function Get_data($get_data){

	//並び替え元のデータを二次配列でセットする
	$data = array();//配列初期化
	$data = array(
	'first_date' => $row['first_date'],//登録日
	'up_date' => $row['up_date'],//更新日
	'category' => $row['category'], //カテゴリ番号
	);
	$get_data[$kaz]= $data;//二次配列にする
	$kaz++;
	//配列セットここまで

	return Get_data;
}//end_function


$get_dataの配列キーで並び替える

PHP


function Sort($get_data){

	//ソート配列の格納変数の初期化
	$First_date_array = array();//初期化
	$Up_date_array = array();
	$Category_array = array();

	//foreach (反復可能なデータ構造 as 要素)
	foreach( $get_data as $value) {
	$First_date_array[] = $value['first_date'];//登録日
	$Up_date_array[] = $value['up_date'];//更新日
	$Category_array[] = $value['category'];//カテゴリ番号
	}//


	//----------------------
	// カテゴリ番号でソートする
	//----------------------
	// (並び順 SORT_ASC:昇順、SORT_DESC :降順)
	//array_multisortは多次元配列を特定のキーを軸にして並び替える
	array_multisort(
		$First_date_array, SORT_DESC, SORT_NUMERIC,//降順 登録が新しい順
		$Up_date_array, SORT_DESC, SORT_NUMERIC, //降順 更新が新しい順
		$Category_array, SORT_ASC, SORT_NUMERIC, //昇順 カテゴリ番号が小さい順
		$get_data
	);

	return $get_data;
}//end_function

並び替えソート出来るデータ型

PHP


SORT_REGULAR //型の変換をせずに比較
SORT_NUMERIC //数値として比較
SORT_STRING //文字列として比較
SORT_LOCALE_STRING //使用している言語を踏まえたうえで、文字列として比較。言語はsetlocale関数で指定します。
SORT_NATURAL //「自然順」で、文字列として比較
SORT_FLAG_CASE //アルファベットの大文字、小文字を区別しないでソートの比較。SORT_STRINGなどと論理和で指定して実行
タイトルとURLをコピーしました