PHP で 1 次元配列をソートする方法 (メソッドの簡単な分析)

PHPz
リリース: 2023-04-10 11:29:33
オリジナル
700 人が閲覧しました

PHP は、Web 開発アプリケーションでよく使用されるスクリプト言語です。配列操作は PHP 開発でよく使用される操作の 1 つであり、多くの場合、さらなる処理のために配列をソートする必要があります。

sort() 関数と rsort() 関数は通常、1 次元配列のソートに使用されますが、これらの違いは、sort() は昇順でソートするのに対し、rsort() は降順でソートすることです。それらの使い方を見てみましょう。

sort() 関数

sort() 関数は、配列を昇順に並べ替えることができます。この関数は、元の配列のキーと値の関係を変更し、並べ替えが成功したかどうかを示すブール値 (true または false) を返します。

たとえば、1 次元配列があるとします:

$arr = array(5,8,3,0,2,7,1);
ログイン後にコピー
ログイン後にコピー

sort() 関数を使用して昇順に並べ替えることができます:

sort($arr);
ログイン後にコピー
ログイン後にコピー

並べ替えられた配列は次のとおりです。 :

Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 5 [5] => 7 [6] => 8 )
ログイン後にコピー

sort() 関数は文字列配列を並べ替えることもできます。 sort() 関数は、辞書の順序ではなく、ASCII コード テーブル内の文字の順序に従ってソートすることに注意してください。

たとえば、文字列配列があります:

$arr = array("apple", "banana", "peach", "orange");
ログイン後にコピー

sort() 関数を使用して並べ替えます:

sort($arr);
ログイン後にコピー
ログイン後にコピー

並べ替えられた配列は次のとおりです:

Array ( [0] => apple [1] => banana [2] => orange [3] => peach )
ログイン後にコピー

ソート結果がアルファベット順にソートされていないことがわかります。

rsort() 関数

rsort() 関数は、降順でソートされる点を除いて、基本的に sort() 関数と同じです。

たとえば、1 次元配列があります:

$arr = array(5,8,3,0,2,7,1);
ログイン後にコピー
ログイン後にコピー

rsort() 関数を使用して降順に並べ替えることができます:

rsort($arr);
ログイン後にコピー

並べ替えられた配列は次のとおりです。 :

Array ( [0] => 8 [1] => 7 [2] => 5 [3] => 3 [4] => 2 [5] => 1 [6] => 0 )
ログイン後にコピー

rsort() 関数は、文字列配列のソートにも適しています。

asort() 関数および arsort() 関数

asort() 関数および arsort() 関数は、基本的に sort() 関数および rsort() 関数と同じですが、次の点が異なります。元の配列 キー名 (キーと値の関係)。

たとえば、連想配列があります:

$arr = array("apple" => 5, "banana" => 8, "peach" => 3, "orange" => 2);
ログイン後にコピー

asort() 関数を使用して昇順に並べ替えることができます:

asort($arr);
ログイン後にコピー

並べ替えられた配列は次のとおりです:

Array ( [orange] => 2 [peach] => 3 [apple] => 5 [banana] => 8 )
ログイン後にコピー

キー名 (キーと値の関係) が同じままであることがわかります。

arsort() 関数は、連想配列を降順で並べ替えるのにも適しています。

ksort() 関数と krsort() 関数

ksort() 関数と krsort() 関数は、キー値の配列をキー名の昇順と降順に並べ替えるのに使用されます。

たとえば、キー値の配列があります:

$arr = array("x" => 5, "z" => 8, "y" => 3, "w" => 2);
ログイン後にコピー

ksort() 関数を使用して昇順に並べ替えることができます:

ksort($arr);
ログイン後にコピー

並べ替えられた配列は次のとおりです。 :

Array ( [w] => 2 [x] => 5 [y] => 3 [z] => 8 )
ログイン後にコピー

ご覧のとおり、配列要素はキー名 (アルファベット順) でソートされています。

krsort() 関数は、キー値配列を降順に並べ替えるのにも適しています。

多次元配列のソート

上記の関数は、1 次元配列のソートに適しています。多次元配列を扱う場合は、ソートの階層関係に注意する必要があります。

たとえば、2 次元配列があります:

$arr = array( array("name" => "xiaoming", "age" => 30), array("name" => "xiaohong", "age" => 25), array("name" => "xiaoli", "age" => 20) );
ログイン後にコピー

usort() 関数を使用して、年齢順に昇順に並べ替えることができます:

usort($arr, function($a, $b){ if($a["age"] == $b["age"]){ return 0; } return ($a["age"] < $b["age"]) ? -1 : 1; });
ログイン後にコピー

並べ替え後配列は次のとおりです。

Array ( [0] => Array ( [name] => xiaoli [age] => 20 ) [1] => Array ( [name] => xiaohong [age] => 25 ) [2] => Array ( [name] => xiaoming [age] => 30 ) )
ログイン後にコピー

ご覧のとおり、usort() 関数は 2 次元配列を年齢に従って昇順に並べ替えます。

概要

1 次元配列を並べ替えるには、sort() 関数と rsort() 関数を使用できます。連想配列を並べ替えるには、asort() 関数と arsort() 関数を使用でき、キーと値の配列を並べ替えるには、ksort() 関数と krsort() 関数を使用できます。多次元配列を扱う場合、usort() 関数を使用して並べ替えを行うことができます。上記の関数を使用すると、配列処理の効率と精度が大幅に向上します。

以上がPHP で 1 次元配列をソートする方法 (メソッドの簡単な分析)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!