PHP Podržava skalarne i kompozitne tipove podataka. U ovom ćemo članku raspravljati o jednom od složenih tipova: nizovima. Niz je zbirka vrijednosti podataka organiziranih kao uređeni skup parova ključ-vrijednost.
Ovaj članak govori o stvaranju niza, dodavanju elemenata u niz. Postoje mnoge ugrađene funkcije koje rade s nizovima PHP jer su nizovi uobičajeni i korisni za korištenje. Na primjer, ako želite poslati e-poštu na više od jedne adrese e-pošte, možete pohraniti adrese e-pošte u niz i zatim se kretati kroz niz, šaljući poruke na adresu e-pošte preuzetu iz niza.
Indeksirani i asocijativni nizovi
U PHP-u postoje dvije vrste nizova: indeksni i asocijativni. Ključevi indeksiranog niza su cijeli brojevi počevši od 0. Indeksirani nizovi se koriste kada vam je potrebna određena pozicija u nizu. Asocijativni nizovi ponašaju se kao dva stupca tablice. Prvi stupac je ključ koji se koristi za pristup vrijednosti (drugi stupac).
PHP interno pohranjuje sve nizove kao asocijativne nizove, tako da je jedina razlika između asocijativnih i indeksiranih nizova to što se pojavljuju ključevi. Neke su funkcije dane primarno za upotrebu s indeksiranim nizovima, budući da pretpostavljaju da su vaši ključevi uzastopni cijeli brojevi koji počinju od 0. U oba slučaja, ključevi su jedinstveni - to jest, ne možete imati dva elementa s istim ključem, bez obzira je li ključ je niz ili cijeli broj.
U PHP nizovi imaju unutarnji poredak svojih elemenata koji je neovisan o ključevima i vrijednostima, a postoje funkcije koje se mogu koristiti za prelazak nizova na temelju tog unutarnjeg poretka.
Definiranje elemenata u nizu
Možete pristupiti određenim vrijednostima iz niza korištenjem naziva niza nakon kojeg slijedi ključ elementa (ponekad zvan indeks) u uglatim zagradama:
$age["Fred"]; $emisije;
Ključ može biti niz ili cijeli broj. Vrijednosti niza kao brojevi (bez vodećih nula) tretiraju se kao cijeli brojevi. dakle, $niz I $array['3'] odnose se na isti element, ali $array['03'] odnosi se na drugi element. Negativni brojevi također se mogu koristiti kao ključevi, ali oni ne određuju položaje od kraja niza, kao u Perl.
Ključ nije potrebno pisati pod navodnicima. Na primjer, $array['Fred'] kao $arrat. Međutim, smatra se dobrim stilom PHP uvijek koristite navodnike. Ako je indeks bez navodnika, tada PHP koristi vrijednost konstante kao indeks:
Definiraj("indeks",5); echo $niz; // vratit će $array, a ne $array["index"];
Ako želite zamijeniti broj u indeksu, morate učiniti sljedeće:
$age["Clone$number"]; // će vratiti, na primjer $age["Clone5"];
Međutim, nemojte citirati ključ u sljedećem slučaju:
// netočan ispis "Zdravo, $person["name"]"; print "Zdravo, $person["name"]"; // ispravan ispis "Zdravo, $osobo";
Pohranjivanje podataka u nizove
Kada pokušate pohraniti vrijednost u polje, polje će se automatski stvoriti ako prethodno nije postojalo, ali kada pokušate dohvatiti vrijednost iz polja koje nije definirano, polje se neće stvoriti. Na primjer:
// $adrese do sada nisu definirane echo $adrese; // ništa echo $adrese; // ništa $adrese = " [e-mail zaštićen]"; echo $adrese; // ispis "Niza"
Možete koristiti jednostavnu dodjelu za inicijalizaciju niza u programu:
$adrese = " [e-mail zaštićen]"; $adrese = " [e-mail zaštićen]"; $adrese = " [e-mail zaštićen]"; // ...
Deklarirali smo indeksni niz s cijelim brojevima koji počinju od 0.
Asocijativni niz:
$price["Gasket"] = 15,29; $price["Wheel"] = 75,25; $price["Guma"] = 50,00; // ...
Jednostavniji način za inicijaliziranje niza je korištenje konstrukcije Niz(), koji gradi niz od svojih argumenata:
$adrese = niz(" [e-mail zaštićen]", "[e-mail zaštićen]", "[e-mail zaštićen]");
Za stvaranje asocijativnog niza pomoću Niz(), koristiti => simbol koji odvaja indekse od vrijednosti:
$price = array("Gasket" => 15.29, "Wheel" => 75.25, "Tire" => 50.00);
Obratite pozornost na korištenje razmaka i poravnanje. Mogli bismo grupirati kod, ali bi bio manje jasan:
$price = array("Gasket"=>15.29,"Wheel"=>75.25,"Tire"=>50.00);
Da biste stvorili prazan niz, morate pozvati konstrukciju Niz() bez argumenata:
$adrese = niz();
Možete navesti početni ključ u nizu, a zatim popis vrijednosti. Vrijednosti se unose u niz, počevši od ključa, a zatim rastući:
$days = array(1 => "ponedjeljak", "utorak", "srijeda", "četvrtak", "petak", "subota", "nedjelja"); // 2 je utorak, 3 je srijeda, itd.
Ako je početni indeks niz, tada naredni indeksi postaju cijeli brojevi, počevši od 0. Stoga je sljedeći kod vjerojatno pogreška:
$whoops = array("petak" => "crno", "smeđe", "zeleno"); // isto kao $whoops = array("Petak" => "Crna", 0 => "Smeđa", 1 => "Zelena");
Dodavanje novog elementa na kraj niza
Za umetanje više vrijednosti na kraj postojećeg indeksiranog niza, koristite sintaksu:
$obitelj = niz("Fred", "Wilma"); // $family = "Fred" $family = "Pebbles"; // $family = "Šljunak"
Ova konstrukcija pretpostavlja da su indeksi polja brojevi i elementu dodjeljuje sljedeći dostupni numerički indeks, počevši od 0. Pokušaj dodavanja elementa asocijativnom nizu gotovo je uvijek pogreška programera, ali PHPće dodati nove elemente s numeričkim indeksima (počevši od 0) bez izdavanja upozorenja:
$osoba = niz("ime" => "Fred"); // $person["name"] = "Fred"; $osoba = "Wilma"; // $osoba = "Wilma"
U ovoj fazi ćemo završiti uvodni dio rada s nizovima u PHP-u. Veselim se što ću vas vidjeti u sljedećem članku.
Dodavanje elemenata nizu
Ako niz postoji, mogu mu se dodati dodatni elementi.
To se radi izravno korištenjem operatora dodjele (znak jednakosti) na isti način kao i dodjeljivanje vrijednosti nizu ili broju. U ovom slučaju ne morate navesti ključ dodanog elementa, ali u svakom slučaju, pri pristupu nizu potrebne su uglate zagrade. Dodavanjem dva nova elementa u $List, pišemo:
$List = "kruške";
$List = "rajčice";
To se radi izravno korištenjem operatora dodjele (znak jednakosti) na isti način kao i dodjeljivanje vrijednosti nizu ili broju. U ovom slučaju ne morate navesti ključ dodanog elementa, ali u svakom slučaju, pri pristupu nizu potrebne su uglate zagrade. Dodavanjem dva nova elementa u $List, pišemo:
$List = "kruške";
Ako ključ nije naveden, svaki element će biti dodan u postojeći niz i indeksiran sljedećim rednim brojem. Ako nizu iz prethodnog odjeljka, čiji su elementi imali indekse 1, 2 i 3, dodamo nove elemente, tada će kruške imati indeks 4, a rajčice indeks 5. Kada eksplicitno navedete indeks, a vrijednost s njim je već postoji, postojeća vrijednost na toj lokaciji bit će izgubljena i zamijenjena novom:
Pokušat ćemo dodati nove elemente nizu prepisivanjem skripte soups.php. Ispisom prvo izvornih elemenata niza, a potom i originalnih zajedno s dodanim, možemo lako vidjeti nastale promjene.
Baš kao što možete saznati duljinu niza (broj znakova koji sadrži) pomoću funkcije strlen(), također je lako odrediti broj elemenata u nizu pomoću funkcije count():
- $HowMany = count($Array);
- Otvorite datoteku soups.php u uređivaču teksta. Nakon inicijalizacije niza pomoću funkcije array(), dodajte sljedeći unos:
- Funkcija count() će odrediti koliko je elemenata u nizu $Soups. Dodjeljivanjem ove vrijednosti varijabli, ona se može ispisati. Dodajte tri dodatna elementa u polje.
- $Soups["Saturday"] = "Krema od brokule"; Prebrojite elemente u nizu i ispišite ovu vrijednost.
- \n");
$HowMany = count($Soups);
print("Niz sadrži $HowMany elemenata.
\n");
$Soups["Thursday"] = "Pileći rezanci";
$Soups["Friday"] = "Rajčica";
$HowManyNow = count($Soups);
print("Niz sada sadrži elemente $HowManyNow.
Spremite skriptu (ispis 7.2), prenesite je na poslužitelj i testirajte je u pregledniku (slika).
1
2
3
4
5 Korištenje polja
6 $Soups = niz(
7 "ponedjeljak"=>"juha od školjki",
8 "Utorak"=>"Bijeli pileći čili",
9 "Srijeda"=>"Vegetarijanac");
11 print ("Niz sadrži $HowMany
elementi.
\n");
12 $Soups["Thursday"] = "Pileći rezanci";
13 $Soups["Friday"] = "Rajčica";
14 $Soups["Saturday"] = "Krema od
Brokula";
15 $HowManyNow = count($Soups);
16 print("Niz sada sadrži
elementi.
17 ?>
18
19
$HowManyNow elemente.
PHP 4.0 uveo je novu značajku koja vam omogućuje dodavanje jednog niza u drugi. Ova se operacija također može nazvati spajanje ili ulančavanje nizova. Funkcija array_merge() poziva se na sljedeći način:
$NewArray = array_merge($OneArray, $TwoArray);
Možete prepisati stranicu soups.php pomoću ove funkcije ako radite na poslužitelju koji ima instaliran PHP 4.0.
- Spajanje dva niza
- Otvorite datoteku soups.php u uređivaču teksta ako već nije otvorena. Nakon inicijalizacije niza pomoću funkcije array(), dodajte sljedeći unos:
- Kombinirajte dva niza u jedan. $TheSoups = array_merge($Soups, $Soups2);
- Prebrojite elemente novog niza i ispišite rezultat. $HowMany3 = broj($TheSoups);
- Zatvorite PHP i HTML dokument. ?>
- Spremite datoteku (ispis 7.3), prenesite je na poslužitelj i testirajte je u pregledniku (slika).
Nakon inicijalizacije niza $Soups, prebrojite njegove elemente i ispišite rezultat.
print("Niz sada sadrži elemente $HowManyNow.
- print("Polje $Soups sadrži $HowMany elemenata.
"Četvrtak"=>"Pileći rezanci",
"petak"=>"rajčica",
"Subota"=>"Krema od brokule");
$HowMany2 = broj($Soups2);
print("Polje $Soups2 sadrži $HowMany2 elemenata.
print("Niz sada sadrži elemente $HowManyNow.
Provjerite jesu li nizovi poredani ovim redoslijedom ($Soups, zatim $Soups2), odnosno elementi četvrtka i petka trebaju biti dodani elementima ponedjeljka i srijede, a ne obrnuto.
print("Polje $TheSoups sadrži
-$HowMany3 elemenata.
print("Niz sada sadrži elemente $HowManyNow.
Ispis 7.3 Funkcija Array_merge() je nova. Ovo je jedna od nekoliko dodatnih funkcija u PHP-u 4.0 dizajniranih za rad s nizovima. Korištenjem nizova možete uštedjeti puno vremena.
1
2
3
4
5 6 $Juhe = niz!
7 "ponedjeljak"=>"juha od školjki",
"Utorak"=>"Bijeli pileći čili",
8 "Srijeda"=>"Vegetarijanska"
9);
10 $HowMany = count($Soups);
11 print("Polje $Soups sadrži $HowMany elemenata.
elementi.
12 $Soups2 = niz(
13 "Četvrtak"=>"Pileći rezanci",
14 "Petak"=>"Rajčica",
15 "Subota"=>"Krema od brokule"
16); .
17 $HowMany2 = broj($Soups2);
18 print ("Polje $Soups2 sadrži $HowMany2 elemenata.
elementi.
19 $TbeSoupe = array_merge($Soups, $Soups2);
20 $HowMany3 = broj ($TheSoups) ;
21 print ("Polje $TheSoups sadrži .$HowMany3 elemenata.
elementi.
22 ?> "
23
24
Budite oprezni kada izravno dodajete elemente u polje. Ovo se ispravno radi ovako: $Ar ray = "Dodaj ovo"; iyai$Aggau = "Dodaj ovo";, ali ispravno je ovako: $Aggau = "Dodaj ovo";. Ako zaboravite staviti zagrade, dodana vrijednost će uništiti postojeći niz, pretvarajući ga u jednostavan niz ili broj.
PHP 4.0 ima nekoliko novih funkcija za rad s nizovima. Nisu svi oni obrađeni u knjizi. Međutim, potpune informacije o ovoj temi sadržane su u PHP jezičnom priručniku koji se može pronaći na web stranici PHP-a. Pazite da ne koristite nove značajke jedinstvene za PHP 4.0 ako vaš poslužitelj koristi PHP 3.x.
Pogledajmo načine za pisanje vrijednosti u niz. Postojeći niz se može modificirati eksplicitnim postavljanjem vrijednosti u njemu. To se postiže dodjeljivanjem vrijednosti nizu.
Operacija dodjele vrijednosti elementu niza ista je kao operacija dodjele vrijednosti varijabli, osim uglatih zagrada () koje se dodaju nakon naziva varijable niza. Indeks/ključ elementa naveden je u uglatim zagradama. Ako nije naveden indeks/ključ, PHP će automatski odabrati najmanji slobodni numerički indeks.
"nula", 1 => "jedan");
$my_arr = "dva";
$my_arr = "tri";
var_dump($my_arr);
// dodjela bez navođenja indeksa/ključa $my_arr = "četiri"; $my_arr = "pet"; odjek "
"; var_dump($my_arr); ?>
Da biste promijenili određenu vrijednost, jednostavno dodijelite novu vrijednost postojećem elementu. Za uklanjanje bilo kojeg elementa niza s njegovim indeksom/ključem ili za potpuno uklanjanje samog polja, upotrijebite funkciju unset():
Napomena: Kao što je gore spomenuto, ako je element dodan nizu bez navođenja ključa, PHP će automatski koristiti prethodnu najveću vrijednost ključa cijelog broja uvećanu za 1. Ako u nizu još nema indeksa cijelog broja, tada će ključ biti 0 (nula).
Imajte na umu da najveća cjelobrojna vrijednost ključa
ne mora nužno postojati u nizu u ovom trenutku
, to može biti zbog uklanjanja elemenata niza. Nakon što su elementi uklonjeni, polje se ne indeksira ponovno. Uzmimo sljedeći primjer da bude jasnije:
"; print_r($my_arr); // Dodajte element (imajte na umu da će novi ključ biti 3 umjesto 0). $my_arr = 6; echo "
"; print_r($my_arr); // Izvršite ponovno indeksiranje: $my_arr = array_values($my_arr); $my_arr = 7; echo "
Postoje mnoge funkcije i operatori za pretvaranje nizova u PHP-u: Zbirka funkcija za rad s nizovima
Postoji nekoliko načina za dodavanje niza u niz pomoću PHP-a i svi oni mogu biti korisni u određenim slučajevima.
"Operater +"
Ovo je jednostavan, ali podmukao način:
$c = $a + $b
Na ovaj način se dodaju samo oni ključevi koji već nisu u nizu $a. U ovom slučaju, elementi se dodaju na kraj niza.
To jest, ako ključ iz niza $b nije prisutan u nizu $a, tada će element s ovim ključem biti dodan rezultirajućem nizu.
Ako polje $a već sadrži element s takvim ključem, tada će njegova vrijednost ostati nepromijenjena.
Drugim riječima, mijenjanjem mjesta članova mijenja se zbroj: $a + $b != $b + $a - ovo vrijedi zapamtiti.
Evo detaljnijeg primjera koji ovo ilustrira:
$arr1 = ["a" => 1, "b" => 2]; $arr2 = ["b" => 3, "c" => 4]; var_export($arr1 + $arr2); //niz (// "a" => 1, // "b" => 2, // "c" => 4, //) var_export($arr2 + $arr1); //niz (// "b" => 3, // "c" => 4, // "a" => 1, //)
funkcija array_merge().
Ovu funkciju možete koristiti na sljedeći način:
$rezultat = array_merge($arr1, $arr2)
Ponovno postavlja numeričke indekse i zamjenjuje nizove. Izvrstan za ulančavanje dva ili više polja s numeričkim indeksima:
Ako ulazni nizovi imaju iste ključeve niza, tada će svaka sljedeća vrijednost zamijeniti prethodnu. Međutim, ako nizovi imaju iste numeričke ključeve, zadnja spomenuta vrijednost neće zamijeniti izvornu vrijednost, već će se dodati na kraj niza.
array_merge_rekurzivna funkcija
Radi isto što i array_merge osim što rekurzivno prolazi kroz svaku granu niza i čini isto s djecom.
funkcija array_replace().
Zamjenjuje elemente niza elementima drugih proslijeđenih nizova.
funkcija array_replace_recursive().
Isto kao array_replace, ali obrađuje sve grane niza.
polje_niza
Dodaje nekoliko elemenata nizu.
Sintaksa:
Niz array_pad(unos polja, int pad_size, mixed pad_value)
Funkcija array_pad() vraća kopiju ulaznog niza u koji su dodani elementi s pad_values tako da je broj elemenata u rezultirajućem nizu pad_size.
Ako pad_size>0, tada će elementi biti dodani na kraj niza, a ako<0 - то в начало.
Ako je vrijednost pad_size manja od elemenata u izvornom ulaznom nizu, neće doći do zbrajanja i funkcija će vratiti izvorni ulazni niz.
Primjer korištenja funkcije array_pad():
$arr = niz(12, 10, 4);
$rezultat = array_pad($arr, 5, 0);
// $rezultat = niz(12, 10, 4, 0, 0);
$rezultat = array_pad($arr, -7, -1);
// $rezultat = niz(-1, -1, -1, -1, 12, 10, 4)
$rezultat = array_pad($arr, 2, "noop");
// neće dodati
array_map
Primijenite prilagođenu funkciju na sve elemente navedenih nizova.
Sintaksa:
Niz array_map(mješoviti povratni poziv, niz arr1 [, niz ...])
Funkcija array_map() vraća niz koji sadrži elemente svih navedenih nizova nakon obrade od strane korisničke funkcije povratnog poziva.
Broj parametara proslijeđenih korisnički definiranoj funkciji mora odgovarati broju polja proslijeđenih array_map().
Primjer korištenja funkcije array_map(): Obrada jednog niza
vrati $n*$n*$n;
}
$a = niz(1, 2, 3, 4, 5);
$b = array_map("kocka", $a);
ispis_r($b);
?>
Niz (
=> 1
=> 8
=> 27
=> 64
=> 125
)
Primjer korištenja funkcije array_map(): Obrada više nizova
return "Broj $n na španjolskom je $m";
}
funkcija map_španjolski($n, $m) (
povratni niz ($n => $m);
}
$a = niz(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("prikaži_španjolski", $a, $b);
ispis_r($c);
$d = array_map("karta_španjolski", $a, $b);
ispis_r($d);
?>
Navedeni primjer će ispisati sljedeće:
// ispis $cArray(
=> Broj 1 na španjolskom - uno
=> Broj 2 na španjolskom - dos
=> Broj 3 na španjolskom - tres
=> Broj 4 na španjolskom - cuatro
=> Broj 5 na španjolskom - cinco
)
// ispis $dArray(
=> Niz
=> uno
)
=> Niz
=> doz
)
=> Niz
=> tres
)
=> Niz
=> cuatro
)
=> Niz
=> cinco
)
Tipično se funkcija array_map() koristi na nizovima koji imaju istu veličinu. Ako nizovi imaju različite duljine, tada su manji popunjeni elementima s praznim vrijednostima.
Treba imati na umu da ako navedete null umjesto naziva funkcije obrade, stvorit će se niz nizova.
Primjer korištenja funkcije array_map(): Kreiranje niza nizova
$b = niz("jedan", "dva", "tri", "četiri", "pet");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
ispis_r($d);
?>
Navedeni primjer će ispisati sljedeće:
Niz (
=> Niz
=> 1
=> jedan
=> uno
)
=> Niz
=> 2
=> dva
=> doz
)
=> Niz
=> 3
=> tri
=> tres
)
=> Niz
=> 4
=> četiri
=> cuatro
)
=> Niz
=> 5
=> pet
=> cinco
)
Funkciju podržava PHP 4 >= 4.0.6, PHP 5
polje_pop
Dohvaća i uklanja posljednje elemente niza.
Sintaksa:
Mješoviti niz_pop(niz arr);
Funkcija array_pop() izbacuje zadnji element iz niza arr i vraća ga, uklanjajući ga nakon toga. S ovom funkcijom možemo izgraditi strukture nalik na hrpu. Ako je polje arr bilo prazno ili nije polje, funkcija vraća prazan niz NULL.
Nakon korištenja funkcije array_pop(), kursor polja postavlja se na početak.
Primjer korištenja funkcije array_pop():
$voće = array_pop($stack);
print_r($stack);
print_r($voće);
?>
Primjer će ispisati sljedeće:
Niz (
=> narančasto
=> banana
=> jabuka
)
Funkciju podržavaju PHP 4, PHP 5
guranje_niza
Dodaje jedan ili više elemenata na kraj niza.
Sintaksa:
Int array_push(niz arr, miješana var1 [, miješana var2, ..])
Funkcija array_push() dodaje elemente var1, var2 itd. u polje arr. Dodjeljuje im numeričke indekse - točno kao što to čini za standardne .
Ako trebate dodati samo jedan element, možda bi bilo lakše koristiti ovaj operator:
Array_push($Arr,1000); // poziv funkcije$Arr=100; // ista stvar, ali kraća
Primjer korištenja funkcije array_push():
array_push($stack, "jabuka", "malina");
print_r($stack);
?>
Primjer će ispisati sljedeće:
Niz (
=> narančasto
=> banana
=> jabuka
=> malina
)
Imajte na umu da funkcija array_push() tretira niz kao hrpu i uvijek dodaje elemente na kraj.
Funkciju podržavaju PHP 4, PHP 5
pomak_niza
Dohvaća i uklanja prvi element niza.
Sintaksa:
Mješoviti array_shift(array arr)
Funkcija array_shift() uzima prvi element niza arr i vraća ga. Vrlo je sličan array_pop(),
ali prima samo početni, a ne završni element, a također proizvodi prilično jak "shake-up" cijelog niza: nakon svega, kada izdvajate prvi element, morate prilagoditi sve numeričke indekse svih preostalih elemenata, jer svi sljedeći elementi niza pomaknuti su jednu poziciju prema naprijed. Ključevi niza nizova se ne mijenjaju.
Ako je arr prazan ili nije niz, funkcija vraća NULL.
Nakon korištenja ove funkcije, pokazivač polja se pomiče na početak.
Primjer korištenja funkcije array_shift():
$voće = array_shift($stack);
print_r($stack);
?>
Ovaj primjer će ispisati sljedeće:
Niz (
=> banana
=> jabuka
=> malina
)
a varijabla $fruit imat će vrijednost "naranča"
Funkciju podržavaju PHP 4, PHP 5
niz_poništavanje
Dodaje jednu ili više vrijednosti na početak niza.
Sintaksa:
Int array_unshift(list arr, mixed var1 [,mixed var2, ...])
Funkcija array_unshift() dodaje proslijeđene vrijednosti var na početak niza arr. Redoslijed novih elemenata u nizu je sačuvan. Svi digitalni indeksi polja će se promijeniti tako da počinje od nule. Svi indeksi nizova niza su nepromijenjeni.
Funkcija vraća novi broj elemenata u nizu.
Primjer korištenja funkcije array_unshift():
array_unshift($queue, "jabuka", "malina");
?>
Sada će varijabla $queue imati sljedeće elemente:
Niz (
=> jabuka
=> malina
=> narančasto
=> banana
)
Funkciju podržavaju PHP 4, PHP 5
niz_jedinstven
Uklanja duplicirane vrijednosti u nizu.
Sintaksa:
Niz array_unique(niz arr)
Funkcija array_unique() vraća niz sastavljen od svih jedinstvenih vrijednosti u nizu arr zajedno s njihovim ključevima, uklanjanjem svih duplih vrijednosti. Prvi parovi ključ=>vrijednost na koje naiđemo smještaju se u rezultirajući niz. Indeksi su sačuvani.
Primjer korištenja funkcije array_unique():
"zeleno", "crveno", "b" =>
"zeleno", "plavo", "crveno");
print_r($rezultat);
?>
Primjer će ispisati sljedeće:
Niz (
[a] => zelena
=> crveno
=> plavo
)
Primjer korištenja funkcije array_unique(): Usporedba tipova podataka
$rezultat = array_unique($input);
var_dump($rezultat);
?>
Primjer će ispisati sljedeće:
Niz(2) (
=> int(4)
=> niz(1) "3"
}
Funkciju podržava PHP 4 >= 4.0.1, PHP 5
komad_niza
Funkcija dijeli niz na dijelove.
Sintaksa:
Niz array_chunk(array arr, int size [, bool reserve_keys])
Funkcija array_chunk() dijeli izvorni niz arr u nekoliko nizova, čija je duljina određena veličinom broja. Ako dimenzija izvornog niza nije točno djeljiva veličinom dijelova, tada će konačni niz imati manju dimenziju.
Funkcija array_chunk() vraća višedimenzionalni niz, čiji indeksi počinju od 0 do broja rezultirajućih nizova, a vrijednosti su nizovi dobiveni kao rezultat cijepanja.
Izborni parametar Save_keys određuje trebaju li se ključevi izvornog niza sačuvati ili ne. Ako je ovaj parametar false (zadana vrijednost), tada će indeksi rezultirajućih nizova biti navedeni brojevima koji počinju od nule. Ako je parametar istinit, tada su ključevi izvornog niza sačuvani.
Primjer korištenja funkcije array_chunk():
$niz = niz("1. element",
"2. element"
"3. element"
"4. element"
"5. element");
ispis_r(komad_niza($niz, 2));
ispis_r(komad_niza($niz, 2, TRUE));
Primjer će ispisati sljedeće:
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
)
Funkciju podržava PHP 4 >= 4.2.0, PHP 5
ispuna_niza
Funkcija ispunjava polje određenim vrijednostima.
Sintaksa:
Niz array_fill(int start_index, int num, mješovita vrijednost)
Funkcija array_fill() vraća niz koji sadrži vrijednosti navedene u parametru vrijednosti size num, počevši od elementa navedenog u parametru start_index.
Primjer korištenja array_diff_uassoc():
ispis_r($a);
?>
Primjer će ispisati sljedeće:
Niz (
=> banana
=> banana
=> banana
=> banana
=> banana
=> banana
)
Funkciju podržava PHP 4 >= 4.2.0, PHP 5
filter_niza
Funkcija primjenjuje filtar na niz pomoću prilagođene funkcije.
Sintaksa:
Array array_filter(array input [, callback callback])
Funkcija array_filter() vraća niz koji sadrži vrijednosti pronađene u ulaznom nizu, filtrirane prema rezultatima korisnički definirane funkcije povratnog poziva.
Ako je ulazni niz asocijativni niz, indeksi se čuvaju u rezultirajućem nizu.
Primjer korištenja funkcije array_filter():
povratak ($var % 2 == 1);
}
funkcija even($var) (
povratak ($var % 2 == 0);
}
$niz1 = niz("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$niz2 = niz(6, 7, 8, 9, 10, 11, 12);
echo "Nepar:n";
print_r(filter_niza($niz1, "neparan"));
echo "Paran:n";
t_r(filter_niza($niz2, "paran"));
?>
Primjer će ispisati sljedeće:
Odd:Array(
[a] => 1
[c] => 3
[e] => 5
Even:Array(
=> 6
=> 8
=> 10
=> 12
)
Vrijedno je napomenuti da umjesto naziva funkcije filtriranja možete navesti niz koji sadrži referencu na objekt i naziv metode.
Također je vrijedno napomenuti da se prilikom obrade niza s funkcijom array_filter() ne može mijenjati: dodavanjem, brisanjem elemenata ili resetiranjem niza, jer to može dovesti do neispravnog rada funkcije.
Funkciju podržava PHP 4 >= 4.0.6, PHP 5