PHP において、配列は一連のデータを格納でき、操作も簡単な非常に重要なデータ型です。配列をソートする必要がある場合、PHP には多くの組み込み関数とメソッドが用意されています。
この記事では、主に次のような、PHP で一般的に使用される配列の並べ替えメソッドを紹介します。
array_sort() 関数これは、配列の並べ替えに使用できる PHP のカスタム関数です。この関数を呼び出すときは、2 つのパラメータを渡す必要があります。最初のパラメータは並べ替える配列で、2 番目のパラメータは並べ替え方法です。SORT_ASC と SORT_DESC を使用できます。
次は、array_sort() 関数を使用して配列を並べ替える例です。
function array_sort($arr,$keys,$type=SORT_ASC){ $keysvalue = array(); foreach($arr as $key=>$val){ $keysvalue[$key] = $val[$keys]; } if($type == SORT_ASC){ asort($keysvalue); }else{ arsort($keysvalue); } reset($keysvalue); foreach($keysvalue as $key=>$vals) { $keysort[$key] = $key; } $new_array = array(); foreach($keysort as $key=>$val) { $new_array[$val] = $arr[$val]; } return $new_array; }
使用方法:
$arr = array(
array('id'=>1,'name'=>'Tom','age'=>20), array('id'=>2,'name'=>'Jerry','age'=>18), array('id'=>3,'name'=>'Lucy','age'=>22)
) ;
$arr = array_sort($arr,'age',SORT_DESC);
print_r($arr);
出力結果:
Array
(
[0] => Array ( [id] => 3 [name] => Lucy [age] => 22 ) [1] => Array ( [id] => 1 [name] => Tom [age] => 20 ) [2] => Array ( [id] => 2 [name] => Jerry [age] => 18 )
)
sort() 関数は、PHP でよく使用される並べ替え関数の 1 つです。主に配列のソートに使用されます。昇順または降順で並べ替えることも、配列のインデックス関係を変更しないままにすることもできます。
次は、sort() 関数を使用して配列を並べ替える例です。
$arr = array(3,1,4,2,5);
sort($arr );
print_r($arr);
出力結果:
Array
(
[0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5
)
asort($arr );
print_r($arr);
(
[1] => 1 [3] => 2 [0] => 3 [2] => 4 [4] => 5)#ksort( )Function
以下は、ksort() 関数を使用して配列を並べ替える例です。
$arr = array('d'=>'Dog','a'= >'リンゴ ','c'=>'猫','b'=>'男の子');
ksort($arr);print_r($arr);
出力結果:
Array
([a] => Apple [b] => Boy [c] => Cat [d] => Dog
以下は、usort() 関数を使用して配列を並べ替える例です。
function cmp($a, $b)
{if ($a == $b) return 0; return ($a < $b) ? -1 : 1;
usort($arr, "cmp");
print_r($arr);
出力結果:
Array
([0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5
次は、uasort() 関数を使用して配列を並べ替える例です。
function cmp($a, $b)
{if ($a == $b) return 0; return ($a < $b) ? -1 : 1;
uasort($arr, "cmp");
print_r($arr);
出力結果:
Array
([a] => Apple [b] => Boy [c] => Cat [d] => Dog
次は、uksort() 関数を使用して配列を並べ替える例です。
function cmp($a, $b)
{if ($a == $b) return 0; return ($a < $b) ? -1 : 1;
uksort($arr, "cmp");
print_r($arr);
出力結果:
Array
([a] => Apple [b] => Boy [c] => Cat [d] => Dog
次は、natsort() 関数を使用して配列を並べ替える例です。
$arr = array('img12.png', 'img10.png', 'img2 .png', 'img1.png');
natsort($arr);print_r($arr);
出力結果:
Array
([3] => img1.png [2] => img2.png [1] => img10.png [0] => img12.png
)
arsort()函数是PHP中的一种排序函数,它可以按照降序方式将数组中的元素进行排序。该函数不会保留原来数组中的键(key)与值(value)之间的关系。
下面是一个使用arsort()函数对数组进行排序的例子:
$arr = array(3,1,4,2,5);
arsort($arr);
print_r($arr);
输出结果:
Array
(
[4] => 5 [2] => 4 [0] => 3 [1] => 1 [3] => 2
)
rsort()函数是PHP中常用的排序函数之一,它可以按照降序的方式来排序。该函数不会保留原来数组中的键(key)与值(value)之间的关系。
下面是一个使用rsort()函数对数组进行排序的例子:
$arr = array(3,1,4,2,5);
rsort($arr);
print_r($arr);
输出结果:
Array
(
[0] => 5 [1] => 4 [2] => 3 [3] => 2 [4] => 1
)
总结:
以上介绍了PHP中常用的数组排序方法,包括array_sort()函数、sort()函数、asort()函数、ksort()函数、usort()函数、uasort()函数、uksort()函数、natsort()函数、arsort()函数和rsort()函数。不同的排序函数有不同的需求和使用场景,开发者应根据具体的需求来选择合适的排序函数。
以上がPHPで配列をソートする方法は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。