ホームページ  >  記事  >  バックエンド開発  >  PHP usort()

PHP usort()

WBOY
WBOYオリジナル
2024-08-29 13:05:13918ブラウズ

この関数は、PHP で配列をソートするために使用されます。ロジックと要件に基づいて配列を並べ替えることができます。つまり、ユーザー定義関数を使用して定義された配列を並べ替えます。また、配列から古いキーをすべて削除し、配列のすべての要素に新しいキーを割り当てます。これらの新しいキーは、0 から配列内に存在する要素の数までの整数になります。

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

構文:

この関数は 2 つのパラメーターを入力として受け取ります。とにかく、PHP には配列要素の並べ替えに使用できる組み込み関数が多数ありますが、ここでは、配列要素を並べ替えるためのユーザー定義関数を渡すことができます。これはこの機能のプラスポイントの 1 つです。構文について詳しく説明します。以下を参照してください;

例: :

boolean usort( array, function)

ご覧のとおり、この関数は 2 つのパラメーターを入力として受け取ります。 1 つは並べ替えたい配列で、もう 1 つは配列要素の並べ替えを決定するユーザー定義関数です。要するに、それがどのように動作するかということです。次に、構文をより適切に理解するための 1 つの実践例を見ていきます。

例: :

usort( $myArr, "demo_sort_function");

上記の構文では、配列関数とユーザー定義関数を usort() 関数に渡しています。この関数については次のセクションで詳しく説明します。

PHP では usort() 関数はどのように動作しますか?

現時点では、usort() 関数がユーザー定義の方法で配列をソートするために使用されることがわかっています。配列要素をソートするための独自のロジックを定義できます。 PHP には、配列をソートする組み込み関数が多数用意されていますが、ここでの利点の 1 つは、ここにソート アルゴリズムを記述してソートできることです。また、この関数は配列要素の古いキーをすべて削除し、それぞれに新しいキーを割り当てます。このキーの順序は 0 から始まり、関数の長さまで続きます。ここで、この関数が入力として受け取るパラメータと、関数の戻り値の型について詳しく説明します。以下を参照

この関数は次の 2 つのパラメータを取ります:

1) $array (最初のパラメーター): これは、この関数が入力として受け取る最初のパラメーターです。配列を定義してここに渡すことができます。これは、何らかの新しい方法で並べ替えたい配列になります。

2) comparison_function (2 番目のパラメーター): これは、この関数が引数として受け取る 2 番目のパラメーターであり、次のような並べ替えロジックを含むユーザー定義関数になります。それ。関数を 1 つ定義し、この usort() 関数からユーザー定義関数を呼び出すことができます。このように「function_name」に名前を渡す必要があります。以下では、名前に基づいて配列をソートする 1 つの関数を呼び出しています。

例:。 :

usort($arr, "sortByName")

3) Boolean (戻り値の型): この関数の戻り値の型は Boolean で、Boolean は関数の結果に応じて TRUE または FALSE の値を表します。この関数は、失敗した場合には FALSE を返し、成功した場合には TRUE を返します。ここで、これが実際にどのように機能するのか、またこの関数をどこで使用できるのかを示す 1 つの実践例を見ていきます。初心者向けにその流れと仕組みが分かる実践例を紹介します。以下を参照してください;

例: :

function my_function_to_sort($a1,$b1)
{
if ($a1==$b1) return 0;
if ($a1 < $b1)
return 1;
else
return -1;
}
$myarr=array(40, 50, 20, 10, 100, 500, 20, 18);
usort($myarr,"my_function_to_sort");

上記の例では、「myarr」という 1 つの配列を作成しました。これには、並べ替えるすべての要素が含まれます。ここでは、この配列にいくつかの値を 40、50、20、10、100、500、20、18 として割り当て、PHP ですでに利用可能な配列関数を使用しました。また、ここでは「my_function_to_sort」という関数を 1 つ作成しました。この関数は、返された条件に基づいて配列要素を並べ替えます。この中には、渡された 2 つの値が互いに大きいか小さいか等しい場合のロジックを主に記述しました。これに基づいて、要素を配列に配置します。

次に、条件を詳しく見ていきます。ここでの 1、-1、0 にはどのような意味があるのでしょうか?それらについて詳しく説明しましょう。以下を参照してください;

1) 0: 両方の要素が等しい場合、ここでは 0 を返します。

2) 1: 上記の条件から、a1 が b1 より小さい場合は 1 を返すことがわかります。

3) -1: 上記の条件から、a1 が b1 より大きい場合、-1 が返されることがわかります。

そして、ロジック全体が整数の配列を昇順または降順に並べ替える役割を果たします。上記のプログラムでは、配列要素の降順ソートを実行します。

After this, we are calling usort() function, and here we pass our own parameters here, and that is named ‘$myarr’ ‘my_function_to_sort’. This we can say a custom sorting that we have implemented by using the usort ()
function.

Examples of PHP usort()

Lets us discuss the examples of PHP usort().

Example 1

1) In this example, we are sorting an array of an integer using usort() function available in PHP. This is a custom sort, and we are sorting in descending order.




Demo for usort() funciton in PHP

******************** START ***************

"; echo "

values are ::

"; echo "
"; $lenarr=count($myarr); for($i=0;$i<$lenarr;$i++) { echo "Inside loop printing values :::"; echo $myarr[$i]; echo "
"; } ?>

******************** END ***************

Output:

PHP usort()

Example 2

In this example, we are trying to sort an array of the string by using the usort() function available in PHP. Here we are sorting in ascending order or natural order.

<!DOCTYPE html>
<html>
<body>
<p>Demo for usort() funciton in PHP</p>
<p>******************** START ***************</p>
<?php
function my_function_to_sort($a1,$b1)
{
if ($a1==$b1) return 0;
if ($a1 < $b1)
return -1;
else
return 1;
}
$myarr=array("red","yellow", "orange", "black","pink","purple","brown");
usort($myarr,"my_function_to_sort");
echo "<br>";
echo "<p>values are ::</p>";
echo "<br>";
$lenarr=count($myarr);
for($i=0;$i<$lenarr;$i++)
{
echo "Inside loop printing values :::";
echo $myarr[$i];
echo "<br>";
}
?>
<p>******************** END ***************</p>
</body>
</html>

Output:

PHP usort()

Conclusion

By using this function, we can sort the array in a custom order, or we can say, in a user-defined manner. This can be called a new manner sorting. By using this, we can sort any number of elements in the array and apply our own logic to sort the data in ascending and descending or natural order.

以上がPHP usort()の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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