ホームページ >php教程 >php手册 >PHPの配列ソート方法まとめ おすすめ集

PHPの配列ソート方法まとめ おすすめ集

WBOY
WBOYオリジナル
2016-06-13 12:15:10978ブラウズ

PHP の急速な発展に伴い、PHP を使用する人が増えています。PHP 配列学習の抜粋では、最も基本的な PHP 配列の構築と配列要素の表示について学ぶことができます。 PHP 配列の関連操作を詳しく学ぶ必要があります。私が最初に遭遇したのは、PHP 配列のソートと降順の問題でした。

sort: この関数は、配列内のセルに新しいキー名を割り当てます。これにより、元のキーが単に並べ替えられるのではなく、削除されます。
rsort: この関数は配列を逆順 (最高位から最低位) にソートします。 元のキー名を並べ替えるだけでなく、元のキー名を削除します。
asort: 配列をソートし、インデックス関係を維持します
arsort: 配列を逆にソートし、インデックス関係を維持します

ksort: 配列をキー名でソートし、キー名とインデックスの関係を維持しますdata
krsort: キー名とデータの間の関連付けを保持しながら、配列をキー名で逆順にソートします

natsort: 英数字文字列をソートし、元のキー/値の関連付けを維持します
natcasesort: 以下と同じnatsort ソートアルゴリズム、ただし大文字と小文字を区別しない文字ソート


PHP 配列ソート (ソート)
数値インデックス配列ソート:
関数: sort(array, [sort type])
説明: sort() 関数は、指定された配列 (最初のパラメーター) を昇順でソートします。
sort 関数の 2 番目のパラメーターは、並べ替えの種類を指定するために使用され、オプションのパラメーターです。
SORT_REGULAR: デフォルト値、種類を変更せずに並べ替えます。値を数値として;
SORT_STRING: 値を文字列として並べ替えます。
配列に 4 と "37" がある場合は、数値で並べ替えます。4 は "37" より小さいです。 、4 は "37" より大きいです。


コードをコピー コードは次のとおりです。

$a = array(4,"37", 3,100,0,-5);
sort($a);
for ($i=0; $i<6; $i) {
echo $a[$i]." ";
echo "
"
sort($a,SORT_STRING); =0; $i<6; $i){
echo $a[$i] ";
エコー "
"; 🎜>

出力結果:

-5 0 3 4 37 100
-5 0 100 3 37 4


降順ソート: rsort(array, [ソートタイプ])

パラメータの使い方とソート 機能は同じです。


連想配列のソート:
関数:asort(array, [ソートタイプ])
説明:連想配列の要素値に従って昇順にソート。パラメータの使用法は、上記のsort関数で示したとおりです。

関数: ksort(array, [ソートタイプ]) 説明: 連想配列のキーワードに従って昇順にソートします。パラメータの使用法は、上記のsort関数で示したとおりです。




コードをコピー

コードは次のとおりです:

$a = array( "良い" => "悪い", "正しい" => "間違っている",

"男の子" => "女の子");


echo "値の並べ替え< ;br />";
asort($a);
foreach($a as $key => $value){
echo "$key : $value
";
}

echo "
key sort
";
ksort($a)
foreach($a as $key => $ value){
echo "$key : $value
";
}
?>


出力結果:


良い : 悪い
男の子 : 女の子

正しい : 間違っている

キーソート
男の子 : 女の子
良い : 悪い
正しい : 間違っている

降順ソート:

arsort(array, [sort type]) は asort に対応します
krsort(array, [sort type]) は ksort に対応します

クイック作成配列関数 range()


たとえば、range() 関数は 1 から 9 までの数値の配列をすばやく作成できます。


コードをコピー

コードは次のとおりです:

$numbers=range(1,9); echo $numbers[1]; >

もちろん、range(9,1) を使用すると、9 から 1 までの数値配列が作成されます。同時に、 range() は a から z までの文字配列も作成できます:



コードをコピー

コードは次のとおりです:

< ?php $numbers=range(a,z); foreach ($numbers as $mychrs) echo $mychrs." "; >

たとえば、range(A,z) と range(a,Z) は異なります。 range() 関数には 3 番目のパラメーターもあり、これはステップ サイズの設定に使用されます。たとえば、range(1,9,3) によって作成される配列要素は 1、4、7 です。一般的な PHP 配列のソート 一般に、配列内の各要素は文字または数字で表されるため、配列要素を昇順に並べることができます。この関数が sort() です。例:



コードをコピー

コードは次のとおりです:


$people=array('name','sex','nation','birth');
foreach ($people as $mychrs)
echo $mychrs." ";
sort($people);
echo "
---並べ替え後---
"; $mychrs)
echo $mychrs." ";
?>

当然、sort() で昇順にソートされて表示されます。関数は文字の大文字と小文字を区別します (文字の順序は大文字から小文字の順です: A...Z...a...z)

Sort() 関数には 2 番目のパラメータもあります。 PHP 配列の昇順ソートのルールが数値または文字列の比較に使用されることを示すために使用されます。例:

コードをコピー コードは次のとおりです:

echo "---数値の昇順に並べ替えます ---
";
$num2=array('26','3',);
sort($num2,SORT_NUMERIC);
foreach ( $num2 as $mychrs )
echo $mychrs." ";
echo "
---昇順に並べ替えます---
"; num3=array('26 ','3');
sort($num3,SORT_STRING);
echo $mychrs." "; ;


SORT_NUMERIC および SORT_STRING は、数値または文字の昇順を宣言するために使用されます。数字の昇順に並べると 3、26 になりますが、文字の昇順に並べると 26、3 になります。 PHP には昇順関数に加えて、rsort() 関数という降順または逆ソート関数もあります。たとえば、ここでは rsort($num1); と同等です。 range(9 ,1) まで。

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