Tulosta kaikki avainten nimet php-moniulotteisessa taulukossa. Työskentely taulukkoavainten ja niiden arvojen kanssa. Array Elementtien poistaminen

taulukot (13)

Alkaen PHP7.3 voit käyttää suoraan taulukon viimeistä avainta (ulompaa tasoa) -näppäimellä

Tämä tarkoittaa, että voit saada lopullisen avainarvon ilman:

  1. siirrät taulukon osoitinta (mikä vaatii kaksi riviä koodia) tai
  2. näppäinjoukon lajittelu, peruuttaminen, poksahtaminen, laskeminen, indeksointi tai mikä tahansa muu huijaus

Tämä ominaisuus oli tervetullut ja tervetullut lisäys array-toimintotyökaluvyölle, joka parantaa suorituskykyä, välttää ei-toivotut sivuvaikutukset ja tarjoaa puhtaan / suoraviivaisen / intuitiivisen koodin.

$array = ["a" => "yksi", "b" => "kaksi", "c" => "kolme"]; if (!function_exists("array_key_last")) ( echo "päivitä php7.3:een"; ) else ( echo "Ensimmäinen avain: " , avain($array) , "\n"; echo "Viimeinen avain: " , array_key_last ($array) , "\n"; array_key_last($array)

Ensimmäinen avain: viimeinen avain: c //<-- unaffected by the pointer position, NICE! Second Key: b Last Key: c // <-- unaffected by the pointer position, NICE!

Muutamia huomautuksia:

  • array_key_last() on array_key_first() -funktion sisarusfunktio.
  • Molemmat toiminnot ovat "tietämättömiä osoittimia".
  • Molemmat funktiot palauttavat nollan, jos taulukko on tyhjä.
  • Hylätyt sisarusfunktiot (array_value_first() ja array_value_last()) olisivat myös tarjonneet osoittimen tietämättömän pääsyn bookend-elementteihin, mutta ne eivät ilmeisesti saaneet tarpeeksi ääniä herätäkseen eloon.

Tässä on joitain olennaisia ​​sivuja uusista ominaisuuksista:

Kuinka saan taulukon viimeisen avaimen?

Ratkaisu olisi käyttää pään ja avaimen yhdistelmää (lainausmerkit) :

  • end() siirtää taulukon sisäisen osoittimen viimeiseen elementtiin ja palauttaa sen arvon.
  • key() palauttaa taulukon nykyisen sijainnin indeksielementin.

Joten tällaisen koodinpalan pitäisi tehdä temppu:

$array = array("ensimmäinen" => 123, "toinen" => 456, "viimeinen" => 789,); end($array); // siirrä sisäinen osoitin taulukon loppuun $avain = avain($array); // noutaa sisäisen osoittimen osoittaman elementin avain var_dump($key);

Merkkijono "viimeinen" (pituus = 4)

nuo. taulukkoni viimeisen elementin avain.

Tämän jälkeen sisäinen taulukon osoitin on taulukon lopussa. Kuten kommenteissa todettiin, voit suorittaa reset()-komennon taulukossa palauttaaksesi osoittimen taulukon alkuun.

Kokeile käyttää array_pop- ja array_keys-funktioita seuraavasti:

1, "kaksi" => 2, "kolme" => 3); echo array_pop(array_keys($array)); // tulostaa kolme ?>

Käytä vain: echo $array;

Voit käyttää tätä:

$array = array("yksi" => "omena", "kaksi" => "oranssi", "kolme" => "päärynä"); end($array); echo key($array);

Toinen ratkaisu on luoda funktio ja käyttää sitä:

Funktio endKey($array)( end($array); return key($array); ) $array = array("one" => "omena", "kaksi" => "oranssi", "kolme" => " päärynä"); echo endKey($array);

En tiedä onko nopeampi vai ei, mutta se on helpompi tehdä näin ja vältyt virheeltä jättämällä ohittamatta end()-funktiota...

se tarvitsee vain muuttujan... ei ole iso juttu kirjoittaa toinen koodirivi ja sitten sammuttaa se tarvittaessa.

$array = array("ensimmäinen" => 123, "toinen" => 456, "viimeinen" => 789,); $avaimet = taulukon_avaimet($taulukko); $viimeinen = end($avaimet);

Vaikka end() näyttää olevan yksinkertaisin, se ei ole nopein.

Nopeampi ja tehokkaampi vaihtoehto on array_slice()

Toimittajan lakko: Tätä väitettä ei ole perusteltu ja kommenteissa on lainattu päinvastaisia ​​todisteita. Jos tämän julisteen väitteet nopeudesta/tehokkuudesta pitävät paikkansa, on suoritettava vertailutesti.

$viimeinen_avain = avain(array_slice($array, -1, 1, TRUE));

$arr = array("avain1"=>"arvo1","avain2"=>"arvo2","avain3"=>"arvo3"); lista($viimeinen_avain) = jokainen(joukko_käänteinen($arr)); tulosta $viimeinen_avain; //avain3

Alkaen PHP 7.3 (2018) tätä varten siellä on (vihdoin) funktio: http://php.net/manual/en/function.array-key-last.php

$array = ["omena"=>10,"grape"=>15,"oranssi"=>20]; echo array_key_last ($array)

minä suosin

End(array_keys($myarr))

Haluaisin myös ehdottaa vaihtoehtoista ratkaisua tähän ongelmaan.

Olettaen, että kaikki avaimesi ovat numeerisia ilman välilyöntejä, suositeltava tapani on laskea taulukko ja sitten miinus 1 tästä arvosta (jotta huomioidaan se tosiasia, että taulukkoavaimet alkavat nollasta.

$array = array(0=>"koira", 1=>"kissa"); $lastKey = count($array)-1; $lastKeyValue = $taulukko[$lastKey]; var_dump($lastKey); print_r($lastKeyValue);

Tämä antaa sinulle:

Toinen tapa (vaikka olennaisesti vastaa uutta ArrayList(Arrays.asList(array))) on ratkaista uusi ArrayList(Arrays.asList(array)):

Collections.addAll(arraylist, array);

Viimeisin päivitys: 1.11.2015

Taulukot on suunniteltu tallentamaan tietojoukkoja tai elementtejä. Jokaisella taulukon elementillä on oma ainutlaatuinen avaimensa ja arvonsa. Tallennetaan siis luettelo puhelinmalleista joukkoon:

"; ?>

Tässä luodaan $phones-taulukko, jossa on neljä elementtiä. Jokainen taulukon elementti edustaa avain-arvo-paria. Joten ensimmäisessä elementissä $phones = "Nokia N9" on avain - numero 0 ja arvo - merkkijono "Nokia N9". Tällaisissa taulukoissa numeronäppäimiä kutsutaan myös indekseiksi.

Voit käyttää count()-funktiota selvittääksesi taulukon elementtien lukumäärän. Ja koska avaimet ovat järjestyksessä 0-3, ja kun tiedät taulukon koon, voit näyttää taulukon elementit for-silmukassa.

Jotta avainten ja elementtien arvojen välinen suhde olisi selkeämpi, tulostetaan taulukko print_r-funktiolla:

Tulosta_r($puhelimet);

Saamme seuraavan tuloksen:

Array ( => Nokia N9 => Samsung Galaxy ACE II => Sony Xperia Z3 => Samsung Galaxy III)

Tämä taulukon luominen vastaisi myös seuraavaa:

"; ?>

Jos elementtiavainta ei ole määritetty, PHP käyttää avaimina numeroita. Tässä tapauksessa avainten numerointi alkaa nollasta ja jokainen uusi avain kasvaa yhdellä.

Kun tiedämme taulukon elementin avaimen, voimme käyttää tätä elementtiä, saada tai muuttaa sen arvoa:

// hanki elementti avaimella 1 $myPhone = $phones; echo "$myPhone
"; // uuden arvon määrittäminen $phones = "Samsung X650"; echo "$phones
";

Mutta ei vain kokonaislukuja, vaan myös merkkijonoja voidaan käyttää avaimina:

Tällaisia ​​taulukoita kutsutaan myös assosiatiivista.

taulukkooperaattori

Yhtä tapaa luoda taulukko käsiteltiin edellä. Mutta on toinen, joka sisältää array()-operaattorin käytön.

Ary()-operaattori ottaa joukon elementtejä. Avaimia ei myöskään ole erikseen määritelty tässä. Siksi PHP numeroi elementit automaattisesti nollasta. Mutta voimme myös määrittää avaimen jokaiselle elementille:

"iPhone5", "samsumg"=>"Samsung Galaxy III", "nokia" => "Nokia N9", "sony" => "Sony XPeria Z3"); echo $phones["samsumg"]; ?>

=>-operaatio mahdollistaa avaimen yhdistämisen tiettyyn arvoon.

Iterointi assosiatiivisten taulukoiden yli

Yllä tarkastelimme, kuinka for-silmukkaa käytetään näyttämään kaikki taulukon elementit, jossa avaimet määritetään peräkkäin numeroilla 0-3. Tämä ei kuitenkaan toimi assosiatiivisten taulukoiden kanssa. Ja heille PHP:llä on erityinen silmukka - foreach...kuten:

"iPhone5", "samsumg"=>"Samsung Galaxy III", "nokia" => "Nokia N9", "sony" => "Sony XPeria Z3"); foreach($phones as $item) echo "$item
"; ?>

Foreach-silmukassa kaikki elementit poistetaan taulukosta peräkkäin ja niiden arvo sijoitetaan avainsanan jälkeen määritettyyn muuttujaan. Tässä tapauksessa kaikki neljä arvoa $phones-taulukosta sijoitetaan vuorotellen $item-muuttujaan. Kun taulukon viimeinen elementti haetaan, silmukka päättyy.

Foreach-silmukan avulla voit hakea arvojen lisäksi myös elementtiavaimet:

"iPhone5", "samsumg"=>"Samsung Galaxy III", "nokia" => "Nokia N9", "sony" => "Sony XPeria Z3"); foreach($phones as $key=>$value) echo "$key => $arvo
"; ?>

Tässä silmukan elementtejä iteroitaessa elementin avain siirretään $key-muuttujaan ja sen arvo muuttujaan $value.

Vaihtoehto foreach-silmukalle on käyttää luetteloa ja jokaista funktiota:

"iPhone5", "samsumg"=>"Samsung Galaxy III", "nokia" => "Nokia N9", "sony" => "Sony XPeria Z3"); while (lista($avain, $arvo) = jokainen($puhelimet)) echo "$key => $arvo
"; ?>

While-silmukka jatkuu, kunnes jokainen funktio palauttaa false. Jokainen funktio iteroi läpi kaikki $phones-taulukon elementit ja palauttaa sen taulukkona, joka sisältää elementin avaimen ja arvon. Tämä matriisi välitetään sitten luettelofunktiolle ja taulukon arvot määritetään suluissa oleville muuttujille. Kun jokainen funktio on lopettanut iteroinnin $phones-taulukon läpi, se palauttaa false ja while-silmukka päättyy.

Moniulotteiset taulukot

Aiemmissa esimerkeissä tarkasteltiin vain yksiulotteisia taulukoita, joissa elementtien arvot edustivat numeroita tai merkkijonoja. Mutta PHP:ssä taulukot voivat olla myös moniulotteisia, eli sellaisia, joissa taulukon elementti on itse matriisi. Luodaan esimerkiksi moniulotteinen taulukko:

array("iPhone5", "iPhone5s", "iPhone6") , "samsumg"=>array("Samsung Galaxy III", "Samsung Galaxy ACE II"), "nokia" => array("Nokia N9", "Nokia" Lumia 930"), "sony" => array("Sony XPeria Z3", "Xperia Z3 Dual", "Xperia T2 Ultra")); foreach ($phones as $brand => $items) ( echo "

$brändi

"; kaiku"
    "; foreach ($items as $key => $arvo) ( kaiku "
  • $arvo
  • ";) kaiku"
"; } ?>

Ja tulostettaessa saamme 4 luetteloa:

Päästäksesi tiettyyn elementtiin, sinun on myös määritettävä avaimet hakasulkeissa. Katsotaanpa esimerkiksi ensimmäisen taulukon ensimmäistä elementtiä. Koska ensimmäisen taulukon avain on "omena" ja ensimmäisen taulukon ensimmäisen elementin avain on numero 0 (koska emme nimenomaisesti määrittäneet avaimia):

Echo $phones["omena"];

Voit saada kolmannen taulukon toisen elementin samalla tavalla:

Echo $phones["nokia"];

Oletetaan, että sisäkkäiset taulukot edustavat myös assosiatiivisia taulukoita:

array("apple" => "iPhone5", "samsumg" => "Samsung Galaxy III", "nokia" => "Nokia N9"), "tabletit" => array("lenovo" => "Lenovo IdeaTab A3500" , "samsung" => "Samsung Galaxy Tab 4", "apple" => "Apple iPad Air")); foreach ($technics muodossa $tovar => $items) ( echo "

$tuote

"; kaiku"
    "; foreach ($items as $key => $arvo) ( kaiku "
  • $avain: $arvo
  • ";) kaiku"
"; ) // anna eri arvo jollekin elementille $technics["phones"]["nokia"] = "Nokia Lumnia 930"; // näytä tämä arvo echo $technics["phones"]["nokia" ];

array_flip

Vaihtaa taulukon indeksejä ja arvoja.
Syntaksi:

Array array_flip(array arr)

Tämä funktio "käy" taulukon läpi ja vaihtaa sen avaimet ja arvot. Alkuperäistä taulukkoa arr ei muuteta, ja tuloksena oleva matriisi yksinkertaisesti palautetaan. Jos taulukossa oli useita elementtejä, joilla on samat arvot, vain viimeinen otetaan huomioon.

Arr-taulukon arvojen tulee olla joko kokonaislukuja tai merkkijonoarvoja. Muuten avain/arvo-paria ei käsitellä.

Ary_flip()-funktio palauttaa FALSE, jos taulukon käsittely aiheutti virheen.

$trans = array_flip($trans);
$alkuperäinen = strtr ($str, $trans);

Esimerkki array_flip()-funktion käytöstä:

Arvon toistaminen useita kertoja
1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);

Array(
=> b
=> c
)

array_change_key_case

Toiminto asettaa taulukon avainarvot isoiksi tai pieniksi kirjaimille.
Syntaksi:

Array array_change_key_case(array arr[, int register])

Funktio array_change_key_case() palauttaa alkuperäisen taulukon arr avaimet muutettuna isoiksi tai pieniksi kirjaimille.
Valinnainen parametrirekisteri voi ottaa seuraavat arvot:
CASE_LOWER - kaikki taulukon avaimet muunnetaan pieniksi kirjaimille (oletusarvo);
CASE_UPPER - isoihin kirjaimiin.
Tämä toiminto ei muuta numeroista koostuvia näppäimiä.
Esimerkki array_change_key_case()-funktion käytöstä:

$taulukko = array("FirSt" => 1, "Second" => 4);
print_r(array_change_key_case($array, CASE_UPPER));
print_r(array_change_key_case($array, CASE_LOWER));

Esimerkki tulostaa seuraavan:

Array(
=> 1
=> 2
Array(
=> 1
=> 2
)

PHP 4 >= 4.2.0, PHP 5 tukema toiminto

array_combine

Funktio yhdistää kaksi taulukkoa, joista ensimmäisen arvoista tulee avaimia ja toisen arvoista tulee arvoja.
Syntaksi:

Array array_combine(taulukon avaimet, taulukon arvot)

Ary_combine()-funktio palauttaa taulukon, jonka avaimet ovat avaintaulukon arvoja ja jonka arvot ovat arvotaulukon arvoja.
Funktio palauttaa FALSE, jos avainten ja arvotaulukoiden mitat eivät täsmää tai jos nämä taulukot eivät sisällä arvoja.
Esimerkki array_combine()-funktion käytöstä:

$b = array("avokado", "omena", "banaani");
$c = array_combine($a, $b);

print_r($c);
?>

Esimerkki tulostaa seuraavan:

Array(
=> avokado
=> omena
=> banaani
)

PHP 5:n tukema toiminto

array_key_exists

Tietyn avaimen olemassaolon tarkistaminen taulukossa.
Syntaksi:

Bool array_key_exists(sekaavain, taulukkohaku)

Funktio array_key_exists() palauttaa arvon TRUE, jos hakutaulukko sisältää elementin, jolla on indeksiavain.
Muuten se palauttaa FALSE.

Esimerkki array_key_exists()-funktion käytöstä:

1, "toinen" => 4);
if (array_key_exists("ensimmäinen", $search_array)) (
kaiku "The ensimmäinen elementti on taulukossa";
}
?>

PHP 4.0.6:ssa. Tämän funktion nimi on key_exists().

PHP 4 >= 4.0.1, PHP 5 tukema toiminto

array_product()

Laske taulukon arvojen tulo (PHP 5 >= 5.1.0RC1)

Kuvaus:

Numero array_product (taulukkotaulukko)

array_product() palauttaa taulukon arvojen tulon kokonaislukuna tai liukulukuna.

Esimerkki array_product()

$a = array(2, 4, 6, 8);
echo "tuote(a) = " . taulukon_tuote($a) . "\n";

Tämän esimerkin suorittamisen tulos:

Tuote(a) = 384

array_reduce()

Pienennä taulukko iteratiivisesti yhdeksi arvoksi takaisinsoittofunktiolla (PHP 4 >= 4.0.5, PHP 5)

Kuvaus:

Mixed array_reduce (taulukon syöttö, takaisinsoittotoiminto [, int iniciaali])

array_reduce() käyttää iteratiivisesti funktiota syötetaulukon elementteihin ja vähentää siten taulukon yhdeksi arvoksi. Jos valinnainen alkuparametri on määritetty, sitä käytetään prosessin alussa tai lopputuloksena, jos taulukko on tyhjä.

Esimerkki array_reduce()

funktio rsum($v, $w)
{
$v += $w;
palauttaa $v;
}

funktio rmul($v, $w)
{
$v *= $w;
palauttaa $v;
}

$a = array(1, 2, 3, 4, 5);
$x = array();
$b = array_reduce($a, "rsum");
$c = array_reduce($a, "rmul", 10);
$d = array_reduce($x, "rsum", 1);
?>

Tämän seurauksena $b sisältää 15, $c sisältää 1200 (= 1*2*3*4*5*10) ja $d sisältää 1.

array_walk_recursive()

Käytä rekursiivisesti mukautettua funktiota jokaiseen taulukon elementtiin (PHP 5)

Kuvaus:

Bool array_walk_recursive (taulukon &syöte, takaisinkutsun toimintonimi [, sekalaiset käyttäjätiedot])

Käyttää mukautettua funktiota funcname jokaiseen syöttötaulukon elementtiin. Tämä funktio käsittelee moniulotteisen taulukon jokaisen elementin. Funktiolla funcname on yleensä kaksi parametria. Taulukon arvo ensimmäisenä parametrina ja avain/indeksi toisena. Jos valinnainen userdata-parametri on määritetty, se välitetään kolmantena parametrina funcname callback -funktiolle.

Palauttaa TRUE onnistumisen tai FALSE virheen.

Kommentti: Jos haluat funktionimen muuttavan taulukon arvoja, määritä funktionimen ensimmäinen parametri viitteeksi. Sitten kaikki muutokset otetaan käyttöön taulukon elementeissä.

Esimerkki array_walk_recursive()

$sweet = array("a" => "omena", "b" => "banaani");
$hedelmät = array("makea" => $makea, "hapan" => "sitruuna");

funktio testi_print($tuote, $avain)
{
echo "$avain sisältää $kohteen\n";
}

array_walk_recursive($hedelmät, "testi_tulostus");
?>

Yllä olevan ohjelman tulos:

A pitää omenaa
b pitää banaanin
hapan pitää sitruunaa

Huomaa, että "sweet"-näppäintä ei koskaan näytetä. Funktiolle ei välitetä avainta, joka vastaa taulukon tyypin arvoa.

array_keys

Palauttaa luettelon taulukon avaimista.
Syntaksi:

Array array_keys(array arr [,mixed search_value])

Funktio palauttaa taulukon, jonka arvot ovat kaikki taulukon arr merkkijono- ja numeroavaimet. Jos valinnainen search_value-parametri on määritetty, se palauttaa vain ne avaimet, joilla on vastaava hakuarvo.
Esimerkki array_keys()-funktion käytöstä:

100, "väri" => "punainen", 15);
print_r(array_keys($arr));

$arr = array("sininen", "punainen", "vihreä", "sininen", "sininen");
print_r(array_keys($arr, "sininen"));

$taulukko = array("väri" => array("sininen", "punainen", "vihreä"), "koko" => array("pieni", "keskikokoinen", "suuri"));
print_r(array_keys($array));
?>

Yllä oleva esimerkki tulostaa seuraavan:

Array(
=> 0
=> väri
Array(
=> 0
=> 3
=> 4
Array(
=> väri
=> koko
)

Ary_keys()-funktio otettiin käyttöön PHP 4:ssä.

Sen vastine PHP 3:lle on:

Funktio array_keys ($arr, $term="") (
$t = array();
while (lista($k,$v) = kukin($arr)) (
if ($termi && $v != $termi) (
jatkaa;
}
$t = $k;
}
palauttaa $t;
}

PHP 4:n ja PHP 5:n tukema toiminto

taulukon_arvot

Assosiatiivisten taulukkoindeksien poistaminen.
Syntaksi:

Array array_values(array arr)

Ary_values()-funktio palauttaa luettelon kaikista assosiatiivisen taulukon arr arvoista. Samalla se korvaa kaikki merkkijononäppäimet numeronäppäimillä.
Esimerkki array_values()-funktion käytöstä:

$arr = array("koko" => "XL", "väri" => "kulta");
print_r(array_values($arr));

Tämä esimerkki tulostaa:

Array(
=> XL
=> kultaa
)

PHP 4:n ja PHP 5:n tukema toiminto

in_array

Tarkistaa taulukon arvon olemassaolon.
Syntaksi:

Bool in_array (sekaneula, array haystack [, bool strict])

In_array()-funktio palauttaa arvon TRUE, jos heinäsuovasta matriisi sisältää elementin, jonka arvo on neula, ja FALSE muussa tapauksessa.
Jos asetat kolmanneksi valinnaiseksi parametriksi TRUE, myös in_array()-funktio vertaa arvotyyppejä tarkistuksen yhteydessä.
Huomautus: Jos neulaparametri on merkkijono, vertailussa kirjainkoolla on merkitystä.
Huomautus: PHP-version 4.2.0 aiemmissa versioissa neulaparametri ei voinut olla taulukko.
Esimerkki in_array()-funktion käytöstä:

if (in_array("Irix", $os)) (
kaiku "Got Irix";
}
if (in_array("mac", $os)) (
echo "Got mac";
}
?>

Toinen ehto ei toimi, koska Haku taulukossa on kirjainkoolla.
Esimerkki tulostaa:

Sain Irixin

Esimerkki in_array()-funktion käytöstä: Tiukka parametrin käyttö

if (in_array(array("p", "h"), $a)) (
echo "ph löytyi";
}

if (in_array(array("f", "i"), $a)) (
echo "fi löytyi";
}

if (in_array("o", $a)) (
echo "o löytyi";
}
?>

Esimerkki tulostaa:

Ph löytyi
o löytyi

PHP 4:n ja PHP 5:n tukema toiminto

array_count_values

Palauttaa taulukon arvojen määrän.
Syntaksi:

Array array_count_values(array arr)

Tämä funktio laskee, kuinka monta kertaa kukin arvo esiintyy taulukossa arr ja palauttaa assosiatiivisen taulukon avaimilla -
taulukon elementit ja arvot - näiden elementtien toistojen määrä. Toisin sanoen array_count_values()-funktio
laskee arr-taulukon arvojen esiintymistiheyden.
Esimerkki array_count_values()-funktion käytöstä:

$arr = array(1, "hei", 1, "maailma", "hei");
print_r(array_count_values($arr));

Esimerkki tulostaa seuraavan:

Array(
=> 2
=> 2
=> 1
)

PHP 4:n ja PHP 5:n tukema toiminto

Palauttaa taulukon elementtien määrän.
Syntaksi:

Int sizeof (array arr)

Funktio sizeof() palauttaa arr-taulukon elementtien määrän, samalla tavalla kuin count()-funktion toiminta.

Palauttaa taulukon tai objektin elementtien määrän.
Syntaksi:

Int count (mixed vari [, int mode])

Funktio count() palauttaa taulukon tai var-objektin elementtien määrän. Jos var on skalaarimuuttuja, funktio palauttaa arvon 1, jos tällainen muuttuja on olemassa, tai 0, jos tällaista muuttujaa ei ole.
On huomattava, että 0 palautetaan myös, kun määritetään taulukko, joka ei sisällä elementtejä (NULL).

Jos valinnainen tilaparametri on määritetty, taulukon elementtien kokonaismäärä lasketaan. Tästä voi olla hyötyä, kun etsitään moniulotteisten taulukoiden elementtien lukumäärää.
Esimerkki count()-funktion käytöstä:

$a = 3;
$a = 5;
$tulos = count($a);
// $tulos == 3

$b = 7;
$b = 9;
$b = 11;
$tulos = count($b);
// $tulos == 3;
?>

Esimerkki count()-funktion käytöstä: (PHP >= 4.2.0)

array("oranssi", "banaani", "omena"),
"kasvis" => array("porkkana", "kaulus", "herne"));

// rekursiivinen countecho count($ruoka, COUNT_RECURSIVE); // tulostaa 8

// normaali countecho count($ruoka); // tulostaa 2
?>

PHP 3, PHP 4, PHP 5 tukema toiminto

array_sum

Palauttaa kaikkien taulukon elementtien summan.
Syntaksi:

Mixed array_sum(array arr)

Ary_sum()-funktio palauttaa taulukon kaikkien numeeristen elementtien summan. Palautetun luvun tyyppi (kokonaisluku tai float) riippuu taulukon arvojen tyypistä.

Esimerkki array_sum()-funktion käytöstä:

echo "sum(a) = " . array_sum($a) . "
";

$b = array("a" => 1,2, "b" => 2,3, "c" => 3,4);
echo "sum(b) = " . taulukon_summa($b) . "
";
?>

Tämä esimerkki tulostaa seuraavan:

Summa(a) = 20
summa(b) = 6,9

PHP 4 >=4.0.4, PHP 5 tukema toiminto

array_rand

Suorittaa satunnaisen taulukon indeksien valinnan.
Syntaksi:

Mixed array_rand(array arr [, int num_req])

Ary_rand()-funktio on hyödyllinen, jos haluat valita yhden tai useamman satunnaisarvon taulukosta. Tämä funktio palauttaa satunnaisesti valitut taulukon elementtien indeksit arr.
Num_req-argumentti määrittää palautettavien indeksien määrän. Jos yksi elementti valitaan, array_rand()-funktio palauttaa arvona satunnaisavaimen.
Esimerkki array_rand()-funktion käytöstä:

// Tässä alustimme satunnaislukugeneraattorin
//$arr = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_avaimet = array_rand($arr, 2);
echo $arr[$rand_keys]."
";
echo $arr[$rand_keys]."
";
?>

PHP 4:n ja PHP 5:n tukema toiminto

Assosiatiivinen array– korvaamaton tietotyyppi, jota käytetään kuvaamaan kokoelma ainutlaatuisia avaimia ja niihin liittyviä arvoja – on peruselementti kaikissa ohjelmointikielissä, mukaan lukien PHP. Itse asiassa assosiatiivisilla taulukoilla on niin tärkeä rooli web-ohjelmoinnissa, että PHP sisältää tuen useille toiminnoille ja ominaisuuksille, jotka voivat käsitellä tietoryhmiä kaikilla mahdollisilla tavoilla. Tämä laaja tuki voi olla ylivoimainen kehittäjille, jotka etsivät tehokkaimpia tapoja hallita matriiseja sovelluksissaan. Tässä artikkelissa jaan 10 vinkkiä, jotka auttavat sinua viipaloimaan, pilkkomaan ja pilkkomaan tietojasi loputtomasti.

1. Matriisielementtien lisääminen.

PHP on heikosti kirjoitettu kieli, eli sen ei tarvitse kuvata yksityiskohtaisesti taulukkoa tai sen kokoa. Sen sijaan taulukko voidaan ilmoittaa ja täyttää samanaikaisesti:

$capitals = array("Alabama" => "Montgomery", "Alaska" => "Juneau", "Arizona" => "Phoenix");

Lisää taulukkoelementtejä voidaan liittää seuraavalla tavalla:

$capitals["Arkansas"] = "Little Rock";

Jos käytät numeroituja taulukoita ja haluat mieluummin liittää elementtejä (taulukon alkuun) ja liittää elementtejä käyttämällä monisanaista funktiota, harkitse array_push()- ja array_unshift()-funktioita (nämä funktiot eivät toimi assosiatiivisten taulukoiden kanssa). .

2. Matriisielementtien poistaminen

Jos haluat poistaa elementin taulukosta, käytä unset()-funktiota:

Unset($capitals["Kalifornia"]);

Työskentelemällä numeroitujen taulukoiden kanssa sinulla on enemmän vapautta taulukon elementtien poistamisessa. Eli voit käyttää array_shitt()- ja array_pop()-funktioita poistaaksesi elementin taulukon alusta ja lopusta.

3. Vaihda avaimia ja arvoja

Oletetaan, että halusit luoda uuden taulukon nimeltä $states, jossa osavaltioiden pääkaupungit ovat indeksejä ja itse osavaltiot assosiatiivisina arvoina. Tämä tehtävä (näppäinten ja arvojen vaihtaminen) on helppo ratkaista array_flip() -funktiolla:

$capitals = array("Alabama" => "Montgomery", "Alaska" => "Juneau", "Arizona" => "Phoenix"); $tilat = array_flip($isot kirjaimet); // $states = array(// "Montgomery" => string "Alabama", // "Juneau" => string "Alaska", // "Phoenix" => string "Arizona" //);

4. taulukoiden yhdistäminen

Oletetaan, että edellistä taulukkoa käytettiin yhdessä verkkopohjaisen "flash-kortti"-palvelun kanssa ja halusit antaa opiskelijoille mahdollisuuden testata tietonsa paitsi maailman pääkaupungeista myös Yhdysvaltojen pääkaupungeista. Voit yhdistää taulukon (joissa on osavaltioiden pääkirjaimet) taulukkoon (maailman pääkirjoilla) käyttämällä array_merge()-funktiota:

$stateCapitals = array("Alabama" => "Montgomery", "Alaska" => "Juneau", "Arizona" => "Phoenix"); $countryCapitals = array ("Australia" => "Canberra", "Itävalta" => "Wien", "Algeria" => "Alger"); $pääomat = taulukon_yhdistäminen($valtiopääomat, $maapääomat);

5. Matriisiarvojen muokkaaminen

Oletetaan, että taulukosta löytyvissä tiedoissa voi olla isojen kirjainten käyttöön liittyviä virheitä ja haluat korjata nämä virheet ennen tietojen syöttämistä tietokantaan. Tässä tapauksessa voit käyttää array_map()-funktiota takaisinkutsufunktion käyttämiseen taulukon jokaiseen elementtiin:

Funktio isot kirjaimet($element) ( $element = strtolower($element); // Muunna kaikki kirjaimet pieniksi palauttaa ucwords($element); // Muunna jokaisen rivin sanan ensimmäinen merkki isoksi ) $capitals = array( " Alabama" => "montGoMEry", "Alaska" => "Juneau", "Arizona" => "phoeniX"); $isot = array_map("isot", $isot);

6. Lajittele taulukot avainten mukaan

Flashcard-sovellukset (flashcard - kortti, jossa on teksti ja kuva (käytetään vieraan kielen opetuksessa)) turvautuvat erilaisiin opetustekniikoihin, mukaan lukien korttien lajittelu tietyillä tavoilla, esimerkiksi aakkosjärjestyksessä. Voit lajitella assosiatiivisia taulukoita avainten mukaan käyttämällä ksort()-funktiota:

$kapitalit = array("Arizona" => "Phoenix", "Alaska" => "Juneau", "Alabama" => "Montgomery"); ksort($isot kirjaimet);

7. Matriisijärjestyksen satunnaistaminen

Voit sekoittaa elementtejä satunnaisessa järjestyksessä käyttämällä shuffle()-funktiota:

$kapitalit = array("Arizona" => "Phoenix", "Alaska" => "Juneau", "Alabama" => "Montgomery"); shuffle($isot kirjaimet); foreach ($suuret kirjaimet muodossa $k=>$v) echo "$k: $v
";

Tulos:

Huomioi uloskäynnissä emme saa assosiatiivista taulukkoa, vaan numeerista taulukkoa.

Jos taulukon satunnaistamisen sijaan haluat valita arvon satunnaisesti, käytä array_rand()-funktiota.

8. Selvitä, onko avaimia ja arvoja olemassa

Voit käyttää in_array()-funktiota määrittääksesi, onko taulukkoelementtejä olemassa:

$kapitalit = array("Arizona" => "Phoenix", "Alaska" => "Juneau", "Alabama" => "Montgomery"); if (in_array("Juneau", $suuret kirjaimet)) ( echo "On olemassa!"; ) else ( echo "Ei ole olemassa!"; )

Kyky määrittää, onko taulukkoavaimia olemassa, on vähemmän tunnettu. Se toteutetaan käyttämällä array_key_exists()-funktiota:

$kapitalit = array("Arizona" => "Phoenix", "Alaska" => "Juneau", "Alabama" => "Montgomery"); if (array_key_exists("Alaska", $suuret kirjaimet)) ( echo "Avain on olemassa!"; ) else ( echo "Avain ei ole olemassa!"; )

9. Etsitkö taulukkoa

Haluat ehkä tarjota haettavan flashcard-resurssin, jotta käyttäjät voivat helposti löytää tiettyyn pääkaupunkiin liittyvän osavaltion. Tämä voidaan tehdä käyttämällä array_search()-funktiota (tämä funktio etsii taulukosta tiettyä arvoa ja palauttaa vastaavan avaimen):

$kapitalit = array("Arizona" => "Phoenix", "Alaska" => "Juneau", "Alabama" => "Montgomery"); $tila = array_search("Juneau", $isot); // $state = "Alaska"

10. Normaali PHP-kirjasto

PHP Standard Library (SPL) tarjoaa kehittäjille huomattavan määrän tietorakenteita, rajapintoja, poikkeuksia ja muita ominaisuuksia, joista PHP ei aiemmin voinut ylpeillä. Näihin ominaisuuksiin kuuluu kyky iteroida (toistaa) taulukkoa oliopohjaisella syntaksilla.

$kapitalit = array("Arizona" => "Phoenix", "Alaska" => "Juneau", "Alabama" => "Montgomery"); $arrayObject = new ArrayObject($suuret kirjaimet); foreach ($arrayObject muodossa $tila => $pääoma) ( printf("Kohteen %s pääoma on %s
", $osavaltio, $pääkaupunki); ) // Arizonan pääkaupunki on Phoenix // Alaskan pääkaupunki on Juneau // Alabaman pääkaupunki on Montgomery

Tämä on vain yksi SPL:n hienoista ominaisuuksista. Lisätietoja on PHP-dokumentaatiossa.