PHP Array Lajittelu ja hyödyllisiä toimintoja

P

Edellisessä PHP-taulukoiden opetusohjelmassa. Olemme oppineet indeksoitujen, assosiatiivisten ja moniulotteisten taulukoiden ilmoittamisesta ja iteroinnista. Meillä on nyt mahdollisuus kaivaa syvemmälle PHP Array -lajitteluun. Tämän lisäksi työskentelemme myös hyödyllisten toimintojen kanssa, jotka tekevät taulukoiden kanssa työskentelystä todella helppoa.

Array Lajittelufunktiot PHP:ssä

PHP 8:ssa meillä on seuraavat toiminnot taulukon lajitteluun.

Toiminnon nimiLajittele tilauksen mukaan
järjestellä() Nousevassa järjestyksessä
rsort()Laskeva järjestys
eräänlainen()Assosiatiiviset taulukot nousevassa järjestyksessä arvon mukaan
ksort()Assosiatiiviset taulukot nousevassa järjestyksessä avaimen mukaan
arsort()Laskevassa järjestyksessä arvon mukaan
krsort()Laskevassa järjestyksessä avaimen mukaan
Taulukko taulukon lajittelufunktioista PHP:ssä

1. Lajittele(taulukko, lajittelutyyppi)

Lajittelutoiminto järjestää taulukon elementit nousevaan järjestykseen (alemmasta korkeampaan). Jos taulukko sisältää vain yhden elementin, se palauttaa saman taulukon. Se palauttaa todellisen onnistumisen ja falsen epäonnistumisen.

Esimerkiksi

<?php
$num = array(4, 6, 2, 12, 11);
sort($num);
?>

2. rLajittele(taulukko, lajittelutyyppi)

rSort on lajittelufunktion käänteinen. Se järjestää taulukon elementit laskevassa muodossa (korkeimmasta alempaan). Jos taulukko sisältää vain yhden elementin, se palauttaa saman taulukon.

<?php
$num=array(4,16,12,20,11);
rsort($num);
?>

3. lajittelu(taulukko, lajittelutyyppi)

Asort-funktio järjestää assosiatiivisen taulukon elementit nousevaan järjestykseen avainten arvon mukaan. Jos taulukko koostuu yhdestä avaimesta ja arvoparista, se palauttaa saman taulukon.

Esimerkiksi

<?php
$age=array("Jawad"=>"23","Abdullah"=>"14","Adil"=>"19");
asort($age);
?>

4. ksort(taulukko, lajittelutyyppi)

ksort-funktio järjestää myös assosiatiivisen taulukon elementit nousevaan järjestykseen, mutta avainten mukaan. Jos taulukko koostuu yhdestä avaimesta ja arvoparista, se palauttaa saman taulukon.

Esimerkiksi

<?php
$age=array("Jawad"=>"23","Abdullah"=>"14","Adil"=>"19");
ksort($age);
?>

Lajittelufunktioiden toinen parametri on sort_type. Seuraavat vaihtoehdot ovat käytettävissä. Valinnat määräävät, kuinka taulukon elementtejä verrataan.

5. arsort(joukko, lajittelutyyppi)

lajittelufunktio järjestää assosiatiivisen taulukon elementit laskevaan järjestykseen arvojen mukaan. Jos taulukko koostuu yhdestä avaimesta ja arvoparista, se palauttaa saman taulukon.

Esimerkiksi

<?php
$age=array("Jawad"=>"23","Abdullah"=>"14","Adil"=>"19");
asort($age);
?>

6. krsort(taulukko, lajittelutyyppi)

krsort-funktio järjestää myös assosiatiivisen taulukon elementit laskevaan järjestykseen, mutta avainten mukaan. Jos taulukko koostuu yhdestä avaimesta ja arvoparista, se palauttaa saman taulukon.

Esimerkiksi

<?php
$age=array("Jawad"=>"23","Abdullah"=>"14","Adil"=>"19");
ksort($age);
?>

Lajittelufunktioiden toinen parametri on sort_type. Seuraavat vaihtoehdot ovat käytettävissä. Valinnat määräävät, kuinka taulukon elementtejä verrataan.

LajittelutyyppiKuvaus
0 = LAJITTELU_SÄÄNNÖLLINENOletus. Vertaa kohteita normaalisti (älä vaihda tyyppejä)
1 = SORT_NUMERIC Vertaa kohteita numeerisesti
2 = LAJITTELU_STRINGVertaa kohteita merkkijonoina
3 = SORT_LOCALE_STRINGVertaa kohteita merkkijonoina nykyisen kielen perusteella
4 = LAJITTELU_LUONNOLLINENVertaa kohteita merkkijonoina käyttämällä luonnollista järjestystä
5 = LAJITTELU_FLAG_CASE
Taulukon lajitteluvaihtoehdot lajittelu- ja rsort-toiminnoissa

Näiden perus- ja sisäänrakennettujen taulukoiden lajittelutoimintojen lisäksi käyttäjä voi myös määrittää oman lajittelutoimintonsa PHP:ssä. Joten tässä osiossa opit PHP:n usort-, uasort- ja uksort-toiminnoista.

usort(taulukko, oma_lajittelu_funktio)

usort-funktio hyväksyy kaksi parametria. Ensimmäinen parametri on lajiteltava taulukko ja toinen parametri on käyttäjän määrittämä lajiteltava funktio.

Esimerkiksi

<?php
function my_sort($a,$b)
{
if ($a==$b) return 0;
return ($a<$b)?-1:1;
}

$a=array(4,2,8,6);
usort($a,"my_sort");
?>

uasort(taulukko, käyttäjän_määrittelyfunktio)

Lajittele taulukko tai assosiatiivinen taulukko käyttäjän määrittämän funktion mukaan. Uasort-funktio suorittaa lajittelun assosiatiivisen taulukon arvon mukaan. Näppäimillä meillä on uksort-toiminto, joka annetaan seuraavaksi.

Esimerkiksi

<?php
function my_sort($a,$b)
{
if ($a==$b) return 0;
return ($a<$b)?-1:1;
}

$arr=array("a"=>4,"b"=>2,"c"=>8,"d"=>6);
uasort($arr,"my_sort");
?>

uksort(taulukko, käyttäjän_määritetty_funktio)

Lajittele assosiatiivinen taulukko käyttäjän määrittämän funktion avulla. uksort suorittaa lajittelun assosiatiivisen taulukon avainten mukaan.

Esimerkiksi

<?php
function my_sort($a,$b)
{
if ($a==$b) return 0;
return ($a<$b)?-1:1;
}

$arr=array("a"=>4,"b"=>2,"c"=>8,"d"=>6);
uksort($arr,"my_sort");
?>

Hyödyllisiä taulukkofunktioita PHP:ssä

array_sum funktio palauttaa taulukon elementtien summan. Tämä funktio hyväksyy sekä indeksoidun taulukon että assosiatiivisen taulukon. Assosiatiivisen taulukon tapauksessa se palauttaa arvojen summan.

Esimerkiksi

<?php
$a=array(5,15,25);
echo array_sum($a);
?>

array_splice -toiminto poistaa tietyt elementit taulukosta ja korvaa ne uusilla elementeillä. Muista, että array_splice-funktio ei säilytä avaimia palautetussa arvossa.

Esimerkiksi

<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("a"=>"purple","b"=>"orange");
print_r(array_splice($a1,0,2,$a2));
?>

array_search-funktio yksinkertaisesti etsii elementin taulukosta. Jos elementti löytyy, se palauttaa avaimensa. Tämä toiminto hyväksyy kolme parametria.

array_search(arvo, joukko, tiukka)

Kolmas parametri range voi olla joko tosi tai epätosi. Jos se on kuitenkin tosi, taulukosta haettavan arvon on oltava samaa tietotyyppiä. Toisin sanoen merkkijono "5" ja numero 5 eivät ole sama asia, kun kyseessä on range = tosi. Jos range on kuitenkin asetettu arvoon false, array_search pitää arvoa 5 ja 5 samana.

Esimerkiksi

<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_search("red",$a);
?>

array_reverse palauttaa taulukon, jonka elementit ovat käänteisessä järjestyksessä. Jos toinen parametri on tosi, avaimet säilyvät lähdössä.

Esimerkiksi

<?php
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));
?>

array_push(taulukko, arvo1, arvo2, …) funktio työntää elementtejä taulukkoon. Voit työntää useita elementtejä taulukkoon määrittämällä ne funktion parametrissa toisista parametreista alkaen. H Jokainen arvo erotetaan pilkulla ja arvo voi olla myös matriisi.

Esimerkiksi

<?php
$a=array("red","green");
array_push($a,"blue","yellow");
print_r($a);
?>

array_pop() poistaa taulukon viimeisen elementin.

Esimerkiksi

<?php
$a=array("red","green","blue");
array_pop($a);
print_r($a);
?>

Jos haluat PHP 8:n virallisen taulukon lajitteluviitteen, napsauta tätä.

lisää kommentti

Tutor-verkosto

Opi PHP pisteestä A paikkaan Z