ホームページ  >  記事  >  バックエンド開発  >  PHP配列ソートusort uksortソート関数

PHP配列ソートusort uksortソート関数

高洛峰
高洛峰オリジナル
2016-11-29 14:48:281868ブラウズ

配列を並べ替える: usort() 関数は、ユーザー定義関数を使用して配列を並べ替えます。コード例は次のとおりです。

function cmp($a, $b) //ユーザー定義のコールバック関数

{

if($a ==$b) // 2 つのパラメータが等しい場合

{

return 0; // 0 を返す

}

return($a>$b)?-1:1; /最初のパラメータが 2 番目のパラメータより大きい場合は 1 が返され、それ以外の場合は -1 が返されます

}

$a=array(3,2,5,6,1); カスタム関数を使用してarray

foreach($a as $key=>$value) // ソートされたキーと値のペアを出力するループ

{

echo "$key:$valuen";

注: 2 つの要素の比較結果は同じであり、ソートされた配列内の順序は定義されていません。PHP 4.0.6 より前では、ユーザー定義関数はこれらの要素の元の順序を保持しますが、4.1 以降、新しいソート アルゴリズムが導入されました。これに対する効果的な解決策がないため、結果はこのようにはなりません。

配列キー名 uksort(array, sorttype) をソートします。コード例は次のとおりです。

function cmp($a , $b) ) //ユーザー定義のコールバック関数

{

if($a==$b) //2 つのパラメータが等しい場合

{ //Return 0

}

return ($ a>$b)?-1:1; //最初のパラメータが 2 番目のパラメータより大きい場合は 1 を返し、それ以外の場合は -1 を返します

}

$a=array(4=>"four",3 = >"three",20 =>"twenty",10=>"ten"); //配列を定義します

uksort ($a,"cmp"); // カスタム関数を使用して配列を並べ替えますキー名 Sorting

foreach($a as $key=>$value) // ソートされたキーと値のペアを出力するループ

{//

echo "$key:$valuen"

; uksort() この関数は、ユーザー定義の比較関数を使用して配列をキー名でソートし、成功した場合は true を返し、それ以外の場合は

ソートされる配列をソートする必要がある場合は false を返します。この関数を使用するには、カスタム関数は 2 つのパラメーターを受け入れる必要があります。これらのパラメーターには、配列内のキー名のペアが入力されます。最初のパラメーターが小さい場合、比較関数は 0 より小さい値を返す必要があります。 2 番目のパラメータより大きい、0 に等しい、または 0 より大きい整数

関数は、指定された配列の値を昇順に並べ替えます。新しいキー名を配列内のユニットに割り当てます。成功した場合は true を返し、それ以外の場合は false を返します。コード例は次のとおりです。

$fruits=array("lemon") ,"orange","banana","apple"); // 配列

sort($fruits) ;//

;

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