Sintaks:
Sintaks fungsi usort () diberikan di bawah.
Usort Boolean (array $ array, callback ())Fungsi ini mempunyai dua argumen. Kedua-dua hujah itu wajib. Argumen pertama mengambil susunan yang akan disusun. Fungsi callback () membandingkan nilai array untuk menyusun array dan mengembalikan nilai angka. Sekiranya argumen fungsi panggilan balik () sama, maka fungsi akan kembali 0. Sekiranya argumen pertama fungsi panggilan balik () lebih besar daripada argumen kedua, ia akan mengembalikan 1. Sekiranya argumen pertama fungsi panggilan balik () lebih kecil daripada argumen kedua, ia mengembalikan -1. fungsi usort () mengembalikan true untuk jenis yang berjaya dan mengembalikan false untuk jenis yang tidak berjaya. Beberapa kegunaan fungsi ini telah ditunjukkan di bahagian seterusnya dari tutorial ini.
Contoh-1: Susun pelbagai nilai tarikh
Contoh berikut menunjukkan bagaimana susunan nilai tarikh dapat disusun dengan betul menggunakan fungsi usort (). Buat fail PHP dengan skrip berikut. $ date_array ditakrifkan dengan nilai lima tarikh. urutkan_ tarikh () fungsi dinyatakan sebagai fungsi panggilan balik untuk menyusun $ date_array. Nilai array dicetak sebelum memanggil fungsi usort (). Apabila fungsi usort () dipanggil dengan array dan fungsi callback, ia akan menukar dua nilai tarikh menjadi nilai cap waktu menggunakan fungsi strtotime (). Sekiranya dua nilai cap masa sama, maka fungsi akan kembali 0. Sekiranya nilai cap waktu pertama lebih besar daripada nilai cap waktu kedua, maka fungsi akan kembali 1. Sekiranya nilai cap waktu pertama lebih rendah daripada nilai cap waktu kedua, fungsi akan kembali -1. fungsi usort () akan memanggil fungsi panggilan balik beberapa kali sehingga $ date_array disusun dengan betul. Seterusnya, susunan yang disusun akan dicetak menggunakan untuk setiap gelung.
// Tentukan fungsi panggilan balikfungsi sort_date ($ a, $ b)
mengembalikan strtotime ($ a) - strtotime ($ b);
// Menyatakan susunan nilai tarikh
$ date_array = array ('25 -03-2020 ', '14 -03-2020', '28 -02-2015 ', '09 -12-2017', '20 -09-2015 ');
// Cetak nilai array sebelum menyusun
gema "
Nilai susunan tarikh:
";foreach ($ date_array sebagai nilai $)
echo $ nilai."
";
// Susun susunan menggunakan usort ()
usort ($ date_array, "sort_date");
// Cetak susunan mengikut urutan
gema "
Keluaran selepas menyusun susunan tarikh:
";foreach ($ date_array sebagai nilai $)
echo $ nilai."
";
?>
Pengeluaran:
Output berikut akan muncul setelah menjalankan skrip dari pelayan.
Contoh-2: Susun susunan bersekutu
Contoh berikut menunjukkan bagaimana susunan asosiatif dapat disusun menggunakan fungsi usort (). Buat fail PHP dengan skrip berikut. sebutkan_nama () fungsi dinyatakan fungsi panggilan balik untuk menyusun array berdasarkan nilai array. Operator terner digunakan dalam sebutkan_nama () berfungsi untuk membandingkan nilai array bersekutu. Sekiranya kedua-dua nilai itu sama, maka fungsi panggilan balik akan mengembalikan 0. Sekiranya nilai argumen pertama lebih besar daripada nilai argumen kedua, maka fungsi panggilan balik akan kembali 1. Sekiranya nilai argumen pertama lebih kecil daripada nilai argumen kedua, maka fungsi panggilan balik akan kembali -1. usort () akan menyusun array dengan menggunakan fungsi panggil balik, dan susunan yang disusun akan dicetak menggunakan untuk setiap gelung.
// Tentukan fungsi untuk menyusun susunan bersekutufungsi sort_names ($ a, $ b)
pulangkan $ a == $ b ? 0: $ a> $ b ? 1: -1;
// Tentukan susunan bersekutu
$ person = array ("1001" => "Meera Ali", "1002" => "Kabir Hossain", "1003" => "Nurjahan Akter");
// Isih tatasusunan
usort ($ orang, "sort_names");
// Cetak susunan yang disusun
gema "Nilai susunan yang disusun:
";
foreach ($ orang sebagai $ orang)
bergema $ orang. "
";
?>
Pengeluaran:
Output berikut akan muncul setelah menjalankan skrip dari pelayan.
Contoh-3: Isih tatasusunan dua dimensi
Contoh berikut menunjukkan bagaimana susunan dua dimensi dapat disusun menggunakan fungsi usort (). Buat fail PHP dengan skrip berikut. susun_array () fungsi dinyatakan fungsi panggilan balik untuk menyusun array berdasarkan nilai array. Fungsi strcmp () digunakan dalam fungsi panggilan balik untuk membandingkan nilai array. Sekiranya kedua-dua nilai itu sama, maka fungsi strcmp () akan kembali 0. Sekiranya nilai argumen pertama lebih besar daripada nilai argumen kedua, maka fungsi strcmp () akan kembali 1. Sekiranya nilai argumen pertama lebih kecil daripada nilai argumen kedua, maka fungsi strcmp () akan kembali -1. usort () akan menyusun array dengan menggunakan fungsi panggilan balik, dan struktur array yang disusun akan dicetak menggunakan cetak_r () fungsi.
// Tentukan fungsi untuk menyusun susunan dua dimensifungsi sort_array ($ a, $ b)
pulangkan strcmp ($ a ['a'], $ b ['a']);
// Menyatakan susunan dua dimensi
$ animal = array (array ("a" => "Lion"), array ("a" => "Rusa"), array ("a" => "Arnab"), array ("a" => "Monyet "));
// Isih tatasusunan
usort ($ binatang, "sort_array");
// Cetak susunan yang disusun
gema "Nilai array selepas usort ():
";";
print_r ($ haiwan);
gema "
?>
Pengeluaran:
Output berikut akan muncul setelah menjalankan skrip dari pelayan.
Kesimpulan:
usort () adalah fungsi yang berguna untuk menyusun jenis data tertentu yang tidak dapat menyusun fungsi urutan normal PHP dengan betul. Fungsi panggilan balik fungsi usort () ditentukan berdasarkan jenis nilai yang diperlukan untuk menyusun. Tutorial ini akan membantu pembaca mengetahui bagaimana menggunakan fungsi usort () dan menerapkannya dalam skrip mereka berdasarkan keperluan.