phpチュートリアル配列ソートusort uksortソート関数
配列を並べ替える
usort() 関数は、ユーザー定義関数を使用して配列を並べ替えます。
*/
function cmp($a, $b) //ユーザー定義のコールバック関数
{
if($a==$b) //2 つのパラメータが等しい場合
{
0 を返す //0 を返す
}
return($a>$b)?-1:1; //最初のパラメータが 2 番目のパラメータより大きい場合は 1 を返し、それ以外の場合は -1 を返します
}
$a=array(3,2,5,6,1); //配列を定義します
usort ($a,"cmp"); // カスタム関数を使用して配列を並べ替えます
foreach($a as $key=>$value) //ソートされたキーと値のペアを出力するループ
{
echo "$key:$valuen";
}
/*
注: 2 つの要素が同一である場合、並べ替えられた配列内の順序は未定義です。 PHP 4.0.6 より前では、ユーザー定義関数はこれらの要素の元の順序を保持していました。しかし、4.1.0 で導入された新しい並べ替えアルゴリズムにより、これに対する効率的な解決策が存在しないため、これは当てはまらなくなります。
*/
//配列キーをソートします uksort(array,sorttype)
function cmp($a, $b) //ユーザー定義のコールバック関数
{
if($a==$b) //2 つのパラメータが等しい場合
{
0 を返す //0 を返す
}
return($a>$b)?-1:1; //最初のパラメータが 2 番目のパラメータより大きい場合は 1 を返し、それ以外の場合は -1 を返します
}
$a=array(4=>"four",3 =>"three",20 =>"twenty",10=>"ten") //配列を定義します
uksort ($a,"cmp"); // カスタム関数を使用して配列キーを並べ替えます
foreach($a as $key=>$value) //ソートされたキーと値のペアを出力するループ
{
echo "$key:$valuen";
}/*
uksort() 関数は、ユーザー定義の比較関数を使用して配列をキー名で並べ替え、インデックス関係を維持します。
成功した場合は true を返し、そうでない場合は false を返します。
この関数は、並べ替えられる配列を通常とは異なる基準で並べ替える必要がある場合に使用する必要があります。
カスタム関数は 2 つのパラメーターを受け入れる必要があり、配列内のキー名のペアが入力されます。比較関数は、最初の引数が 2 番目の引数より小さい、等しい、または大きい場合、それぞれゼロ未満、ゼロに等しい、またはゼロより大きい整数を返す必要があります。
*/
/*
sort() 関数は、指定された配列の値を昇順に並べ替えます。
注: この関数は、配列内のユニットに新しいキー名を割り当てます。元のキー名は削除されます。
成功した場合は true を返し、そうでない場合は false を返します。
*/
$fruits=array("レモン","オレンジ","バナナ","リンゴ") //配列を定義します
sort($fruits); //配列をソートします
foreach($fruits as $key=>$val) // 配列の並べ替えられたキーと値のペアを出力するループ
{
echo "$key=$valn" // キーと値のペアを出力します
}