ホームページ >バックエンド開発 >PHPチュートリアル >PHP配列をソートするにはどうすればよいですか?

PHP配列をソートするにはどうすればよいですか?

黄舟
黄舟オリジナル
2017-05-04 11:30:0313090ブラウズ

PHP 配列をソートするにはどうすればよいですか?

私たちの日々の PHP 配列開発では、多くのプロジェクトで配列のソートが不可欠です。PHP 配列には、 asort() 関数と ksort() 関数といういくつかのソート方法があります。 1 つずつ紹介します。今日!

最初のメソッド: asort()

asort() 関数は配列をソートし、インデックス関係を維持します

構文形式は次のとおりです:

bool sort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

ソート型タグ:

  • SORT_REGULAR - 通常の比較 単位 (タイプを変更しない)

  • SORT_NUMERIC - 単位は数値として比較されます

  • SORT_STRING - 単位は文字列として比較されます

  • SORT_LOCALE_STRING - 単位は現在のロケール設定に基づいて文字列として比較されます 文字列比較setlocale() を使用して変更できます。

  • SORT_NATURAL - natsort() と同様に、ユニットごとに文字列を「自然な順序」で並べ替えます。 PHP 5.4.0 の新機能。

  • SORT_FLAG_CASE - 大文字と小文字を区別しない並べ替え文字列である SORT_STRING または SORT_NATURAL (OR ビット演算) と組み合わせることができます。

注: ソートは主に数値インデックス配列をソートするために使用されます。ソートのために連想配列をソートすると、配列のキーが失われます。また、UTF8中国語はソートできません。

以下は、sort 関数の小さな例です。具体的なコードは次のとおりです。

<?php
header("Content-Type:text/html; charset=utf-8");
$arr = [&#39;g&#39;,&#39;h&#39;,&#39;d&#39;,&#39;a&#39;,&#39;z&#39;,&#39;F&#39;,&#39;b&#39;,&#39;c&#39;,&#39;e&#39;,&#39;A&#39;,&#39;f&#39;];
print_r($arr);
sort($arr); // 从 A-Z, a-z, 数字从小到大  进行排序
print_r($arr);
?>

PHP配列をソートするにはどうすればよいですか?

次のコード例を参照してください。

<?php
header("Content-Type:text/html; charset=utf-8");
$arr2 = [8,1,2,10,3,4,5];
print_r($arr2);
sort($arr2); // 如果值是数子, 从小到大,进行排序
print_r($arr2);
?>

出力結果は次のとおりです:

PHP配列をソートするにはどうすればよいですか?

上記の例から、配列の値が数値の場合、sort() 関数を使用すると小さい値から大きい値へ並べ替えられることがわかります。

2 番目の方法は、連想配列を昇順することです: asort() と ksort()

asort() 関数は、配列をソートし、インデックス関係を維持します。

連想配列はsortでソートできないので、どのような関数を使えばよいでしょうか? asort の使用をお勧めします。使い方は sort と同じですが、構文形式は次のとおりです。

bool asort ( array &$array [, int $sort_flags = SORT_REGULAR ] )

asort 関数の使用例は次のとおりです。
<?php
header("Content-Type:text/html; charset=utf-8");
//$arr = array("one"=>"100","two"=>"300","400"=>"教程");
$arr[&#39;one&#39;] = 100;
$arr[&#39;two&#39;] = 20;
$arr[&#39;three&#39;] = 3;
asort($arr);     // asort排序,键值会保留
print_r($arr);
?>

出力結果は次のとおりです:

PHP配列をソートするにはどうすればよいですか?

PHP配列をソートするにはどうすればよいですか?では、asort は何に基づいているのでしょうか?

asort が配列の値を使用して実際にソートすることを証明できます。キーをソートしたい場合は、ksort を使用できます。

ksort() 関数は、配列をキー名で並べ替えます。

構文形式は次のとおりです:

bool ksort ( array &$array [, int $sort_flags = SORT_REGULAR ] )
配列をキー名でソートし、キー名とデータの間の関連付けを保持します。この関数は主に連想配列に使用されます。

以下は ksort 関数の使用例です。 コードは次のとおりです:

<?php
header("Content-Type:text/html; charset=utf-8");
//$arr = array("one"=>"100","two"=>"300","400"=>"教程");
$arr[&#39;one&#39;] = 100;
$arr[&#39;two&#39;] = 20;
$arr[&#39;three&#39;] = 3;
ksort($arr);    //使用key值对数组进行排序
print_r($arr);
?>

出力結果は次のとおりです:


この記事では、PHP 配列の昇順を紹介します。配列の逆順については次の記事で紹介します。逆順を実装するための関数も3つあります。詳しくは「

PHP配列の逆順

」をご覧ください。 「!

【おすすめチュートリアル】

1. おすすめ関連トピック:「

php配列(配列)PHP配列をソートするにはどうすればよいですか?

2. おすすめ関連動画コース:

値による配列ソート:sort() forwardとrsort ()逆ソート機能

キー名による配列ソート:ksort()昇順とkrsort()降順関数


以上がPHP配列をソートするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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