Sortare matrice în PHP

SSL de încredere de la doar 3.44 USD
Publicitate
Matrice în PHP
Metode de solicitare HTTP în PHP

Matricele sunt o structură de date sofisticată în PHP care permite dezvoltatorilor să stocheze și să gestioneze numeroase valori într-o singură variabilă. PHP include o colecție de metode pentru sortarea și manipularea matricelor în plus față de operațiile fundamentale ale matricei. În această postare, ne vom uita la cele mai comune funcții de sortare a matricelor PHP disponibile în PHP 8.

Funcții de sortare

PHP oferă mai multe funcții încorporate pentru sortarea matricelor, inclusiv:

fel()

fel() aranjează membrii matricei în ordine crescătoare. Dacă există un singur element în matrice, acesta returnează aceeași matrice. Revine adevărat când are succes. Se întoarce fals în toate celelalte circumstanțe.

$numbers = array(4, 8, 12, 16, 20);
sort($numbers);
print_r($numbers); // [4, 8, 12, 16, 20]

rsort()

rsort() funcția este inversul sort() funcţie. Sortează elementele unui tablou în ordine descrescătoare.

Copy code$numbers = array(4, 16, 12, 20, 11);
rsort($numbers);
print_r($numbers); // [20, 16, 12, 11, 4]

asort()

sortiment() folosește valori pentru a sorta membrii unui tablou asociativ în ordine crescătoare.

$fruits = array("apple" => "1", "pineapple" => "2", "orange" => "3");
asort($fruits);
print_r($fruits); // ["apple" => "1", "orange" => "3", "pineapple" => "2"]

ksort()

ksort() funcția sortează elementele unui tablou asociativ în ordine crescătoare în funcție de chei.

$fruits = array("apple" => "1", "pineapple" => "2", "orange" => "3");
ksort($fruits);
print_r($fruits); // ["apple" => "1", "orange" => "3", "pineapple" => "2"]

arsort()

arsort() funcția sortează elementele unui tablou asociativ în ordine descrescătoare în funcție de valori.

$fruits = array("apple" => "1", "pineapple" => "2", "grapefruit" => "1");
arsort($fruits);
print_r($fruits); // ["grapefruit" => "1", "pineapple" => "2", "apple" => "1"]

Alte funcții de sortare a matricei

În plus față de arsort(), PHP oferă și alte câteva funcții pentru sortarea matricelor, cum ar fi:

  • krsort(): sortează un tablou asociativ în ordine descrescătoare în funcție de cheile sale
  • usort(): sortează o matrice folosind o funcție de comparare definită de utilizator
  • uasort(): sortează o matrice asociativă folosind o funcție de comparare definită de utilizator, păstrând perechile cheie-valoare
  • uksort(): sortează un tablou asociativ

Q & A

Î: Care este diferența dintre funcțiile „sort” și „rsort” din PHP pentru matrice?
R: Funcția „sort” sortează elementele unui tablou în ordine crescătoare, în timp ce funcția „rsort” sortează elementele în ordine descrescătoare.

Î: Cum diferă funcția „sortare” de funcția „sortare”?
R: Funcția „asort” sortează elementele matricei în funcție de valorile lor, păstrând în același timp relația cheie-valoare. Funcția „sortare”, pe de altă parte, sortează elementele în funcție de valorile lor, dar reordonează cheile și poate perturba relația dintre chei și valori.

SSL de încredere de la doar 3.44 USD
Publicitate

Î: Puteți explica funcția „ksort” în PHP?
R: Funcția „ksort” sortează membrii matricei în funcție de cheile lor. Articolele sunt reordonate în ordine crescătoare pe baza valorilor cheie.

Î: Există o modalitate de a sorta o matrice fără a ține seama de majuscule și minuscule?
R: Da, puteți utiliza funcția „sortare” sau „asortare” cu semnalizarea SORT_FLAG_CASE. De exemplu: „sort($array, SORT_FLAG_CASE);”

Î: Puteți folosi funcția „usort” pentru a sorta o serie de obiecte?
R: Da, prin furnizarea unei funcții de apel invers care compară elementele, metoda „usort” poate fi utilizată pentru a sorta o serie de obiecte. Pentru a identifica ordinea componentelor, funcția de apel invers ar trebui să returneze un număr întreg negativ, zero sau pozitiv.

Î: Puteți sorta o matrice asociativă după valoare fără a schimba cheile?
R: Da, puteți folosi funcția „asort” pentru a sorta o matrice asociativă după valoare fără a schimba cheile.

Exerciții:

  1. Cum poți sorta o matrice în ordine crescătoare?
  2. Cum poți sorta o matrice în ordine descrescătoare?
  3. Cum puteți sorta o matrice de tablouri asociative după valoarea uneia dintre chei?
  4. Cum poți sorta o serie de obiecte după una dintre proprietățile lor?
  5. Scrieți un script care sortează o matrice de șiruri de caractere în ordine alfabetică, fără a ține seama de majuscule și minuscule.

Răspunsuri:

  1. sortare($array);
  2. rsort($array);
  3. usort($array, function($a, $b) { return $a['cheie'] <=> $b['cheie']; });
  4. usort($array, function($a, $b) { return $a->proprietate <=> $b->proprietate; });
  5. usort($array, 'strcasecmp');

Funcții oficiale ale matricelor PHP referință.

Matrice în PHP
Metode de solicitare HTTP în PHP
închide

Rămâneți la curent cu PHP!

Nu trimitem spam!

SSL de încredere de la doar 3.44 USD
Publicitate

en English
X
Derulaţi în sus