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
Ez a 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.



