php

Penggunaan fungsi usort () dalam PHP

Penggunaan fungsi usort () dalam PHP
Banyak fungsi terbina dalam PHP untuk menyusun pemboleh ubah array. fungsi usort () adalah salah satunya. Fungsi ini menyusun susunan dengan menggunakan fungsi panggilan balik yang ditentukan pengguna. Apabila array mengandungi jenis data tertentu yang tidak dapat disusun dengan cara standard dengan menggunakan fungsi pengurutan lain, maka usort () lebih baik digunakan. Sebagai contoh, jika array mengandungi nilai data, maka variasi tidak dapat disusun dengan tepat menggunakan fungsi semacam PHP yang lain. Jenis koleksi ini dapat disusun dengan menentukan fungsi yang ditentukan pengguna yang tepat yang disebut dalam argumen kedua fungsi usort () bagaimana fungsi usort () dapat menyusun nilai array tertentu yang ditunjukkan dalam tutorial ini.

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 balik
fungsi 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 bersekutu
fungsi 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 dimensi
fungsi 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.

Kajian Tetikus Tanpa Wayar Microsoft Sculpt Touch
Saya baru-baru ini membaca mengenai Sentuhan Microsoft Sculpt tetikus tanpa wayar dan memutuskan untuk membelinya. Setelah menggunakannya sebentar, sa...
Trackpad dan Mouse Pointer pada skrin Windows AppyMouse untuk Tablet Windows
Pengguna tablet sering kehilangan penunjuk tetikus, terutama ketika mereka biasa menggunakan komputer riba. Telefon pintar dan tablet skrin sentuh dil...
Butang tetikus tengah tidak berfungsi pada Windows 10
The butang tetikus tengah membantu anda menelusuri halaman web dan skrin yang panjang dengan banyak data. Sekiranya ia berhenti, anda akan menggunakan...