PHP関数操作の配列ソート方法を詳しく解説

WBOY
リリース: 2023-06-19 22:58:02
オリジナル
3605 人が閲覧しました

インターネット技術の継続的な更新と改善により、PHP は徐々に Web 開発の分野で最も人気のあるプログラミング言語の 1 つになりました。強力な言語である PHP の関数ライブラリはますます豊富になっており、初心者でも経験豊富な PHP 開発者でも、PHP のさまざまな関数の操作を理解することは避けられません。この記事では、PHP で配列を並べ替える方法に焦点を当てます。

1. 一般的な並べ替え方法

PHP は、開発者に次のようなさまざまな並べ替え方法を提供します:

  1. sort(): 配列を昇順に並べ替えます
  2. rsort(): 配列を降順に並べ替えます
  3. asort(): 配列を昇順に並べ替え、キーと値の関係を保持します
  4. ksort(): 配列を並べ替えますキー名で昇順に並べ替えます
  5. arsort(): 配列を降順に並べ替え、キーと値の関係を保持します
  6. krsort(): 配列をキー名で降順に並べ替えます
  7. usort(): ユーザー定義の比較関数を使用して配列を並べ替えます
  8. uasort(): ユーザー定義の比較関数を使用して配列を並べ替え、キーと値の関係を保持します
  9. uksort(): 配列を並べ替えます。 ユーザー定義の比較関数を使用して、キー名で並べ替えます。

2. 使用例

以下では、いくつかの例を使用して、 PHPのソート機能。

  1. sort() と rsort()

sort() 関数は配列を昇順に並べ替えるために使用され、rsort() 関数は並べ替えに使用されます。配列を降順に並べます。簡単なデモンストレーションの例を次に示します。

<?php
$arr = array(3, 1, 2, 5, 4);
sort($arr);
print_r($arr); //输出结果为:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

rsort($arr);
print_r($arr); //输出结果为:Array ( [0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1 )
?>
ログイン後にコピー
  1. asort() および arsort()

asort() 関数は、配列を昇順にソートし、キーを保持するために使用されます。値の関係では、arsort() 関数を使用して配列を降順に並べ替え、キーと値の関係を保持します。以下は簡単なデモンストレーションの例です:

<?php
$arr = array("a" => 3, "b" => 1, "c" => 2, "d" => 5, "e" => 4);

asort($arr);
print_r($arr); //输出结果为:Array ( [b] => 1 [c] => 2 [a] => 3 [e] => 4 [d] => 5 )

arsort($arr);
print_r($arr); //输出结果为:Array ( [d] => 5 [e] => 4 [a] => 3 [c] => 2 [b] => 1 )
?>
ログイン後にコピー
  1. ksort() と krsort()

ksort() 関数は、配列をキーによって昇順に並べ替えるのに使用されます。 name, krsort () 関数は、キー名の降順で配列をソートするために使用されます。以下は簡単なデモンストレーションの例です:

<?php
$arr = array("b" => 1, "c" => 2, "a" => 3);

ksort($arr);
print_r($arr); //输出结果为:Array ( [a] => 3 [b] => 1 [c] => 2 )

krsort($arr);
print_r($arr); //输出结果为:Array ( [c] => 2 [b] => 1 [a] => 3 )
?>
ログイン後にコピー
  1. usort()、uasort() および uksort()

usort() 関数、uasort() 関数および uksort( ) 関数は通常、カスタム並べ替えルールを並べ替えるために使用されます。以下は簡単なデモンストレーションの例です:

<?php
$arr = array(
    array("name" => "Tom", "age" => 20),
    array("name" => "Jerry", "age" => 18),
    array("name" => "Bob", "age" => 23),
);

//按照年龄升序排序
function cmp($a, $b)
{
    if ($a["age"] == $b["age"]) {
        return 0;
    } else {
        return ($a["age"] < $b["age"]) ? -1 : 1;
    }
}

usort($arr, "cmp");
print_r($arr); //输出结果为:Array ( [0] => Array ( [name] => Jerry [age] => 18 ) [1] => Array ( [name] => Tom [age] => 20 ) [2] => Array ( [name] => Bob [age] => 23 ) )

//按照年龄降序排序,并保留键值关系
function cmp1($a, $b)
{
    if ($a["age"] == $b["age"]) {
        return 0;
    } else {
        return ($a["age"] > $b["age"]) ? -1 : 1;
    }
}

uasort($arr, "cmp1");
print_r($arr); //输出结果为:Array ( [1] => Array ( [name] => Tom [age] => 20 ) [2] => Array ( [name] => Bob [age] => 23 ) [0] => Array ( [name] => Jerry [age] => 18 ) )

//按照姓名首字母升序排序
function cmp2($a, $b)
{
    return strcmp($a["name"], $b["name"]);
}

uksort($arr, "cmp2");
print_r($arr); //输出结果为:Array ( [2] => Array ( [name] => Bob [age] => 23 ) [1] => Array ( [name] => Jerry [age] => 18 ) [0] => Array ( [name] => Tom [age] => 20 ) )
?>
ログイン後にコピー

3. 概要

この記事の導入を通じて、PHP におけるさまざまな配列ソート方法の使用について学びました。初心者でも経験豊富な開発者でも、これらの並べ替え方法は非常に重要な基礎知識であり、日常の開発で頻繁に使用されます。したがって、これらの方法をマスターすると、効率的で高品質な Web アプリケーションを迅速に開発することができます。

以上がPHP関数操作の配列ソート方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート