


Pengisihan lanjutan tatasusunan PHP: pembanding tersuai dan fungsi tanpa nama
Apr 27, 2024 am 11:09 AMDalam PHP, terdapat dua cara untuk mengisih tatasusunan dalam susunan tersuai: Pembanding tersuai: laksanakan antara muka Sebanding dan nyatakan peraturan perbandingan kedua-dua objek. Fungsi tanpa nama: Cipta fungsi tanpa nama sebagai pembanding tersuai untuk membandingkan dua objek dengan kriteria.
PHP Isih Tatasusunan Terperinci: Pembanding Tersuai dan Fungsi Tanpa Nama
Dalam PHP, menyusun tatasusunan dalam susunan tersuai memerlukan kefungsian melebihi apa yang boleh disediakan oleh fungsi pengisihan standard. Pembanding tersuai dan fungsi tanpa nama menyediakan mekanisme pengisihan yang lebih fleksibel daripada fungsi terbina dalam seperti sort()
dan rsort()
. sort()
、rsort()
等内置函数更灵活的排序机制。
自定义比较器
自定义比较器是一种实现 Comparable
接口的类,它定义了如何比较两个对象。实现 compareTo()
Pembanding Tersuai
Pembanding tersuai ialah kelas yang melaksanakan antara mukaComparable
, yang mentakrifkan cara membandingkan dua objek. Laksanakan kaedah compareTo()
untuk menentukan objek yang dianggap lebih besar, kurang daripada atau sama dengan objek lain. class CustomComparator implements Comparable { public function compareTo($a, $b): int { if ($a == $b) { return 0; } return $a > $b ? 1 : -1; } }
Fungsi Tanpa Nama
Fungsi tanpa nama ialah fungsi tanpa nama yang boleh dibuat dengan pantas dan diluluskan sebagai hujah. Mereka sering digunakan untuk membuat pembanding tersuai:$comparator = function($a, $b) { if ($a == $b) { return 0; } return $a > $b ? 1 : -1; };
Contoh praktikal
Pertimbangkan tatasusunan yang mengandungi nama dan markah pelajar:$students = [ ['name' => 'Alice', 'score' => 85], ['name' => 'Bob', 'score' => 90], ['name' => 'Carol', 'score' => 80], ];
rreee
🎜🎜🎜🎜🎜 kod akan susun tatasusunan mengikut markah pelajar daripada terkecil kepada terbesar: 🎜$comparator = new CustomComparator(); usort($students, [$comparator, 'compareTo']);
Atas ialah kandungan terperinci Pengisihan lanjutan tatasusunan PHP: pembanding tersuai dan fungsi tanpa nama. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Panduan Pemasangan dan Naik Taraf PHP 8.4 untuk Ubuntu dan Debian

Cara Menyediakan Kod Visual Studio (Kod VS) untuk Pembangunan PHP
