2012. január 13., péntek

PHP - tömbök

A mai napon megismerkedünk a más sokszor említett tömbökhöz. A tömbökön kívül megismerkedünk a tömbök bejárásának módszerével is.
Először is meg kell tudnunk, hogy mi a tömb.
Már tudjuk, hogy mi az a változó. Egy "kávéscsésze", ami egy darab értéket tárol. Épp ez a gond. A tömb egy olyan speciális változó, ami több értéket is tud tárolni. Nézzük meg a következő példát:
Ha van egy kocsilistánk (a w3-as példa szerint), akkor azt sima változókkal így tudnánk megcsinálni:

$kocsi1 = "Volvo";
$kocsi2 = "Suzuki";
$kocsi3 = "Opel";

Nem is gond, hiszen három változót könnyű kordában tartani, de mi van akkor, ha mondjuk 300 elemünk van?

Erre a legjobb mód, ha tömböket használunk. Egyelőre csak a numerikus tömbökkel ismerkedünk meg.

Két mód van rá, hogy numerikus tömböket hozzunk létre.

ELSŐ:

A PHP-nek van egy beépített függvénye (előre megírt kódja), ami létrehoz egy tömböt és feltölti a megadott elemekkel. Ez az array().

$kocsik = array("Volvo", "Suzuki", "Opel");

Ilyenkor a tömb 3 elemű lesz. Az első elem a Volvo és így tovább a harmadik, Opel elemig. Ahány elemet adok meg, annyi elemű lesz a tömb.

MÁSODIK:

A másik mód, hogy minden indexnek az értékét külön adjuk meg így:

$kocsi[0] = "Volvo";
$kocsi[1] = "Suzuki";
$kocsi[2] = "Opel";

Kérdezhetnénk, hogy ennek így most mi értelme? Például csinálhatjuk a következőt:

echo $kocsi[0] . "kocsim van";

Ilyenkor kiírja a kocsi tömb [0] indexű (1. helyen lévő elemet --> az indexelés 0-val kezdődik).
Meg kell ismernünk a . (pont) operátort. Ez arra jó, hogy a sok változóból egy egész változót, karakterláncot hozzunk létre. Nézzünk egy példát:

$first = Kiss;
$last = Péter;
$name = $first . " " . $last;

A $name eredménye Kiss Péter lesz, hiszen a pont segítségével összefűztem a két változót.

Most megnézzük a tömb automatikus feltöltésének módját:

Most azt szeretnénk, hogy a tömb minden eleme legyen egy szám. Először egy for ciklussal végigmegyek 100-ig ($i<100). Tehát 100 elemű tömböm lesz. Majd minden éppen aktuális i-edik elemnek az értéke legyen i+1 (azért, mert így nem lesz 0). Ha a kód nem érthető írj hozzászólást vagy emailt.


for($i = 0 ; $i<100; $i++)
{
   $kocsi[$i] = $i+1;
   echo $kocsi[$i] . "<br/>";
}


Tömb bejárására való a foreach ciklus. Ha nem számítanak az indexek akkor használjuk.
A foreach úgy működik, hogy létrehozunk egy változót ami a megadott tömb elemének az "indexe" lesz. Mindig más értéke lesz. Az éppen aktuális indexet nem tudjuk, de a változónk értéke a tömb egyik eleme lesz. Nézzük meg, hogy néz ki:

foreach (tömb as változó)
{
   kód
}

A tömb elemeinek kiolvasására is használhatjuk:


foreach ($kocsi as $x)
{
echo $x . "<br/>";
}


Ilyenkor a $kocsi tömbön haladunk végig és az $x mindig felveszi a tömb valamelyik értékét, s kiírja azt.

Ha van egy tömbünk, aminek nem tudjuk a hosszát azt a következőképpen deríthetjük ki:
Van egy beépített függvényünk a count(), ami megadja a tömb hosszát.

$hossz = count($kocsi);
echo $hossz;

A következő órán egy érdekességgel, a metódusokkal fogunk megismerkedni.

Nincsenek megjegyzések:

Megjegyzés küldése