Dodajte nov element v niz php. PHP: dodajanje in odstranjevanje elementov matrike. Definiranje elementov v matriki
Dodajanje elementov v matriko
Če matrika obstaja, se ji lahko dodajo dodatni elementi. To se naredi neposredno z uporabo operatorja dodelitve (znak enakosti) na enak način kot dodelitev vrednosti nizu ali številki. V tem primeru vam ni treba nastaviti ključa dodanega elementa, v vsakem primeru pa morate pri dostopu do matrike oglati oklepaji... Z dodajanjem dveh novih elementov na seznam $ zapišemo:
$ Seznam = "hruške";
$ Seznam = "paradižnik";
Če ključ ni podan, bo vsak element dodan v obstoječo matriko in indeksiran z naslednjo zaporedno številko. Če v matriko iz prejšnjega razdelka dodamo nove elemente, katerih elementi so imeli indekse 1, 2 in 3, bodo hruške imele indeks 4, paradižnik pa 5. Ko izrecno nastavite indeks, je vrednost z njim že obstaja, bo obstoječa vrednost na tem mestu izgubljena in nadomeščena z novo:
$ Seznam = "hruške";
$ Seznam = "paradižnik";
Zdaj je vrednost elementa pri indeksu 4 "paradižnik" in elementa "pomaranče" ni več. Svetujem vam, da pri dodajanju elementov v matriko ne določite ključa, razen če seveda želite posebej prepisati obstoječe podatke. Če pa se kot indeksi uporabljajo nizi, morajo biti ključi določeni, da ne izgubijo vrednosti.
V matriko bomo poskušali dodati nove elemente s prepisovanjem skripta soups.php. Najprej s tiskanjem izvirnih elementov matrike, nato pa izvirnih skupaj z dodanimi, zlahka vidimo nastale spremembe. Tako kot lahko s funkcijo strlen () ugotovite dolžino niza (število znakov, ki jih vsebuje), je tudi s funkcijo count () enostavno določiti število elementov v nizu:
$ HowMany = štetje ($ Array);
- Odprite datoteko soup.php urejevalnik besedil.
- Ko inicializirate matriko s funkcijo array (), dodajte naslednji vnos: $ HowMany = štetje ($ Juhe);
- V matriko dodajte tri dodatne elemente. $ Soups ["Thursday"] = "Piščančji rezanci";
- Preračunajte elemente v matriki in natisnite to vrednost. $ HowManyNow = štetje ($ Juhe);
- Shranite skript (listing 7.2), ga naložite na strežnik in preizkusite v brskalniku (slika).
print ("Matrika vsebuje $ HowMany elementov.
\ n ");
Funkcija count () bo določila, koliko elementov je v matriki $ Soups. Če to vrednost dodelite spremenljivki, jo lahko natisnete.
$ Juhe ["Friday"] = "Paradižnik";
$ Juhe ["Saturday"] = "Smetana iz brokolija";
print ("Matrika zdaj vsebuje elemente $ HowManyNow.
\ n ");
Listing 7.2 V matriko lahko neposredno dodate en element naenkrat tako, da vsakemu elementu dodelite vrednost z ustreznim operatorjem. Funkcijo count () lahko uporabite, da ugotovite, koliko elementov je v matriki.
1
2
3
4
5 6 $ Juhe = niz (
7 "Ponedeljek" => "Clam Chowder",
8 "Torek" => "Beli piščančji čili",
9 "Sreda" => "Vegetarijanec");
11 print ("Matrika vsebuje $ HowMany
elementov.
\ n ");
12 $ Juhe ["Thursday"] = "Piščančji rezanci";
13 $ Juhe ["petek"] = "Paradižnik";
14 $ Juhe ["Saturday"] = "Smetana iz
Brokoli ";
15 $ HowManyNow = štetje ($ Juhe);
16 print ("Matrika zdaj vsebuje
$ HowManyNow elementi.
\ n ");
17 ?>
18
19
Predstavljen je PHP 4.0 nova funkcija, ki vam omogoča, da dodate eno matriko drugemu. To operacijo lahko imenujemo tudi združevanje ali povezovanje nizov. Funkcija array_merge () se imenuje takole:
$ NewArray = array_merge ($ OneArray, $ TwoArray);
S to funkcijo lahko prepišete stran soups.php, če uporabljate strežnik z nameščenim PHP 4.0.
Kombinacija dveh nizov
- Odprite datoteko soup.php v urejevalniku besedil, če še ni odprta.
- Po inicializaciji matrike $ Soups preštejte njegove elemente in natisnite rezultat. $ HowMany = štetje ($ Juhe);
- Povežite oba niza v eno. $ TheSoups = array_merge ($ Juhe, $ Juhe2);
- Preštejte elemente nove matrike in natisnite rezultat. $ HowMany3 = štetje ($ TheSoups);
- Zaprite dokument PHP in HTML. ?>
- Shranite datoteko (listing 7.3), jo naložite na strežnik in jo preizkusite v brskalniku (slika).
print ("Matrika $ Soups vsebuje elemente $ HowMany.
\ n ");
- Ustvarite drugo matriko, preštejte njene elemente in natisnite tudi rezultat.
"Četrtek" => "Piščančji rezanci",
"Petek" => "Paradižnik",
"Sobota" => "Smetana iz brokolija");
$ HowMany2 = štetje ($ Juhe2);
print ("Matrika $ Soups2 vsebuje elemente $ HowMany2.
\ n ");
Prepričajte se, da so nizi v tem vrstnem redu ($ Soups, nato $ Soups2), to pomeni, da je treba elemente četrtek in petek dodati elementom v ponedeljek v sredo in ne obratno.
print ("Matrika $ TheSoups vsebuje
- $ HowMany3 elementov.
\ n ");
![](https://i0.wp.com/weblibrary.biz/bimages/php/img49.gif)
Seznam 7.3 Funkcija Array_merge () je nova. To je ena od več dodatnih funkcij PHP 4.0 za delo z nizi. Uporaba nizov vam lahko prihrani veliko časa.
1
2
3
4
5 6 $ Juhe = niz!
7 "Ponedeljek" => "Clam Chowder",
"Torek" => "Beli piščančji čili",
8 "Sreda" => "Vegetarijanec"
9);
10 $ HowMany = štetje ($ Juhe);
11 print ("Matrika $ Soups vsebuje elemente $ HowMany.
\ n ");
12 $ Juhe2 = niz (
13 "Četrtek" => "Piščančji rezanci",
14 "Petek" => "Paradižnik",
15 "Sobota" => "Smetana iz brokolija"
16); .
17 $ HowMany2 = štetje ($ Juhe2);
18 print ("Matrika $ Soups2 vsebuje elemente $ HowMany2.
\ n ");
19 $ TbeSoupe = array_merge ($ Juhe, $ Juhe2);
20 $ HowMany3 = štetje ($ TheSoups);
21 print ("Matrika $ TheSoups vsebuje. $ HowMany3 elemente.
\ n ");
22 ?> "
23
24
Bodite previdni pri neposrednem dodajanju elementov v matriko. Pravilen način za to je: $ Ar ray = "Dodaj to"; $ Aggau = "Dodaj to"; vendar je pravilno takole: $ Aggau = "Dodaj to" ;. Če pozabite postaviti oklepaje, bo dodana vrednost uničila obstoječo matriko in jo spremenila v preprost niz ali številko.
PHP 4.0 ima več novih funkcij za delo z nizi. Niso vsi zajeti v knjigi. Vendar pa so popolne informacije o tej temi v jezikovnem priročniku PHP, ki ga najdete na spletni strani PHP. Pazite, da ne uporabljate novih funkcij, edinstvenih za PHP 4.0, če vaš strežnik izvaja PHP 3.x.
Oglejmo si načine za zapisovanje vrednosti v matriko. Obstoječo matriko je mogoče spremeniti tako, da v njej izrecno nastavite vrednosti. To se naredi tako, da se matriki dodelijo vrednosti.
Dodelitev elementu matrike je videti enako kot dodelitev spremenljivki, razen oglatih oklepajev (), ki so dodani za imenom spremenljivke matrike. Indeks/ključ elementa je naveden v oglatih oklepajih. Če ni podan noben indeks/ključ, bo PHP samodejno izbral najmanjši nezasedeni številčni indeks.
"nič", 1 => "ena"); $ my_arr = "dva"; $ my_arr = "trije"; var_dump ($ my_arr); // dodelitev brez navedbe indeksa / ključa $ my_arr = "štiri"; $ my_arr = "pet"; odmev "
"; var_dump ($ my_arr);?>
Če želite spremeniti določeno vrednost, morate že obstoječemu elementu dodeliti novo vrednost. Če želite odstraniti kateri koli element matrike z indeksom / ključem ali popolnoma odstraniti samo polje, uporabite funkcijo unset ():
Opomba: kot je omenjeno zgoraj, če je element dodan v matriko brez navedbe ključa, bo PHP samodejno uporabil prejšnjo največjo celoštevilsko vrednost ključa, povečano za 1. Če v matriki še ni celih indeksov, bo ključ 0 (nič).
Upoštevajte, da je največja celoštevilska vrednost ključa trenutno ne obstaja nujno v matriki, je to lahko posledica odstranitve elementov matrike. Ko so elementi odstranjeni, matrika ni ponovno indeksirana. Navedimo naslednji primer, da bo bolj jasno:
"; print_r ($ my_arr); // Dodajte element (upoštevajte, da bo novi ključ 3 namesto 0). $ my_arr = 6; echo"
"; print_r ($ my_arr); // Ponovno indeksiranje: $ my_arr = array_values ($ my_arr); $ my_arr = 7; echo"
"; print_r ($ my_arr);?>
Ta primer uporablja dve novi funkciji, print_r () in array_values (). Funkcija array_values () vrne indeksirano matriko (ponovno indeksira vrnjeno matriko s številskimi indeksi), funkcija print_r pa deluje kot var_dump, vendar izpiše matrike na bolj berljiv način.
Zdaj lahko razmislimo o tretjem načinu ustvarjanja nizov:
Primer je pokazal tretji način ustvarjanja matrike. Če matrika $ weekdays še ni bila ustvarjena, bo ustvarjena. Vendar pa ta vrsta ustvarjanja matrike ni priporočljiva, ker če je spremenljivka $ weekdays že bila ustvarjena in vsebuje vrednost, lahko to privede do nepričakovanih rezultatov skripta.
Če dvomite, ali je spremenljivka matrika, uporabite funkcijo is_array. Na primer, preverjanje veljavnosti se lahko izvede na naslednji način:
"; $ no =" navaden niz "; echo is_array ($ ne)?" Array ":" Ni matrika ";?>
PHP podpira skalarne in sestavljene tipe podatkov. V tem članku bomo obravnavali eno od sestavljenih vrst: matrike. Matrika je zbirka podatkovnih vrednosti, organizirana kot urejen niz parov ključ/vrednost.
Ta članek govori o ustvarjanju matrike, dodajanju elementov v matriko. Obstaja veliko vgrajenih funkcij, ki delujejo z nizi PHP, ker so nizi pogosti in uporabni za uporabo. Če želite na primer poslati e-pošto na več kot en e-poštni naslov, lahko e-poštne naslove shranite v matriko in nato prelistate polje in pošljete sporočila na e-poštni naslov, vzet iz matrike.
Indeksirana in asociativna niza
V PHP obstajata dve vrsti nizov: indeksirani in asociativni. Indeksirani matriki so cela števila, ki se začnejo z 0. Indeksirani nizi se uporabljajo, ko potrebujete določeno pozicijo v matriki. Asociativni nizi se obnašajo kot dva stolpca tabele. Prvi stolpec je ključ, ki se uporablja za dostop do vrednosti (drugi stolpec).
PHP interno shranjuje vse matrike kot asociativne matrike, zato je edina razlika med asociativnimi in indeksiranimi nizi ta, da se prikažejo ključi. Nekatere funkcije so primarno namenjene uporabi z indeksiranimi nizi, saj predvidevajo, da so vaši ključi zaporedna cela števila, ki se začnejo pri 0. V obeh primerih sta ključa edinstvena – torej ne morete imeti dveh elementov z istim ključem, ne glede na to, ali ključ je niz ali celo število.
V PHP nizi imajo notranji vrstni red svojih elementov, ki je neodvisen od ključev in vrednosti, in obstajajo funkcije, ki jih lahko uporabite za premikanje nizov na podlagi tega notranjega vrstnega reda.
Definiranje elementov v matriki
Do določenih vrednosti iz matrike lahko dostopate z uporabo imena matrike, ki mu sledi ključ elementa (včasih imenovan indeks) v oglatih oklepajih:
$ starost [»Fred«]; $ prikazuje;
Ključ je lahko niz ali celo število. Vrednosti nizov kot števila (brez vodilnih ničel) se obravnavajo kot cela števila. tako, matrika $ in $ array ['3'] nanašajo na isti element, vendar $ array ['03 '] se nanaša na drug element. Negativne številke se lahko uporabljajo tudi kot ključi, vendar ne določajo položajev s konca matrike, kot je v Perl.
Ključa ni treba vključiti v narekovaje. na primer $ array ['Fred'] všeč $ arrat.Še vedno velja za dober slog PHP vedno uporabljaj narekovaje. Če je indeks brez narekovajev, potem PHP uporablja konstantno vrednost kot indeks:
Definiraj ("indeks", 5); echo $ array; // bo vrnil $ array, ne $ array ["index"];
Če želite v indeks zamenjati številko, morate to storiti:
$ age ["Klon $ številka"]; // bo vrnil, na primer, $ age ["Clone5"];
Vendar ključa ne vključite v narekovaje v naslednjem primeru:
// napačno tiskanje "Pozdravljeni, $ person [" name "]"; print "Pozdravljeni, $ person [" name "]"; // pravilno tiskanje "Pozdravljeni, $osebo";
Shranjevanje podatkov v matrike
Ko poskušate shraniti vrednost v matriko, bo matrika samodejno ustvarjena, če prej ni obstajala, ko pa poskusite pridobiti vrednost iz matrike, ki ni bila definirana, matrika ne bo ustvarjena. Na primer:
// $ naslovi, ki do zdaj niso definirani echo $ naslovi; // nič ne odmeva naslovov $; // nič $ addresses = "spam@cyberpromo.net"; naslovi echo $; // natisniti "matriko"
Za inicializacijo matrike v programu lahko uporabite preprosto dodelitev:
$ naslovi = "spam@cyberpromo.net"; $ naslovi = "zloraba@example.com"; $ naslovi = "root@example.com"; // ...
Razglasili smo indeksno matriko s celimi indeksi, ki se začnejo pri 0.
Asociativni niz:
$ cena ["Tesnilo"] = 15,29; $ cena ["Kolo"] = 75,25; $ cena ["Pnevmatika"] = 50,00; // ...
Lažji način inicializacije matrike je uporaba konstrukcije niz () ki iz svojih argumentov zgradi matriko:
$ naslovi = array ("spam@cyberpromo.net", "abuse@example.com", "root@example.com");
Če želite ustvariti asociativno matriko z uporabo niz (), uporaba => znaki, ki ločujejo indekse od vrednosti:
$ cena = niz ("Tesnilo" => 15,29, "Kolo" => 75,25, "Pnevmatika" => 50,00);
Bodite pozorni na uporabo prostorov in poravnavo. Kodo bi lahko združili, vendar bi bila ta manj opisna:
$ cena = niz ("Tesnilo" => 15,29, "Kolo" => 75,25, "Pnevmatika" => 50,00);
Če želite ustvariti prazen niz, morate poklicati konstrukcijo niz () brez argumentov:
$ naslovi = niz ();
V matriki lahko podate začetni ključ in nato seznam vrednosti. Vrednosti se vnesejo v matriko, začenši s ključem in nato naraščajoče:
$ dni = niz (1 => "ponedeljek", "torek", "sreda", "četrtek", "petek", "sobota", "nedelja"); // 2 je torek, 3 je sreda itd.
Če je začetni indeks niz, potem naslednji indeksi postanejo cela števila, ki se začnejo pri 0. Torej je naslednja koda verjetno napaka:
$ whoops = array ("petek" => "črna", "rjava", "zelena"); // enako kot $ whoops = array ("petek" => "črna", 0 => "rjava", 1 => "zelena");
Dodajanje novega elementa na konec matrike
Če želite vstaviti več vrednosti na konec obstoječe indeksirane matrike, uporabite sintakso:
$ družina = niz ("Fred", "Wilma"); // $ family = "Fred" $ family = "Prodniki"; // $ family = "Prodniki"
Ta konstrukcija predpostavlja, da so indeksi matrike številke, in elementu dodeli naslednji razpoložljiv številčni indeks, ki se začne pri 0. Poskus dodajanja elementa v asociativno niz je skoraj vedno napaka programerja, vendar PHP bo dodal nove elemente s številskimi indeksi (začenši z 0), ne da bi izdal opozorilo:
$ person = array ("name" => "Fred"); // $ person ["name"] = "Fred"; $ person = "Wilma"; // $ person = "Wilma"
Na tej stopnji bomo zaključili uvodni del dela z nizi v PHP. Čakam vas v naslednjem članku.
Obstaja veliko funkcij in operaterjev za pretvorbo matrik v php: Zbirka funkcij za delo z nizi
Obstaja več načinov za dodajanje matrike v matriko s pomočjo php in vsi so lahko uporabni za posamezne primere.
"operater +"
To je preprost, a zapleten način:
$ c = $ a + $ b
To doda samo tiste ključe, ki še niso v matriki $ a. V tem primeru se elementi dodajo na konec matrike.
To pomeni, da če ključ iz matrike $ b ni v matriki $ a, bo element s tem ključem dodan v nastalo matriko.
Če matrika $ a že vsebuje element s takšnim ključem, bo njegova vrednost ostala nespremenjena.
Z drugimi besedami, vsota se spremeni zaradi zamenjave krajev izrazov: $ a + $ b! = $ B + $ a - to je vredno zapomniti.
Zdaj za bolj podroben primer za ponazoritev tega:
$ arr1 = ["a" => 1, "b" => 2]; $ arr2 = ["b" => 3, "c" => 4]; var_export ($ arr1 + $ arr2); // matrika (// "a" => 1, // "b" => 2, // "c" => 4, //) var_export ($ arr2 + $ arr1); // matrika (// "b" => 3, // "c" => 4, // "a" => 1, //)
Funkcija Array_merge ().
To funkcijo lahko uporabite na naslednji način:
$ rezultat = array_merge ($ arr1, $ arr2)
Ponastavi številčne indekse in zamenja nize. Odlično za povezovanje dveh ali več številčno indeksiranih nizov:
Če imajo vhodni nizi enake ključe nizov, bo vsaka naslednja vrednost nadomestila prejšnjo. Če pa imajo nizi enake številske ključe, zadnja omenjena vrednost ne bo nadomestila prvotne vrednosti, ampak bo dodana na konec matrike.
Array_merge_rekurzivna funkcija
Dela enako kot array_merge, vendar tudi rekurzivno ponavlja vsako vejo matrike in enako naredi s potomci.
Funkcija Array_replace ().
Zamenja elemente matrike z elementi drugih posredovanih nizov.
Funkcija Array_replace_recursive ().
Enako kot array_replace obdela samo vse veje matrike.
array_pad
V matriko doda več elementov.
sintaksa:
Matrika array_pad (vhod matrike, int pad_size, mešana pad_value)
Array_pad () vrne kopijo vhodne matrike, v katero so bili dodani elementi s pad_values, tako da je število elementov v nastali matriki enako pad_size.
Če je pad_size> 0, bodo elementi dodani na konec matrike in če<0 - то в начало.
Če je vrednost pad_size manjša od elementov v izvirnem vhodnem nizu, potem ne bo prišlo do dodajanja in funkcija bo vrnila izvirno vhodno matriko.
Primer uporabe funkcije array_pad ():
$ arr = matrika (12, 10, 4);
$ rezultat = array_pad ($ arr, 5, 0);
// $ rezultat = matrika (12, 10, 4, 0, 0);
$ rezultat = array_pad ($ arr, -7, -1);
// $ rezultat = matrika (-1, -1, -1, -1, 12, 10, 4)
$ rezultat = array_pad ($ arr, 2, "noop");
// ne bo dodal
array_map
Uporaba funkcije po meri za vse elemente podanih nizov.
sintaksa:
Array array_map (mešani povratni klic, array arr1 [, array ...])
Funkcija array_map () vrne matriko, ki vsebuje elemente vseh podanih nizov, potem ko jih obdela funkcija povratnega klica po meri.
Število parametrov, posredovanih uporabniško definirani funkciji, se mora ujemati s številom nizov, posredovanih funkciji array_map ().
Primer uporabe funkcije array_map (): Obdelava enega niza
vrni $ n * $ n * $ n;
}
$ a = niz (1, 2, 3, 4, 5);
$ b = array_map ("kocka", $ a);
print_r ($ b);
?>
Niz (
=> 1
=> 8
=> 27
=> 64
=> 125
)
Primer uporabe funkcije array_map (): Obdelava več nizov
return "Število $ n v španščini je $ m";
}
funkcija zemljevid_španščina ($ n, $ m) (
vrnjena matrika ($ n => $ m);
}
$ a = niz (1, 2, 3, 4, 5);
$ b = matrika ("uno", "dos", "tres", "cuatro", "cinco");
$ c = array_map ("show_Spanish", $ a, $ b);
print_r ($ c);
$ d = array_map ("map_Spanish", $ a, $ b);
print_r ($ d);
?>
Zgornji primer bo izpisal naslednje:
// izpis $ cArray (
=> Številka 1 v španščini je uno
=> Številka 2 v španščini je dos
=> Številka 3 v španščini je tres
=> Številka 4 v španščini je cuatro
=> Številka 5 v španščini je cinco
)
// izpis $ dArray (
=> Niz
=> uno
)
=> Niz
=> dos
)
=> Niz
=> tres
)
=> Niz
=> cuatro
)
=> Niz
=> cinco
)
Običajno se funkcija array_map () uporablja za nize iste dimenzije. Če imajo nizi različne dolžine, so manjše obložene z elementi s praznimi vrednostmi.
Upoštevati je treba, da če namesto imena funkcije za obdelavo podate null, bo ustvarjena matrika nizov.
Primer uporabe funkcije array_map (): Ustvarjanje matrike matrik
$ b = matrika ("ena", "dva", "tri", "štiri", "pet");
$ c = matrika ("uno", "dos", "tres", "cuatro", "cinco");
$ d = matrika_map (nič, $ a, $ b, $ c);
print_r ($ d);
?>
Zgornji primer bo izpisal naslednje:
Niz (
=> Niz
=> 1
=> ena
=> uno
)
=> Niz
=> 2
=> dva
=> dos
)
=> Niz
=> 3
=> tri
=> tres
)
=> Niz
=> 4
=> štiri
=> cuatro
)
=> Niz
=> 5
=> pet
=> cinco
)
Funkcija, ki jo podpira PHP 4> = 4.0.6, PHP 5
array_pop
Pridobi in odstrani zadnje elemente matrike.
sintaksa:
Mešani array_pop (matrika arr);
Funkcija array_pop () pridobi zadnji element iz matrike arr in ga vrne ter ga nato odstrani. S to funkcijo lahko zgradimo strukture, ki spominjajo na sklad. Če je bila matrika arr prazna ali če ni matrika, funkcija vrne prazen niz NULL.
Po uporabi funkcije array_pop () je kazalec matrike nastavljen na začetek.
Primer uporabe funkcije array_pop ():
$ sadje = array_pop ($ sklad);
print_r ($ sklad);
print_r ($ sadje);
?>
Primer bo izpisal naslednje:
Niz (
=> oranžna
=> banana
=> jabolko
)
Funkcijo podpirajo PHP 4, PHP 5
array_push
Doda enega ali več elementov na konec matrike.
sintaksa:
Int array_push (matrika arr, mešana var1 [, mešana var2, ..])
Array_push () doda var1, var2 itd. v arr. Dodeljuje jim številčne indekse – tako kot standardnim.
Če morate dodati samo en element, bo morda lažje uporabiti ta operator:
Array_push ($ Arr, 1000); // pokličemo funkcijo $ Arr = 100; // enako, vendar krajše
Primer uporabe funkcije array_push ():
array_push ($ sklad, "jabolko", "malina");
print_r ($ sklad);
?>
Primer bo izpisal naslednje:
Niz (
=> oranžna
=> banana
=> jabolko
=> malina
)
Upoštevajte, da array_push () vzame matriko kot sklad in vedno doda elemente na njen konec.
Funkcijo podpirajo PHP 4, PHP 5
array_shift
Pridobi in odstrani prvi element v matriki.
sintaksa:
Mixed array_shift (array arr)
Funkcija Array_shift () pridobi prvi element matrike arr in ga vrne. Zelo je podoben array_pop (),
vendar prejme le začetni, ne končni element in povzroči tudi precej močan "pretres" celotne matrike: navsezadnje morate pri ekstrakciji prvega elementa prilagoditi vse številčne indekse vseh preostalih elementov , od vsi naslednji elementi matrike so premaknjeni za eno pozicijo naprej. Tipi nizov matrike se ne spremenijo.
Če je arr prazen ali ni matrika, funkcija vrne NULL.
Po uporabi te funkcije se kazalec matrike premakne na začetek.
Primer uporabe funkcije array_shift ():
$ sadje = array_shift ($ sklad);
print_r ($ sklad);
?>
Ta primer bo izpisal naslednje:
Niz (
=> banana
=> jabolko
=> malina
)
in spremenljivka $ fruit bo imela vrednost "orange"
Funkcijo podpirajo PHP 4, PHP 5
array_unshift
Na začetek matrike doda eno ali več vrednosti.
sintaksa:
Int array_unshift (seznam arr, mešani var1 [, mešani var2, ...])
Array_unshift () doda posredovane vrednosti var na začetek matrike arr. Vrstni red novih elementov v matriki je ohranjen. Vsi številčni indeksi matrike bodo spremenjeni tako, da se začne pri nič. Vsi indeksi nizov v matriki so nespremenjeni.
Funkcija vrne novo število elementov v matriki.
Primer uporabe funkcije array_unshift ():
array_unshift ($ čakalna vrsta, "jabolko", "malina");
?>
Zdaj bo imela spremenljivka čakalne vrste $ naslednje elemente:
Niz (
=> jabolko
=> malina
=> oranžna
=> banana
)
Funkcijo podpirajo PHP 4, PHP 5
array_unique
Odstrani podvojene vrednosti v matriki.
sintaksa:
Array array_unique (matrika arr)
Array_unique () vrne matriko vseh edinstvenih vrednosti v arr, skupaj z njihovimi ključi, tako da odstrani vse podvojene vrednosti. Prvi pari ključ => vrednosti so postavljeni v nastalo matriko. Indeksi so shranjeni.
Primer uporabe funkcije array_unique ():
"zelena", "rdeča", "b" =>
"zelena", "modra", "rdeča");
print_r ($ rezultat);
?>
Primer bo izpisal naslednje:
Niz (
[a] => zelena
=> rdeče
=> modra
)
Primer uporabe funkcije array_unique (): Primerjava podatkovnih tipov
$ rezultat = array_unique ($ vnos);
var_dump ($ rezultat);
?>
Primer bo izpisal naslednje:
Niz (2) (
=> int (4)
=> niz (1) "3"
}
Funkcija, ki jo podpira PHP 4> = 4.0.1, PHP 5
array_chunk
Funkcija razdeli matriko na dele.
sintaksa:
Matrika array_chunk (matrika arr, int velikost [, bool reserve_keys])
Funkcija Array_chunk () razdeli izvirno matriko arr na več nizov, katerih dolžina je določena z velikostjo števila. Če dimenzija prvotnega niza ni deljiva z natančno velikimi deli, bo imela zadnja matrika nižjo dimenzijo.
Funkcija array_chunk () vrne večdimenzionalno matriko, katere indeksi se začnejo od 0 do števila prejetih matrik, vrednosti pa so matrike, pridobljene kot rezultat delitve.
Izbirni parameter reserve_keys določa, ali naj se ključi izvirnega niza ohranijo ali ne. Če je ta parameter napačen (privzeta vrednost), bodo indeksi nastalih nizov določeni kot številke, ki se začnejo od nič. Če je parameter resničen, so ključi izvirnega niza ohranjeni.
Primer uporabe funkcije array_chunk ():
$ array = array ("1. element",
"2. element",
"3. element",
"4. element",
"5. element");
print_r (array_chunk ($ array, 2));
print_r (array_chunk ($ array, 2, TRUE));
Primer bo izpisal naslednje:
Niz (
=> Niz
=> 1. element
=> 2. element
)
=> Niz
=> 3. element
=> 4. element
)
=> Niz
=> 5. element
)
)
Niz (
=> Niz
=> 1. element
=> 2. element
)
=> Niz
=> 3. element
=> 4. element
)
=> Niz
=> 5. element
)
Funkcija, ki jo podpira PHP 4> = 4.2.0, PHP 5
array_fill
Funkcija napolni matriko s posebnimi vrednostmi.
sintaksa:
Matrika array_fill (int start_index, int num, mešana vrednost)
Funkcija array_fill () vrne matriko, ki vsebuje vrednosti num velikosti, določene v parametru vrednosti, začenši z elementom, navedenim v parametru start_index.
Primer uporabe array_diff_uassoc ():
print_r ($ a);
?>
Primer bo izpisal naslednje:
Niz (
=> banana
=> banana
=> banana
=> banana
=> banana
=> banana
)
Funkcija, ki jo podpira PHP 4> = 4.2.0, PHP 5
array_filter
Funkcija uporabi filter za matriko s funkcijo po meri.
sintaksa:
Array_filter (matrika vnos [, povratni klic])
Funkcija array_filter () vrne matriko, ki vsebuje vrednosti v vhodnem nizu, filtrirane glede na rezultate funkcije povratnega klica po meri.
Če je prvotni vhodni niz asociativni niz, so indeksi shranjeni v nastali matriki.
Primer uporabe funkcije array_filter ():
donos ($ var% 2 == 1);
}
funkcija celo ($ var) (
donos ($ var% 2 == 0);
}
$ array1 = matrika ("a" => 1, "b" => 2, "c" => 3, "d" => 4, "e" => 5);
$ matrika2 = matrika (6, 7, 8, 9, 10, 11, 12);
echo "Liho: n";
print_r (array_filter ($ array1, "odd"));
echo "Sodo: n";
t_r (matrika_filter ($ array2, "sodo"));
?>
Primer bo izpisal naslednje:
Nepar: niz (
[a] => 1
[c] => 3
[e] => 5
Celo: niz (
=> 6
=> 8
=> 10
=> 12
)
Omeniti velja, da lahko namesto imena funkcije filtriranja podate matriko, ki vsebuje sklic na predmet in ime metode.
Omeniti velja tudi, da pri obdelavi matrike s funkcijo array_filter () je ni mogoče spremeniti: dodati, odstraniti elemente ali izničiti matriko, saj to lahko privede do nepravilnega delovanja funkcije.
Funkcija, ki jo podpira PHP 4> = 4.0.6, PHP 5