PHP polje: asocijativno, višedimenzionalno
Što je PHP polje?
PHP polje je varijabla koja pohranjuje više od jednog dijela povezanih podataka u jednoj varijabli.
Zamislite niz kao bombonijeru s utorima unutra.
Kutija predstavlja sam niz, dok razmaci koji sadrže čokolade predstavljaju vrijednosti pohranjene u nizovima.
Donji dijagram ilustrira gornju sintaksu.
Numerički nizovi
Numerički nizovi koriste broj kao pristupne ključeve.
Pristupni ključ je referenca na memorijski utor u varijabli polja.
Pristupni ključ koristi se kad god želimo pročitati ili dodijeliti novu vrijednost elementu niza.
Ispod je sintaksa za stvaranje numeričkog niza u php-u.
Primjer polja
<?php $variable_name[n] = value; ?>
Or
<?php $variable_name = array(n => value, …); ?>
OVDJE,
- “$variable_name…” je naziv varijable
- “[n]” je pristupni indeksni broj elementa
- “vrijednost” je vrijednost dodijeljena elementu niza.
Pogledajmo sada primjer numeričkog niza.
Pretpostavimo da imamo 5 filmova koje želimo pohraniti u niz varijabli.
Za to možemo upotrijebiti primjer prikazan u nastavku.
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
Ovdje,
Svaki film dobiva indeksni broj koji se koristi za dohvaćanje ili izmjenu njegove vrijednosti. Obratite pažnju na sljedeći kod-
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
Izlaz:
Once upon a time in China Eastern Condors
Kao što možete vidjeti iz gornjih primjera, rad s nizovima u PHP-u kada se radi o višestrukim vrijednostima iste prirode vrlo je jednostavan i fleksibilan.
Alternativno, gore navedene varijable niza mogu se stvoriti pomoću sljedećeg koda.
<?php $movie = array(0 => "Shaolin Monk", 1 => "Drunken Master", 2 => "American Ninja", 3 => "Once upon a time in China", 4 =>"Replacement Killers" ); echo $movie[4]; ?>
Izlaz:
Replacement Killers
PHP asocijativni niz
Asocijativni niz razlikuje se od numeričkog niza u smislu da asocijativni nizovi koriste opisna imena za ID ključeve.
Ispod je sintaksa za stvaranje asocijativnog niza u php-u.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
OVDJE,
- “$variable_name…” je naziv varijable
- “['key_name']” je pristupni indeksni broj elementa
- “vrijednost” je vrijednost dodijeljena elementu niza.
Pretpostavimo da imamo grupu osoba i želimo dodijeliti spol svakoj osobi uz njihovo ime.
Za to možemo upotrijebiti asocijativni niz. Kod u nastavku pomaže nam u tome.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
OVDJE,
Izlaz:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Asocijativni nizovi također su vrlo korisni pri dohvaćanju podataka iz baze podataka.
Nazivi polja koriste se kao ID ključevi.
PHP Višedimenzionalni nizovi
To su nizovi koji sadrže druge ugniježđene nizove.
Prednost višedimenzionalnih nizova je u tome što nam omogućuju grupiranje povezanih podataka.
Pogledajmo sada praktični primjer koji implementira php višedimenzionalni niz.
Donja tablica prikazuje popis filmova po kategorijama.
Naslov filma | Kategorija |
---|---|
Pink Panther | Komedija |
John English | Komedija |
Die Hard | Akcijski |
Expendables | Akcijski |
Gospodar prstenova | Ep |
Romeo i Julija | Romantika |
Ne vidi zlo ne čuj zlo | Komedija |
Gore navedene informacije mogu se prikazati kao višedimenzionalni niz. Kod u nastavku prikazuje implementaciju.
<?php $movies =array( "comedy" => array("Pink Panther", "John English", "See no evil hear no evil"), "action" => array("Die Hard", "Expendables"), "epic" => array("The Lord of the rings"), "Romance" => array("Romeo and Juliet") ); print_r($movies); ?>
OVDJE,
Izlaz:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
Drugi način definiranja istog niza je sljedeći
<?php $film=array( "comedy" => array( 0 => "Pink Panther", 1 => "john English", 2 => "See no evil hear no evil" ), "action" => array ( 0 => "Die Hard", 1 => "Expendables" ), "epic" => array ( 0 => "The Lord of the rings" ), "Romance" => array ( 0 => "Romeo and Juliet" ) ); echo $film["comedy"][0]; ?>
Izlaz:
Pink Panther
Napomena: numeričko polje filmova ugniježđeno je unutar asocijativnog polja kategorija
PHP polja: Operaulagatelji
Operahumka | Ime i Prezime | Description | Kako to učiniti | Izlaz |
---|---|---|---|---|
x+y | Unija | Kombinira elemente iz oba niza |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Niz ([id] => 1 [vrijednost] => 10) |
X == y | Jednak | Uspoređuje dva niza ako su jednaki i vraća true ako jesu. |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Istina ili 1 |
X === y | Identičan | Uspoređuje i vrijednosti i Vrste podataka |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Netočno ili 0 |
X != y, x <> y | Nejednak |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Netočno ili 0 | |
X !== y | Neidentičan |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Istina ili 1 |
PHP funkcije polja
Funkcija brojanja
Funkcija brojanja koristi se za brojanje elemenata koje sadrži php niz. Kod u nastavku prikazuje implementaciju.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Izlaz:
3
is_array funkcija
Funkcija is_array koristi se za određivanje je li varijabla niz ili nije. Pogledajmo sada primjer koji implementira funkcije is_array.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Izlaz:
1
Vrsta
Ova se funkcija koristi za sortiranje polja prema vrijednostima.
Ako su vrijednosti alfanumeričke, razvrstava ih abecednim redom.
Ako su vrijednosti numeričke, sortira ih uzlaznim redoslijedom.
Uklanja postojeće pristupne tipke i dodaje nove numeričke tipke.
Izlaz ove funkcije je numerički niz
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Izlaz:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Ova se funkcija koristi za sortiranje niza pomoću ključa. Sljedeći primjer ilustrira njegovu upotrebu.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Izlaz:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
asortiman
Ovaj funkcija koristi se za sortiranje niza pomoću vrijednosti. Sljedeći primjer ilustrira njegovu upotrebu.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Izlaz:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Zašto koristiti nizove?
- Sadržaj nizova može se rastegnuti,
- Nizovi jednostavno pomažu grupirati povezane informacije kao što su podaci za prijavu na poslužitelj
- Nizovi pomažu u pisanju čistijeg koda.
rezime
- Nizovi su posebne varijable s kapacitetom pohranjivanja više vrijednosti.
- Nizovi su fleksibilni i mogu se lako rastegnuti kako bi se prilagodili više vrijednosti
- Numerički nizovi koriste brojeve za ključeve niza
- PHP asocijativni niz koristi opisna imena za ključeve niza
- Višedimenzionalni nizovi unutar sebe sadrže druge nizove.
- Funkcija brojenja koristi se za dobivanje broja stavki koje su pohranjene u nizu
- Funkcija is_array koristi se za određivanje je li varijabla važeći niz ili nije.
- Ostale funkcije niza uključuju sort, ksort, assort itd.