ホームページ  >  記事  >  バックエンド開発  >  PHP の array_multisort() 関数: 複数の配列をソートする方法

PHP の array_multisort() 関数: 複数の配列をソートする方法

WBOY
WBOYオリジナル
2023-11-03 09:33:201312ブラウズ

PHP の array_multisort() 関数: 複数の配列をソートする方法

PHP の array_multisort() 関数: 複数の配列を並べ替えるには、特定のコード例が必要です

PHP 開発では、多くの場合、複数の配列を並べ替える必要があります。たとえば、年齢、名前などの複数のフィールドによる。 PHP は、複数の配列をソートするための array_multisort() 関数を提供します。この記事では、array_multisort() 関数の使用法を紹介し、具体的なコード例を示します。

1. array_multisort() 関数の概要

array_multisort() 関数は、複数の配列をソートするために使用されます。この関数は複数の配列を同時に並べ替えることができ、昇順または降順などの並べ替え方法も指定できます。基本的な構文は次のとおりです。

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, mixed $... ]]] )

このうち、$array1 は並べ替えられる最初の配列を表し、次のパラメーターは並べ替えられる他の配列を表します。 $array1_sort_order および $array1_sort_flags パラメータは、それぞれ並べ替え方法と並べ替えフラグを表します。具体的な値については、PHP マニュアルを参照してください。この関数はブール値を返します。

2. Array_multisort() 関数の例

以下では、array_multisort() 関数の使用方法を具体的な例を通して説明します。次のように 2 つの配列があるとします。最初の配列の値に従ってソートする必要があり、2 番目の配列はそれに応じて変更されます。

<?php
 
// 待排序数组
$array1 = array(4, 2, 3, 1);
$array2 = array('d', 'b', 'c', 'a');
 
// 对数组进行排序
array_multisort($array1, $array2);
 
print_r($array1);
print_r($array2);
 
?>

コードの実行プロセスは次のとおりです。

  1. まず、並べ替える配列をそれぞれ表す 2 つの配列 $array1 と $array2 を定義します。
  2. 次に、array_multisort() 関数を呼び出して配列を並べ替えます。パラメーターとして渡される配列は 2 つだけであるため、最初の配列の値のみがソートされることを意味します。デフォルトのソート方法は昇順で、ソート フラグは SORT_REGULAR です。
  3. 最後に、$array1 の値が昇順に並べられ、$array2 の対応する値もソートされた、ソートされた配列の内容が出力されます。

実行結果は次のとおりです:

Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
Array ( [0] => a [1] => b [2] => c [3] => d )

実行結果から、array_multisort() 関数の使用により、2 つの配列が次に従ってソートされていることがわかります。 $array1 の値、$array2 の値もそれに応じてソートされます。

3. array_multisort() 関数のその他の例

上記の基本的な例に加えて、array_multisort() 関数はさらに多くの並べ替え操作も実行できます。たとえば、並べ替えを降順、複数のフィールドによる並べ替えなどに制限できます。

いくつかの具体的なサンプル コードを参考のために以下に示します。

  1. 降順に並べています
<?php
 
// 待排序数组
$array1 = array(4, 2, 3, 1);
$array2 = array('d', 'b', 'c', 'a');
 
// 对数组进行排序
array_multisort($array1, SORT_DESC, $array2);
 
print_r($array1);
print_r($array2);
 
?>

コードの実行プロセスは上記の例と似ています。唯一の違いは、2 番目のパラメーターで降順を指定することです。

  1. 複数のフィールドによる並べ替え
<?php
 
// 待排序数组
$array1 = array('Tom', 'John', 'Mary', 'Bob');
$array2 = array(20, 30, 25, 35);
$array3 = array(170, 165, 180, 175);
 
// 对数组进行排序
array_multisort($array1, SORT_ASC, $array2, SORT_ASC, $array3, SORT_DESC);
 
print_r($array1);
print_r($array2);
print_r($array3);
 
?>

コードの実行プロセスは次のとおりです:

  1. 3 つの配列 $array1、$array2、$ を定義します。 array3、それぞれ名前、年齢、身長を表します。
  2. array_multisort() 関数を呼び出して 3 つの配列を並べ替えます。まず $array1 に従って昇順で並べ替え、次に $array2 に従って昇順で並べ替え、最後に $ に従って降順で並べ替えます。配列3。
  3. ソートされた 3 つの配列の内容を出力します。

実行結果は次のとおりです:

Array ( [0] => Bob [1] => John [2] => Mary [3] => Tom )
Array ( [0] => 30 [1] => 20 [2] => 25 [3] => 35 )
Array ( [0] => 175 [1] => 170 [2] => 180 [3] => 165 )

実行結果から、並べ替えに複数のフィールドを使用しているため、3 つの配列の並べ替え順序は次のとおりであることがわかります。 :名前の昇順、名前が同じ場合は年齢の昇順、名前と年齢が同じ場合は身長の降順にソートします。

4. 概要

この記事では、PHP での array_multisort() 関数の使用方法を紹介し、具体的なコード例を示します。この関数は、複数の配列を同時に並べ替えることができ、昇順または降順を指定でき、並べ替え操作のための複数のフィールドもサポートしています。 PHP 開発では、array_multisort() 関数は非常に便利なツールであり、開発作業を大幅に簡素化し、プログラムのパフォーマンスを向上させることができます。

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

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