Sortarea unei matrice în php

Sortarea unei matrice în php

Sortarea este una dintre cele mai importante proceduri atunci când se lucrează cu matrice. Pentru a înțelege importanța sa suficient să ne amintim astfel de acțiuni, cum ar fi sortarea filmelor în ordine alfabetică sau de a sorta orice preț crescator sau descrescator, etc. Sunt de acord, este foarte acțiuni comune pentru diferite aplicații! Astăzi vom discuta despre modul de sortare a elementelor de matrice ale condițiilor specificate.

Sortarea unei matrice în php
Deci, sortarea mai ușor de a lucra cu matrice. Atunci când elementele sunt sortate, acestea sunt mai ușor de găsit și de a produce cu ei acțiunile necesare, cum ar fi cele despre care am scris un pic mai mare. Totul depinde de sarcina pe care vă confruntați.

Sarcinile pot fi diferite, dar instrumentele pe care le vom folosi în acest caz, va rămâne standardul. Aceste instrumente - funcții speciale, care sunt folosite pentru a sorta elementele de matrice.

Aceste funcții în PHP un pic, iar unele dintre ele se aplică, din nou, va depinde de aplicația particulară, precum și dacă matrice dvs. asociativ sau matrice-listă.

Să analizăm exemplele acestor caracteristici și a vedea modul în care acestea funcționează.

În primul rând, să ne uităm la o destul de simplu și clar sortare funcția ().

Aceasta ne va permite să sortați elementele de matrice în ordine crescătoare sau, în cazul în care aceste elemente sunt string - în ordine alfabetică.

Aplicarea sa este destul de simplu. Pentru a testa această funcție, este suficient pentru a declara o matrice în continuare cu ajutorul funcției pentru a sorta elementele sale și afișarea rezultatului pe ecran pentru a vedea ce se întâmplă.

Un rezultat este după cum urmează. După cum puteți vedea în captura de ecran la dreapta, elementele sunt sortate în ordine alfabetică. În cazul în care, în loc de elemente inline vom avea un număr, această funcție sortați numerele în ordine crescătoare. Puteți să-l verifica singur.

De asemenea, există o caracteristică care face ca efectul opus, adică, sortează elementele de matrice în ordine descrescătoare, sau invers alfabetică.

Această caracteristică se numește rsort (). Acesta funcționează după cum urmează:

După cum puteți vedea, acum rezultatul este complet opus. Elementele de matrice sunt sortate în ordine, care în acest caz se referă la ordinea în ordine alfabetică inversă descrescătoare.

Cred că totul este clar cu aceste caracteristici. Testați-le cu matrice lor, și nu va avea probleme.

Totul este minunat, cu toate acestea, matricele asociative nu mai putem folosi aceste caracteristici, deoarece rupe legaturile dintre valorile din cheie matrice. Deci, avem nevoie să se familiarizeze cu unele mai multe caracteristici care ne va permite să sortați tablouri asociative.

După cum știm, matrice asociative sunt cheile și valorile. În consecință, sortarea se poate face prin tasta sau de valoare.

Să începem cu valorile fel.

Pentru a sorta valorile unui tablou asociativ în ordine alfabetică, aplicăm funcția asort ().

Pentru a face acest lucru, creați mai întâi un tablou asociativ, vom folosi funcția, afișa rezultatele pe ecran.

După cum puteți vedea, valorile matrice asociative sunt sortate în ordine alfabetică, cu toate acestea, relația lor cu cheile stocate.

De asemenea este de lucru și funcția arsort (). cu excepția faptului că sortează valorile unui tablou asociativ în ordine inversă.

Aici, din nou, putem vedea că valorile elementelor de matrice rămân în legătură cu chei, dar sortate în ordine inversă.

Aceeași matrice asociativă, putem sorta și chei.

După cum probabil ați ghicit deja acest lucru poate fi făcut în ordine alfabetică sau invers.

Pentru a sorta o matrice de cheie, în ordine alfabetică, avem nevoie de ksort) funcția (.

Matricea este sortată în funcție de cheie în ordine alfabetică.

Pentru a sorta o serie de chei sale în ordine inversă, se aplică krsort funcția ().

Cred că captura de ecran este clar.

De asemenea, putem cere și ordinea lor de sortare, care este de a crea un fel personalizat.

Pentru a face acest lucru în PHP au funcții speciale.

Pentru o listă personalizată de sortare oferă usort funcția ().

Acesta va avea două argumente. Primul argument - aceasta este oferta noastră; Al doilea argument - va conține numele funcției pe care compară două elemente.

Compara funcție va avea două variabile și trebuie să se întoarcă una din valorile:

1 - în cazul în care primul element de comparație este mai mare decât al doilea;

-1 - în cazul în care al doilea mai mare decât prima;

0 - în cazul în care elementele sunt egale.

Astfel, de exemplu, putem sorta elementele unui tablou în creșterea lungimii lor.

Pentru aceasta, mai întâi se declara o matrice care va conține elemente șir de lungimi diferite.

Apoi, creați o funcție particularizată care va dura două variabile și să compare lungimea lor, ca rezultat al comparației se va returna una din valorile 1, -1, 0 sau.

După aceea, vom folosi funcția de usort () sortare personalizată. Ea va da ca argumente: numele nostru, și matrice numele funcției pe care am creat pentru a compara elemente.

După toate acestea, puteți afișa rezultatul pe ecran, pentru a vă asigura că elementele noastre sunt sortate în ordine crescătoare a lungimii lor.

Obținem următorul rezultat. Elementele noastre matrice sunt sortate în ordinea crescătoare a lungimii.

Putem face, de asemenea, sortarea personalizată unui tablou asociativ prin cheile sale. Pentru aceasta avem nevoie de uksort () funcție este ea însăși un tablou asociativ.

Să părăsească funcția definită de utilizator de la aceeași, adică, compara lungimea cheilor.

Keys elementele de matrice sortate în ordinea lungimii lor ascendentă.

Și, de asemenea, putem crea un obicei de sortare un tablou asociativ de valorile elementelor sale. Acest lucru ne va ajuta la funcția uasort ().

Principiul este același.

Acum, matrice este sortată prin creșterea lungimii valorilor sale.

Desigur, funcția definită de utilizator poate fi diferit, de exemplu, aceasta poate duce la valoarea totală a registrului, sau de a face alte lucruri.

Pentru a înțelege corect modul în care sortarea personalizată, aveți nevoie pentru a practica și să încerce să scrie o funcție de comparație proprie.

Cu toate acestea, acum, cred că aveți o înțelegere completă a modului de sortare a elementelor de matrice și modul în care aceste elemente sunt sortate folosind.

Dacă încă nu ați abonat la actualizările de blog, apoi se aboneze. Formularul de subscriere este de mai jos.