ホームページ >バックエンド開発 >PHPチュートリアル >PHP で、配列値の比較に基づいて配列を並べ替えるにはどうすればよいですか?
PHP で配列をソートする方法は次のとおりです。sort() 関数を使用して昇順にソートします。 rsort() 関数を使用して降順に並べ替えます。 asort() 関数を使用して、連想配列内の値を昇順に並べ替えます。 arsort() 関数を使用して、連想配列の値を降順に並べ替えます。より複雑な並べ替えには、カスタム比較関数を使用します。
配列値の比較に基づいて PHP 配列を並べ替える方法
PHP では、PHP 配列に基づいて並べ替える方法が多数あります。配列値の比較時 比較により配列がソートされます。この記事では、組み込み関数 sort()
、rsort()
、asort()
、arsort()
の使用方法を紹介します。およびカスタム比較関数 配列を並べ替える一般的な方法。
sort()
関数を使用します:
sort()
この関数は、配列内の値を次の順序で並べ替えます。小から大へ昇順。
$arr = [3, 5, 2, 7, 1]; sort($arr); print_r($arr); // 输出: [1, 2, 3, 5, 7]
rsort()
関数を使用します:
rsort()
この関数は配列内の値を並べ替えます大から小へ 小さい順に。
$arr = [3, 5, 2, 7, 1]; rsort($arr); print_r($arr); // 输出: [7, 5, 3, 2, 1]
asort()
関数を使用します:
##asort() この関数は連想配列内の値を並べ替えます。小から小へ 大の昇順、キーは変更されません。
$arr = [ "name" => "John", "age" => 30, "city" => "New York" ]; asort($arr); print_r($arr); // 输出: [ // "age" => 30, // "city" => "New York", // "name" => "John" // ]
arsort() 関数を使用します:
arsort() この関数は、連想配列内の値を並べ替えます。配列 (大から大) 降順で並べ替えます。キーは変更されません。
$arr = [ "name" => "John", "age" => 30, "city" => "New York" ]; arsort($arr); print_r($arr); // 输出: [ // "name" => "John", // "city" => "New York", // "age" => 30 // ]
カスタム比較関数を使用する:
より複雑な並べ替え要件の場合は、カスタム比較関数を使用できます。比較関数は 2 つの引数を受け取り、最初の引数が 2 番目の引数より小さいか、等しいか、大きいかに応じて、-1、0、または 1 を返します。function custom_sort($a, $b) { return strcmp($a["name"], $b["name"]); } $arr = [ ["name" => "John", "age" => 30], ["name" => "Mary", "age" => 25], ["name" => "Bob", "age" => 35] ]; usort($arr, "custom_sort"); print_r($arr); // 输出: [ // ["name" => "Bob", "age" => 35], // ["name" => "John", "age" => 30], // ["name" => "Mary", "age" => 25] // ]
実践的なケース:
次は、sort() 関数を使用してビデオの配列を並べ替える方法を示す実践的なケースです。ゲームのキャラクターを名前順に昇順に並べ替えます:
$characters = [ ["name" => "Mario", "level" => 5], ["name" => "Luigi", "level" => 3], ["name" => "Donkey Kong", "level" => 7] ]; sort($characters); print_r($characters); // 输出: [ // ["name" => "Donkey Kong", "level" => 7], // ["name" => "Luigi", "level" => 3], // ["name" => "Mario", "level" => 5] // ]
以上がPHP で、配列値の比較に基づいて配列を並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。