Sintaksa:
Sintaksa funkcije usort () dana je u nastavku.
Logičko usort (niz $ array, povratni poziv ())Ova funkcija ima dva argumenta. Oba su argumenta obavezna. Prvi argument uzima niz koji će biti sortiran. Funkcija povratnog poziva () uspoređuje vrijednosti polja da bi sortirala niz i vraća numeričku vrijednost. Ako su argumenti funkcije callback () jednaki, tada će funkcija vratiti 0. Ako je prvi argument funkcije callback () veći od drugog argumenta, vratit će 1. Ako je prvi argument funkcije callback () manji od drugog argumenta, vraća -1. funkcija usort () vraća true za uspješno sortiranje i vraća false za neuspješno sortiranje. Neke upotrebe ove funkcije prikazane su u sljedećem dijelu ovog vodiča.
Primjer-1: Poredaj niz vrijednosti datuma
Sljedeći primjer pokazuje kako se niz vrijednosti datuma može pravilno sortirati pomoću funkcije usort (). Stvorite PHP datoteku sa sljedećom skriptom. $ date_array definiran je s petodatnim vrijednostima. datum_razvrstavanja () funkcija deklarirana je kao funkcija povratnog poziva za sortiranje $ date_array. Vrijednosti polja ispisuju se prije pozivanja funkcije usort (). Kada se funkcija usort () pozove s nizom i funkcijom povratnog poziva, pretvorit će dvije vrijednosti datuma u vrijednosti vremenske oznake pomoću funkcije strtotime (). Ako su dvije vrijednosti vremenske oznake jednake, tada će funkcija vratiti 0. Ako je vrijednost prve vremenske oznake veća od vrijednosti druge vremenske oznake, tada će funkcija vratiti 1. Ako je vrijednost prve vremenske oznake niža od vrijednosti druge vremenske oznake, funkcija će vratiti -1. funkcija usort () pozvat će funkciju povratnog poziva više puta dok se $ date_array je sortirano pravilno. Zatim će se sortirani niz ispisati pomoću za svakog petlja.
// Definiraj funkciju povratnog pozivafunkcija sort_date ($ a, $ b)
vratiti strtotime ($ a) - strtotime ($ b);
// Deklariraj niz vrijednosti datuma
$ date_array = niz ('25 -03-2020 ', '14 -03-2020', '28 -02-2015 ', '09 -12-2017', '20 -09-2015 ');
// Ispis vrijednosti niza prije sortiranja
jeka "
Vrijednosti polja s datumima:
";foreach ($ date_array kao $ vrijednost)
odjek $ vrijednost."
";
// Sortiranje niza pomoću usort ()
usort ($ date_array, "sort_date");
// Ispis niza nakon sortiranja
jeka "
Izlaz nakon sortiranja niza datuma:
";foreach ($ date_array kao $ vrijednost)
odjek $ vrijednost."
";
?>
Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja.
Primjer-2: Poredaj asocijativni niz
Sljedeći primjer pokazuje kako se asocijativni niz može sortirati pomoću funkcije usort (). Stvorite PHP datoteku sa sljedećom skriptom. imena_razvrstavanja () funkcija proglašava se funkcijom povratnog poziva za sortiranje niza na temelju vrijednosti niza. Ternarni operator koristi se u imena_razvrstavanja () funkcija za usporedbu vrijednosti asocijativnog polja. Ako su dvije vrijednosti jednake, tada će funkcija povratnog poziva vratiti 0. Ako je vrijednost prvog argumenta veća od vrijednosti drugog argumenta, tada će funkcija povratnog poziva vratiti 1. Ako je vrijednost prvog argumenta manja od vrijednosti drugog argumenta, tada će funkcija povratnog poziva vratiti -1. usort () će sortirati niz pomoću funkcije povratnog poziva, a sortirani niz ispisat će se pomoću za svakog petlja.
// Definirajte funkciju za sortiranje asocijativnog poljaime_razvrstavanja funkcije ($ a, $ b)
vrati $ a == $ b ? 0: $ a> $ b ? 1: -1;
// Definiraj asocijativni niz
$ persons = array ("1001" => "Meera Ali", "1002" => "Kabir Hossain", "1003" => "Nurjahan Akter");
// Poredaj niz
usort ($ persons, "sort_names");
// Ispis sortiranog polja
jeka "Vrijednosti razvrstanog polja:
";
foreach ($ osoba kao $ osoba)
odjek $ osoba. "
";
?>
Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja.
Primjer-3: Poredaj dvodimenzionalni niz
Sljedeći primjer pokazuje kako se dvodimenzionalni niz može sortirati pomoću funkcije usort (). Stvorite PHP datoteku sa sljedećom skriptom. sort_array () funkcija proglašava se funkcijom povratnog poziva za sortiranje niza na temelju vrijednosti niza. funkcija strcmp () koristi se u funkciji povratnog poziva za usporedbu vrijednosti niza. Ako su dvije vrijednosti jednake, tada će funkcija strcmp () vratiti 0. Ako je vrijednost prvog argumenta veća od vrijednosti drugog argumenta, tada će funkcija strcmp () vratiti 1. Ako je vrijednost prvog argumenta manja od vrijednosti drugog argumenta, tada će funkcija strcmp () vratiti -1. usort () će sortirati niz pomoću funkcije povratnog poziva, a struktura sortiranog polja ispisat će se pomoću print_r () funkcija.
// Definiraj funkciju za sortiranje dvodimenzionalnog nizafunkcija sortiraj_ niz ($ a, $ b)
vrati strcmp ($ a ['a'], $ b ['a']);
// Deklarirajte dvodimenzionalni niz
$ životinje = niz (niz ("a" => "Lav"), niz ("a" => "Jelen"), niz ("a" => "Zec"), niz ("a" => "Majmun "));
// Poredaj niz
usort ($ životinje, "sort_array");
// Ispis sortiranog polja
jeka "Vrijednosti niza nakon usort ():
";";
print_r ($ životinje);
jeka "
?>
Izlaz:
Sljedeći će se izlaz pojaviti nakon pokretanja skripte s poslužitelja.
Zaključak:
usort () je korisna funkcija za sortiranje određenih vrsta podataka koji ne mogu pravilno sortirati PHP-ove uobičajene funkcije sortiranja. Funkcija povratnog poziva funkcije usort () definirana je na temelju vrsta vrijednosti koje su potrebne za sortiranje. Ovaj vodič pomoći će čitateljima da znaju kako koristiti funkciju usort () i primijeniti je u svojoj skripti na temelju zahtjeva.