Dalam PHP, tatasusunan ialah jenis data yang sangat penting, yang boleh menyimpan satu siri data dan boleh dikendalikan dengan mudah. Apabila kita perlu mengisih tatasusunan, PHP menyediakan banyak fungsi dan kaedah terbina dalam.
Artikel ini akan memperkenalkan kaedah pengisihan tatasusunan yang biasa digunakan dalam PHP, terutamanya termasuk yang berikut:
fungsi array_sort() Ia adalah fungsi tersuai dalam PHP yang boleh digunakan untuk menyusun tatasusunan. Apabila memanggil fungsi ini, anda perlu memasukkan dua parameter Parameter pertama ialah tatasusunan yang akan diisih, dan parameter kedua ialah kaedah pengisihan Anda boleh menggunakan SORT_ASC dan SORT_DESC.
Berikut ialah contoh menggunakan fungsi array_sort() untuk mengisih tatasusunan:
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; }
Penggunaan:
$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);
Hasil output:
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 )
)
fungsi sort() ialah salah satu fungsi pengisihan yang biasa digunakan dalam PHP, terutamanya untuk Tatasusunan diisih. Ia boleh diisih dalam tertib menaik atau menurun, atau ia boleh mengekalkan hubungan indeks tatasusunan tidak berubah.
Berikut ialah contoh menggunakan fungsi sort() untuk mengisih tatasusunan:
$arr = array(3,1,4,2,5);
sort( $arr );
print_r($arr);
Hasil output:
Array
(
[0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5
)
Fungsi asort() ialah kaedah mengisih tatasusunan Ia boleh diisih dalam tertib menaik atau menurun, tetapi akan mengekalkan hubungan indeks tatasusunan tidak berubah. Apabila menggunakan fungsi asort(), ia mengisih tatasusunan berdasarkan nilainya.
Berikut ialah contoh menggunakan fungsi asort() untuk mengisih tatasusunan:
$arr = array(3,1,4,2,5);
asort( $arr );
print_r($arr);
Hasil output:
Array
(
[1] => 1 [3] => 2 [0] => 3 [2] => 4 [4] => 5
)
fungsi ksort() ialah kaedah mengisih tatasusunan Ia boleh diisih dalam tertib menaik atau menurun, tetapi ia akan mengekalkan kunci dan nilai tatasusunan. ( nilai) kekal tidak berubah.
Berikut ialah contoh menggunakan fungsi ksort() untuk mengisih tatasusunan:
$arr = array('d'=>'Dog','a'=> 'Epal ','c'=>'Kucing','b'=>'Boy');
ksort($arr);
print_r($arr);
Output hasil:
Array
(
[a] => Apple [b] => Boy [c] => Cat [d] => Dog
)
usort() function ialah untuk tatasusunan Kaedah pengisihan yang berbeza daripada fungsi pengisihan lain Fungsi usort() membolehkan anda menyesuaikan algoritma pengisihan. Apabila menggunakan fungsi usort(), anda boleh menentukan fungsi perbandingan yang akan membandingkan nilai tatasusunan berdasarkan kriteria yang dikehendaki (seperti bilangan aksara yang terkandung dalam rentetan atau saiz nombor).
Berikut ialah contoh menggunakan fungsi usort() untuk mengisih tatasusunan:
fungsi cmp($a, $b)
{
if ($a == $b) return 0; return ($a < $b) ? -1 : 1;
}
$arr = array(3,1,4,2,5);
usort($arr, "cmp");
print_r($arr);
Output hasil:
Array
(
[0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5
)
uasort() function is dalam PHP Fungsi pengisihan yang serupa dengan fungsi usort() dan membolehkan anda menyesuaikan algoritma pengisihan. Tetapi tidak seperti fungsi usort(), ia mengekalkan nilai utama tatasusunan tidak berubah.
Berikut ialah contoh menggunakan fungsi uasort() untuk mengisih tatasusunan:
fungsi cmp($a, $b)
{
if ($a == $b) return 0; return ($a < $b) ? -1 : 1;
}
$arr = array('d'=>'Anjing','a'=>'Epal','c'=>'Kucing','b'=>'Boy') ;
uasort($arr, "cmp");
print_r($arr);
Hasil keluaran:
Array
(
[a] => Apple [b] => Boy [c] => Cat [d] => Dog
)
fungsi uksort() ialah fungsi pengisihan dalam PHP Ia serupa dengan fungsi ksort() dan boleh juga dalam menaik atau tertib menurun. Tetapi tidak seperti fungsi ksort(), ia membolehkan anda menyesuaikan algoritma pengisihan dan mengekalkan hubungan antara kunci dan nilai tidak berubah.
Berikut ialah contoh menggunakan fungsi uksort() untuk mengisih tatasusunan:
fungsi cmp($a, $b)
{
if ($a == $b) return 0; return ($a < $b) ? -1 : 1;
}
$arr = array('d'=>'Anjing','a'=>'Epal','c'=>'Kucing','b'=>'Boy') ;
uksort($arr, "cmp");
print_r($arr);
Hasil keluaran:
Array
(
[a] => Apple [b] => Boy [c] => Cat [d] => Dog
)
fungsi natsort() ialah fungsi pengisihan dalam PHP Ini mungkin tidak begitu mesra pengguna. Intuitif kerana ia membandingkan nombor dalam rentetan nombor.
Berikut ialah contoh menggunakan fungsi natsort() untuk mengisih tatasusunan:
$arr = array('img12.png', 'img10.png', 'img2.png ', 'img1.png');
natsort($arr);
print_r($arr);
Hasil keluaran:
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()函数。不同的排序函数有不同的需求和使用场景,开发者应根据具体的需求来选择合适的排序函数。
Atas ialah kandungan terperinci Apakah kaedah menyusun tatasusunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!