PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのuksort()関数とは?構文・パラメータ・使い方をサンプルコード付きで解説

PHPのuksort()関数は、ユーザーが定義した比較関数(コールバック関数)を使って、配列をキーの順序でソートするための組み込み関数です。ソートが成功した場合にはTRUEを、失敗した場合にはFALSEを返します。

構文

uksort(arr, custom_function)

パラメータ(引数)

  • arr − ソート対象となる配列を指定します。

  • custom_function − 比較に使用するコールバック関数を指定します。この関数は、第1引数が第2引数よりも「小さい」とみなされる場合に0未満の整数、「等しい」とみなされる場合に0、「大きい」とみなされる場合に0より大きい整数を返す必要があります。

戻り値

uksort()関数は、ソートが成功した場合にTRUEを、失敗した場合にFALSEを返します。

使用例

以下は、uksort()関数を使って連想配列をキー順にソートするサンプルコードです。

<?php
function display($x,$y) {
    if ($x==$y) return 0;
    return ($x<$y)?-1:1;
}
$myarr = array("a"=>99,"b"=>27,"c"=>56);
uksort($myarr,"display");

foreach($myarr as $x=>$x_value) {
    echo "Key=" . $x . " Value=" . $x_value;
    echo "<br>";
}
?>

出力結果

Key=a Value=99
Key=b Value=27
Key=c Value=56

コードの解説

この例では、比較関数display()が各キー同士を比較し、キーが昇順に並ぶように配列を並べ替えています。その後、foreachループでソート後のキーと値のペアを出力しています。

uksort()は値ではなくキーに対して比較関数を適用する点が特徴です。値を基準にキーと値の関係を保ったままソートしたい場合はuasort()を、キーと値の関係を保持せずにソートしたい場合はusort()を使用するとよいでしょう。用途に応じてこれらの関数を使い分けることで、柔軟な配列操作が可能になります。

  1. PHPのlog()関数とは?自然対数の計算方法と使い方を解説

    定義と使い方log() 関数は、数値の自然対数(natural logarithm)を計算します。対数とは、指数関数の逆演算のことです。たとえば 102=100 という関係は「log10100=2」と表せます。自然対数はオイラー数 e を底として計算され、PHP では定義済み定数 M_E によって e の値(2.7182818284590452354)が提供されています。具体例を挙げると、exp(4.60517018599)=100(つまり e4.60517018599=100)が成り立つため、loge100=4.60517018599 となります。PHP では、この自然対数(loge)を l

  2. PHPのuksort()関数とは?構文・パラメータ・使い方をサンプルコード付きで解説

    PHPのuksort()関数は、ユーザーが定義した比較関数(コールバック関数)を使って、配列をキーの順序でソートするための組み込み関数です。ソートが成功した場合にはTRUEを、失敗した場合にはFALSEを返します。 構文 uksort(arr, custom_function) パラメータ(引数) arr − ソート対象となる配列を指定します。 custom_function − 比較に使用するコールバック関数を指定します。この関数は、第1引数が第2引数よりも「小さい」とみなされる場合に0未満の整数、「等しい」とみなされる場合に0、「大きい」とみなされる場合に0より大きい整数を返す必要があり