Tömböknek nevezzük, az array típusba tartozó változókat.
- A tömbök indexelése, hasonló történik, mind a JavaScript vagy C alapú nyelvekben.
- A tömbök, csak az aktuális program végrehajtása alatt léteznek a memoriában.
Kivétel, ha a két oldalkérés között, eltároljuk őket egy munkafolyamatban, külön fájlban, vagy pedig egy meglévő adatbázisunkban.
- A tömbbökben tárolt és számozott elemek sorszámozása, index-elése, "0"-tól kezdődik, azaz a $tomb[0] eleme, valójában a tömb 1. eleme.
A tömb elemeinek indexelésére (kulcsként), azaz azonosítására alkalmazhatunk:
- Egész számokat (0; 1; 2; 3; 42; 88; 145; stb.)
- Betűket ("a" ; "b"; "c"; "aa"; "bb"; "cc"; "ac"; "bc"; stb.)
- Tetszőleges ékezet nélküli szöveget ( "egy"; "ketto"; "ez"; "az"; "valami"; "adat"; stb;)
- Nem használhatunk kulcsnak, azaz elemazonosítónak: tömböt, tömb elnevezést vagy objektumot, objektum elnevezést.
Az elemek értéke, bármilyen típusú lehet:
- Csak számok.
- Csak szöveg, de ez, akár egy hosszabb mondat is. Ékezetes betűk is lehetnek.
- Szöveg és számok kombinációja.
- Mivel bármit tárolhatnak, így újabb tömböt is tárolhatnak.
Megjegyzés:
A tömbök miniatűr, dinamikus és relációs adatbázisoknak tekinthetők.
A tömbok neve az adatbázisokban használt táblanevek megfelelői.
Egy másik tömböt tartalmazó tömbváltozó olyan, mint egy összekapcsolt adatbázistábla.
Ha, php tömbre van szükségünk, és a php tömb még nem létezik, két lehetőség közül választhatunk:
- A tömb teljes tartalmát (elemindex + elemtartalom) mi írjuk be.
Tetszőleges elnevezéssel írjunk be egy változót a $ jel utn. (PL: $Tomb ), és rendeljük hozzá az array( ) tömböt.
A zárójelek közé írjuk be az elem index-ét, majd ezen jelet => és az elemben tárolandó értéket (szám, szöveg) és vessző követi, majd írjuk a következő elem index-ét => értékét, és így tovább.
Példa: $Tomb = array(0=>10, 2=>30);
Ha, az elemek indexelését rábizzuk a programra, akkor nekünk, csak a tartalmat kell beírni.
Példa:
Elemtartalom, csak számokat tartalmaz: $Tomb = array(10, 30);
Elemtartalom, csak karakterláncot tartalmaz: $Tomb = array("első szöveg", "második szöveg");
- A tömbben, még nincs egész index-el (számmal) rendelkező elem, akkor az első elem index száma "0" (nulla) lesz.
- A tömbben lévő index-elt elemkhez, így is beírhatunk új index-el rendelkező elemet:
Példa:
A már meglévő elemek közül, legnagyobb index-el rendelkező, legyen 14,
új index-el rendelkező elem pedig ez: $Tomb[] = 156;
Eredmény = $arr[15] = 156;
Látható, hogy a szögletes zárójelek között, nem adtuk meg az elem indexét, ezért, a tömben létező elemek indexének maxumumához, hozzáad + 1-et a program, és ez lesz az új elem indexe.
INDEX = tömbben tárolt elemek azonosítója (kulcsa).
- Bővithetjük a meglévő tömbünket, ha hozzáadunk egy új elemet a tömbhöz "X" kulccsal, azaz indexel: $Tomb["X"] = 80;
Az "X" helyére, tetszőleges index-et ("szöveget" vagy egészszámokat ) írhatunk, mely a tömbben még nem létezik.
Ha olyan kulcsot, azaz indexet írnánk be, mely már létezik, akkor a meglévőt tömbelem tartalmát felülírjuk.
- Módosítani szeretnénk egy meglévő elem értékét (tartalmát), rendelj hozzá egy új értéket.
Példa:
Meglévő tömbelem: $Tomb["15"] = 80;
Így módosítjuk: $Tomb["15"] = 180; Mostantól a 15. elem új értéke 180 lesz.
- Megszüntethetjük, azaz eltávolíthatjuk az elemet a tömbből, az unset() uatsítással: unset($Tomb[15]);
- Törölhetjük a teljes tömböt is, az unset() uatsítással: unset($Tomb);
Egyszerű tömb.
<?php
$a_tomb= array(5,19,52);
$b_tomb= array("alma","retek","szilva");
$c_tomb= array("Matek",15,"Zene");
// A fenti tömbünk tartalmának kiíratása
echo $a_tomb[0]; echo "<br />";
echo $a_tomb[1]; echo "<br />";
echo $a_tomb[2]; echo "<br /><br />";
echo $b_tomb[0]; echo "<br />";
echo $b_tomb[1]; echo "<br />";
echo $b_tomb[2]; echo "<br /><br />";
echo $c_tomb[0]; echo "<br />";
echo $c_tomb[1]; echo "<br />";
echo $c_tomb[2];
?>
|
Kiíratás eredménye:
5 19 52
alma retek szilva
Matek 15 Zene |
Kétdimenziós tömb.
<?php
$Tomb = array(
"a_tomb" => array(5,19,52),
"b_tomb" => array("alma","retek","szilva"),
"c_tomb" => array("Matek",15,"Zene")
);
// A fenti tömbünk tartalmának kiíratása
echo $Tomb["a_tomb"][0]; echo "<br />";
echo $Tomb["a_tomb"][1]; echo "<br />";
echo $Tomb["a_tomb"][2]; echo "<br /><br />";
echo $Tomb["b_tomb"][0]; echo "<br />";
echo $Tomb["b_tomb"][1]; echo "<br />";
echo $Tomb["b_tomb"][2]; echo "<br /><br />";
echo $Tomb["c_tomb"][0]; echo "<br />";
echo $Tomb["c_tomb"][1]; echo "<br />";
echo $Tomb["c_tomb"][2];
?>
|
Kiíratás eredménye:
5 19 52
alma retek szilva
Matek 15 Zene |
További példák:
Elsőként: Létrehozunk egy egyszerű tömböt.
Másodszor: kitörlünk minden elemet, de magát a tömböt nem.
Harmadszor: Hozzáadunk egy elemet az üres tömbhöz.
Negyedszer: Újra INDEXELJÜK az elemeket.
<?php
$Tombunk = array(1, 2, 3, 4, 5);
echo"<pre>";
print_r($Tombunk);
echo"</pre>";
?>
|
Eredményül, ezt kapjuk:
Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
)
|
<?php
// Kitörlünk minden elemet, de magát a tömböt nem
foreach ($Tombunk as $i => $ertek) { unset($Tombunk[$i]); }
print_r($Tombunk);
?>
|
Eredményül, ezt kapjuk:
Array
(
)
|
<?php
foreach ($Tombunk as $i => $ertek) { unset($Tombunk[$i]); }
// Hozzáadunk egy elemet // Az új index = 5 lesz, az elvárt 0 helyett.
$Tombunk[ ] = 6;
echo"<pre>";
print_r($Tombunk);
echo"</pre>";
?>
|
Eredményül, ezt kapjuk:
Array
(
[5] => 6
)
|
<?php
foreach ($Tombunk as $i => $ertek) { unset($Tombunk[$i]); }
$Tombunk[] = 6;
//Újraindexeljük, és hozzáadunk még elemeket.
$Tombunk = array_values($Tombunk);
$Tombunk[] = 7;
$Tombunk[] = "almás";
echo"<pre>";
print_r($Tombunk);
echo"</pre>";
?>
|
Eredményül, ezt kapjuk:
Array
(
[0] => 6
[1] => 7
[2] => almás
)
|