#このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューターphp 配列はソートできます。 PHP には、さまざまな配列ソート関数があります: 1. sort() (構文「sort(array)」を使用して昇順にソートできます); 2. rsort() (構文「sort(array)」を使用して降順にソートできます) "rsort(array)"; 3. shuffle() はランダムに並べ替えることができ、構文は "shuffle(array)" です。
php 配列はソート可能。
php は、配列のさまざまな並べ替えニーズ (キー値、キー名、昇順、降順など) に対応するさまざまな組み込み関数を提供します。#1. 配列を昇順に並べ替える PHP には、よく使用される配列の昇順並べ替え関数が 3 つあります。
sort() 関数は、配列要素を昇順 (小さいものから大きいもの、低いものから高いもの) に並べ替えます。
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array(10, 23, 5, 12, 84, 16); sort($arr1); var_dump($arr1); $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); sort($arr2); var_dump($arr2); ?>
出力:
このうち、$sortingtype パラメータは、関数のソート モードを定義し、配列の要素/項目の比較方法を指定するために使用されます。デフォルト値は "SORT_REGULAR" です。$sortingtype パラメータは次の値に設定できます:
0 = SORT_REGULAR: 型を変更せずに配列要素を通常どおり比較します (デフォルト値);
- 1 = SORT_NUMERIC: 配列要素を数値として扱う;
- ##2 = SORT_STRING: 配列要素を文字列として扱う;
- 3 = SORT_LOCALE_STRING: 現在のロケール (setlocale() で変更可能) に基づいて、配列要素を文字列として比較します。
- 4 = SORT_NATURAL: natsort() と同様に、配列要素ごとに文字列を「自然な順序」で並べ替えます。これは PHP5.4.0 の新機能です。
- 5 = SORT_FLAG_CASE: 大文字と小文字を区別しない並べ替え文字列である SORT_STRING または SORT_NATURAL (またはビット単位の演算) と組み合わせることができます。
- 出力結果:
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array(10, 23, 5, 12, 84, 16); sort($arr1,2); var_dump($arr1); $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); sort($arr2,1); var_dump($arr2); ?>
sort() 関数はインデックス関係を維持せず、削除します。配列を元のキー名に置き換え、新しい数値キー名を割り当てます。
<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); sort($age); var_dump($age); ?>出力:
sort() 関数は、値とインデックスの関係がそれほど重要ではない配列に使用できます。 (数値配列) ですが、値とインデックスの関係に焦点を当てた配列は適していません。この時点で、asort() 関数と ksort() 関数を使用する必要があります。
2. asort() 関数を使用します
asort() 関数は、キー値に基づいて連想配列を昇順に並べ替えますが、変更は行いません元の配列内のキー名。
header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); asort($age); var_dump($age); ?>出力:
asort() 関数にも 2 つのパラメータがあり、パラメータ値はソートと同じです()関数を参照してください。
3. ksort() 関数を使用する
ksort() 関数は、関連する配列をキー名に従って昇順に並べ替えます。元の配列のキー名は変更しないでください。
<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); ksort($age); var_dump($age); ?>出力:
##
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple"); ksort($arr); var_dump($arr); ?>出力:
ksort()関数にもパラメータが2つあり、パラメータの値はsort()関数と同じなので参照することができます。
2. 配列を降順に並べ替える
PHP では、よく使用される 3 つの配列の降順並べ替え関数があります。
rsort(): 配列要素を降順に並べ替えます1 のキー名に従って、配列を降順に並べ替えます。 rsort() 関数
コード例を見てみましょう:
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(2, 1, 5, 16, 29, 15); rsort($arr); var_dump($arr); ?>出力結果:
rsort() 函数有两个参数:$array(必须)和$sortingtype(可省略)。$sortingtype参数用于表示排序模式,具体取值可以参考上篇文章的sort()函数。下文arsort()和krsort()同样参考sort()函数。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(2, 1, 5, 16, 29, 15); rsort($arr,2); var_dump($arr); ?>
输出结果:
rsort()和sort()函数一样,都不会保持索引关系,会删除数组中原有的键名,并为其重新赋值;因此不适合用于注重值和索引间关系的数组。
2、使用arsort()函数
arsort()函数会根据关联数组的键值进行降序排序,且不会修改原数组中的键名。
<?php header("Content-type:text/html;charset=utf-8"); $age = array("张三"=>30,"李四"=>23,"王五"=>15,"李华"=>12,"娜娜"=>26,"小红"=>16); arsort($age); var_dump($age); arsort($age,2); var_dump($age); ?>
输出结果:
3、使用krsort()函数
krsort()函数会根据关联数组的键名进行降序排序,也不会修改原数组中的键名。
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple"); krsort($arr); var_dump($arr); krsort($arr,1); var_dump($arr); ?>
输出结果:
3、随机排序
在PHP中,可以使用shuffle()函数随机排序,打乱数组元素。
shuffle()函数会把数组中的元素按随机顺序重新排列。
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array(10, 23, 5, 12, 84, 16); shuffle($arr1); var_dump($arr1); $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); shuffle($arr2); var_dump($arr2); ?>
输出结果:
刷新一下,结果就改变了:
说明:shuffle()函数不仅会将数组随机打乱,还会删除数组中原有的键名,并为其赋与新的数值键名(即不会保持索引关系)。
推荐学习:《PHP视频教程》
以上がPHPの配列はソートできるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。