PHP tömb: asszociatív, többdimenziós
Mi az a PHP tömb?
A PHP tömb egy olyan változó, amely egynél több kapcsolódó adatot tárol egyetlen változóban.
Képzeljen el egy tömböt, mint egy doboz csokoládét, benne résekkel.
A doboz magát a tömböt, míg a csokoládét tartalmazó szóközök a tömbökben tárolt értékeket jelentik.
Az alábbi diagram a fenti szintaxist szemlélteti.
Numerikus tömbök
A numerikus tömbök számot használnak hozzáférési kulcsként.
A hozzáférési kulcs egy tömbváltozóban lévő memóriahelyre való hivatkozás.
A hozzáférési kulcsot akkor használjuk, amikor egy tömbelemet szeretnénk olvasni vagy új értéket rendelni.
Az alábbiakban található a php-ben a numerikus tömb létrehozásának szintaxisa.
Tömb példa
<?php $variable_name[n] = value; ?>
Or
<?php $variable_name = array(n => value, …); ?>
ITT,
- A „$változó_neve…” a változó neve
- Az „[n]” az elem hozzáférési indexszáma
- Az „érték” a tömbelemhez rendelt érték.
Nézzünk most egy példát egy numerikus tömbre.
Tegyük fel, hogy van 5 filmünk, amelyeket tömbváltozókban szeretnénk tárolni.
Ehhez használhatjuk az alábbi példát.
<?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'; ?>
Itt,
Minden film kap egy indexszámot, amely az értékének lekérésére vagy módosítására szolgál. Vegye figyelembe a következő kódot -
<?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]; ?>
output:
Once upon a time in China Eastern Condors
Amint a fenti példákból látható, a PHP tömbökkel való munkavégzése, ha több azonos természetű értékkel foglalkozik, nagyon egyszerű és rugalmas.
Alternatív megoldásként a fenti tömbváltozók a következő kóddal is létrehozhatók.
<?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]; ?>
output:
Replacement Killers
PHP asszociatív tömb
Az asszociatív tömb abban különbözik a numerikus tömbtől, hogy az asszociatív tömbök leíró neveket használnak az id kulcsokhoz.
Az alábbiakban látható az asszociatív tömb létrehozásának szintaxisa php-ben.
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
ITT,
- A „$változó_neve…” a változó neve
- A „['key_name']” az elem hozzáférési indexszáma
- Az „érték” a tömbelemhez rendelt érték.
Tegyük fel, hogy van egy csoportunk, és minden egyes személy nemét a nevükhöz szeretnénk rendelni.
Ehhez asszociatív tömböt használhatunk. Az alábbi kód ebben segít.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
ITT,
output:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
Az asszociatív tömb nagyon hasznos az adatok adatbázisból való lekérésekor is.
A mezőnevek azonosító kulcsként használatosak.
PHP Többdimenziós tömbök
Ezek olyan tömbök, amelyek más beágyazott tömböket tartalmaznak.
A többdimenziós tömbök előnye, hogy lehetővé teszik a kapcsolódó adatok csoportosítását.
Nézzünk most egy gyakorlati példát, amely egy php többdimenziós tömböt valósít meg.
Az alábbi táblázat a filmek listáját mutatja kategóriák szerint.
Film cím | Kategória |
---|---|
Rózsaszín párduc | Vígjáték |
John angol | Vígjáték |
Die Hard | Akció |
Expendables | Akció |
A gyűrűk ura | Epikus |
Rómeó és Júlia | Románc |
Ne láss rosszat, ne hallj gonoszt | Vígjáték |
A fenti információk többdimenziós tömbként ábrázolhatók. Az alábbi kód a megvalósítást mutatja.
<?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); ?>
ITT,
output:
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 ) )
Ugyanennek a tömbnek egy másik módja a következő
<?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]; ?>
output:
Pink Panther
Megjegyzés: a filmek numerikus tömbje a kategória asszociatív tömbbe van beágyazva
PHP tömbök: Operatorzok
Operator | Név | Leírás | Hogyan kell csinálni | teljesítmény |
---|---|---|---|---|
x+y | Unió | Mindkét tömb elemeit egyesíti |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
Tömb([id] => 1 [érték] => 10) |
X == y | Egyenlő | Összehasonlít két tömböt, ha egyenlők, és igazat ad vissza, ha igen. |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
Igaz vagy 1 |
X === y | Azonos | Összehasonlítja mind az értékeket, mind a adattípusok |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
Hamis vagy 0 |
X != y, x <> y | Nem egyenlő |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
Hamis vagy 0 | |
X !== y | Nem azonos |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
Igaz vagy 1 |
PHP tömbfüggvények
Számoló funkció
A count függvény a php tömbben található elemek számának megszámlálására szolgál. Az alábbi kód a megvalósítást mutatja.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
output:
3
is_array függvény
Az is_array függvény annak meghatározására szolgál, hogy egy változó tömb-e vagy sem. Nézzünk most egy példát, amely megvalósítja az is_array függvényeket.
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
output:
1
Fajta
Ez a függvény a tömbök értékek szerinti rendezésére szolgál.
Ha az értékek alfanumerikusak, akkor ábécé sorrendbe rendezi őket.
Ha az értékek numerikusak, akkor növekvő sorrendbe rendezi őket.
Eltávolítja a meglévő hozzáférési kulcsokat, és új numerikus kulcsokat ad hozzá.
Ennek a függvénynek a kimenete egy numerikus tömb
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
output:
Array ( [0] => Female [1] => Female [2] => Male )
ksort
Ez a funkció a tömb rendezésére szolgál a billentyű segítségével. Az alábbi példa illusztrálja a használatát.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
output:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
választék
Ezt funkció a tömb rendezésére szolgál az értékek alapján. Az alábbi példa illusztrálja a használatát.
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
output:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
Miért használjunk tömböket?
- A tömbök tartalma nyújtható,
- A tömbök könnyedén segítenek csoportosítani a kapcsolódó információkat, például a szerver bejelentkezési adatait
- A tömbök segítenek tisztább kód írásában.
Összegzésként
- A tömbök speciális változók, amelyek képesek több értéket tárolni.
- A tömbök rugalmasak, és könnyen nyújthatók több érték befogadására
- A numerikus tömbök számokat használnak a tömb kulcsaihoz
- A PHP asszociatív tömb leíró neveket használ a tömbkulcsokhoz
- A többdimenziós tömbök más tömböket tartalmaznak bennük.
- A count függvény a tömbben tárolt elemek számának megállapítására szolgál
- Az is_array függvény annak meghatározására szolgál, hogy egy változó érvényes tömb-e vagy sem.
- Egyéb tömbfunkciók közé tartozik a rendezés, a ksort, az assort stb.