ホームページ > php教程 > php手册 > PHP 多次元配列のソート (usort、uasort)

PHP 多次元配列のソート (usort、uasort)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
リリース: 2016-06-13 12:15:18
オリジナル
1203 人が閲覧しました

数値インデックス配列:
bool usort( array &$array, callback $cmp_function )
usort 関数は、指定された配列 (パラメーター 1) を指定された方法 (パラメーター 2) でソートします。
多次元配列をソートしたい場合、多次元配列の各要素は配列型ですが、2 つの配列のサイズをどのように比較すればよいでしょうか?これはユーザーがカスタマイズする必要があります (各配列の最初の要素に基づいて比較するかどうか)。

コードをコピー コードは次のとおりです。


//マルチ定義次元配列
$a = array(
array("sky", "blue"),
array("apple", "red"),
array("tree", "green" ));
//カスタマイズされた配列比較関数。配列の 2 番目の要素に基づいて比較します。
function my_compare($a, $b) {
if ($a[1] < $b[1])
return -1;
else if ($a[1] = = $b[1])
return 0;
else
return 1;
//ソート
usort($a, 'my_compare'); /出力結果
foreach($a as $elem) {
echo "$elem[0] : $elem[1]
";
}

? >


結果は次のとおりです:



コードをコピーします コードは次のとおりです:

空 : 青

木 : 緑
リンゴ : 赤


連想配列:

bool uasort(array &$array, callback $cmp_function)
bool uksort(array &$array, callback $cmp_function)

uasort、uksort の使用法は usort と同じで、uasort() は連想配列の値を並べ替え、uksort() は連想配列のキーを並べ替えます。


コードをコピー コードは次のとおりです。

$a = array(
'日曜日' => 配列(0,'7日')、
'金曜日' => 配列(5,'5日')、
'火曜日'=> 配列(2,'2日') );

function my_compare($a, $b) {
if ($a[1] < $b[1])
return
else if ($ a[1 ] == $b[1])
return 0;
else
return 1;
}
// $a 配列の値の 2 番目の要素を押します ( 7 番目、5 番目、2 番目) ソート
uasort($a, 'my_compare');
foreach($a as $key => $value) {
echo "$key : $value[0] $value[ 1]
";
}
//$a 配列のキーの 2 番目の文字 (r, u, u) でソート
uksort($a, 'my_compare ');
foreach($a as $key => $value) {
echo "$key : $value[0] $value[1]
"; >}

?>


結果は次のとおりです:
火曜日 : 2 2
金曜日 : 5 5
日曜日 : 0 7
金曜日 : 5 5日
日曜日 : 0 7日
火曜日 : 2 2日
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
PHP 拡張子 intl
から 1970-01-01 08:00:00
0
0
0
phpのデータ取得?
から 1970-01-01 08:00:00
0
0
0
PHP GET エラー レポート
から 1970-01-01 08:00:00
0
0
0
phpを上手に学ぶ方法
から 1970-01-01 08:00:00
0
0
0
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート