ホームページ  >  記事  >  バックエンド開発  >  特定のキー値に従って多次元配列のソートを実装する PHP メソッド

特定のキー値に従って多次元配列のソートを実装する PHP メソッド

墨辰丷
墨辰丷オリジナル
2018-05-23 14:38:0010749ブラウズ

この記事では、特定のキー値に応じて多次元配列のソートを実装するための PHP プログラミングの方法を主に紹介し、array_multisort と array_sort の 2 つのソート操作メソッドをサンプルの形式で分析します。この記事の例では、特定のキー値に従って多次元配列をソートする PHP プログラミング手法の実装について説明します。参考のために皆さんと共有してください。詳細は次のとおりです:

特定のキー値に従って多次元配列のソートを実装する 2 つのソリューション (array_multisortarray_sort) :

array_multisortarray_sort):

第一种:

array_multisort()函数对多个数组或多维数组进行排序。

//对数组$hotcat按照count键值大小降序进行排序;
$hotcat =array(
 array('1501'=>array('catid'=>'1546','catname'=>'数组排序 一级','count'=>'588')),
 array('1501'=>array('catid'=>'1546','catname'=>'数组排序二级','count'=>'588')),
 array('1501'=>array('catid'=>'1546','catname'=>'数组排序 三级','count'=>'588'))
);
//提取列数组;
foreach ($hotcat as $key => $val) {
 $tmp[$key] = $row['username'];
}
array_multisort($tmp,SORT_DESC,$hotcat);此处对数组进行降序排列;SORT_DESC按降序排列

第二种:

自定义方法array_sort() 1 つ目:

array_multisort() 関数は、複数の配列または多次元配列をソートします。

//指定数组以$keys键值排序
function array_sort($array,$keys,$type='asc'){
//$array为要排序的数组,$keys为要用来排序的键名,$type默认为升序排序
$keysvalue = $new_array = array();
foreach ($array 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] = $array[$k];
}
return $new_array;
}
$hot_cat = array_sort($hot_cat,'count','desc'); //此处对数组进行降序排列

2番目:

並べ替えるカスタムメソッドarray_sort()

rrreee

図1: 2:


注意:

上の図からわかるように、最初の方法には欠点があります。配列が文字列キー名の場合、その名前は保持されますが、数値キーは 0 から始まり増加して再インデックスされます。 1までに。したがって、配列がソートされ、以前のキー名をすべて保持する必要がある場合は、2 番目の方法を使用することをお勧めします。

上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

phpチェックボックスを取得する簡単な方法value_phpヒント


php類似テキスト()関数の定義と使用法_phpヒント

phpwind自動登録方法_javascriptスキル

🎜 🎜🎜 🎜🎜🎜🎜🎜

以上が特定のキー値に従って多次元配列のソートを実装する PHP メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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