Tömbök vagy listák
A Tömbök, típusok, értékek, létrehozás, módosítás
- Főoldal
/
- Kurzusok
/
- Webfejlesztés
/
- PHP
/
- PHP alapok
Tömbök vagy listák
A tömbök, vagy ahogy mi nevezzük őket konyhanyelven: listák, olyan változók, melyek nem csak 1 tulajdonsággal rendelkezhetnek. Ezek a változók több tulajdonságot is magukban tárolhatnak, mindeniket különböző értékkel.
Külsőre nincs különbség a többi változóhoz képest, jelölésük ugyanúgy tőrténik, $változónév, ezért úgyanúgy néznek ki, mint a többi változó. Különbséget csak a bennük tárolt elem párok adnak, amely végül is tulajdonságok és értékek sokasága.
Amint már említettük, célszerű olyan nevet választani, hogy első ránézésre tudjuk, hogy mit kell tartalmazzon az adott változó. Vannak akik a változó nevébe beleírják, hogy "arr", vagy többesszám jelével tűntetik fel, hogy az adott változó több tulajdonságot és értéket is tartalmaz.
<?php
$arr_variable;
$array_variable;
$variable_arr;
$variable_array;
$variables;
?>
Mondhatjuk, hogy névadáskor rengeteg lehetőségünk van, válasszuk azt amelyik jobban tetszik nekünk, amíg egy cégnél nem dolgozunk, ott majd valószínűleg megszabják, hogy milyen formában használják ők, és hogy ne térjünk el attól, nekünk is azt kell majd használni.
A tömbök létrehozása elég egyszerű:
<?php
$properties = array();
?>
A változónkat egyenlővé tesszük "array()"-el, ez jelzi, hogy az egy tömb (lista) lesz. Létrehozásuk után még üresek, nem tartalmaznak egyetlen tulajdonságot sem. A tulajdonságok megadásához is többféle mód létezik.
Amennyiben nem érdekel minket a tulajdonság neve csak az érték, mert tudjuk, hogy az a változó csak olyan tulajdonságokat tartalmaz, pl. "Kategóriákat", nem muszáj a változón belül még egy tulajdonság nevet megadni.
<?php
$categories = array();
$categories[]= "HTML";
$categories[]= "PHP";
?>
Amikor a tulajdonság nevét nem adjuk meg, csak egyszerűen "[]"-t használunk, akkor automatikusan egy következő szám érték lesz a tulajdonság neve helyett, ha nem volt még szám benne, akkor kezdi 0-tól, és megy felfele. Ebben az esetben a végredeményt így is írhattuk volna:
<?php
$categories = array();
$categories[0]= "HTML";
$categories[1]= "PHP";
?>
Másik lehetőség, ha csak értékeket akarunk felsorolni, a következő:
<?php
$categories = array( "HTML", "PHP" );
?>
Ebben az esetben is a végeredmény ugyanaz, a HTML értékhez tartozó tulajdonság neve a "0" lesz, míg a PHP-hoz tartozó az "1" lesz.
Ha a változónk különböző tulajdonságot tartalmaz, melyek nem számok, azokat nekünk kell meghatározni és idézőjelben megadni az alábbi módon:
<?php
$properties = array();
$properties["has_subcategories"]= "No";
$properties["is_enabled"]= "Yes";
$properties["create_date"]= "2014-11-20";
?>
Másik lehetőség a megadásra, amennyiben a változó létrejöttekor kell tartalmazzon tulajdonságokat, így nézne ki:
<?php
$properties = array(
"has_subcategories" => "No",
"is_enabled" => "Yes",
"create_date" => "2014-11-20"
);
?>
A tömb típusú változókban megadott tulajdonság neveket index-eknek nevezzük.
Azokat a tömböket melyeknek az index-ei szövegek (nem számok), asszociatív tömbök-nek nevezzük.
Egy tömb típusú változóba, létrejötte után bármikor beírhatunk egy új tulajdonságot (index-et), bármikor megváltoztathatjuk egy tulajdonság értékét (egy index-en levő értéket), vagy bármikor törölhetünk egy tulajdonságot vagy értéket.
Fontos még tudni, hogy egy tömb tulajdonságainak értéke nyugodtan lehet egy másik tömb:
<?php
$categories = array(
$properties = array(
"has_subcategories" => "No",
"is_enabled" => "Yes",
"create_date" => "2014-11-20"
);
$categories["properties"] = $properties;
?>
Ezáltal a "categories" nevű tömbben létrehoztunk egy új tulajdonságot, melynek a neve "properties" és ennek az értéke egy új tömb különböző tulajdonságokkal.
Ezeket a típusú tömböket hívjuk több dimenziós tömböknek. Az hogy hány dimenziós egy tömb változónk, nem számít, egyik tartalmazhat egy másikat mely tartalmaz egy harmadikat, és így tovább.
A több dimenziós tömbökből az értékeket úgy kell kiolvasni, hogy a "[]" jelek segítségével megyünk bennebb és bennebb a dimenziókban, pl:
<?php
echo $categories["properties"]["has_subcategories"];
echo $categories["properties"]["is_enabled"];
?>
Egy tömbben kombinálni is lehet a tulajdonságokat (index-eket). Készíthetünk olyan tömböt is, amelyben van más tömb, van benne egyszerű tulajdonság név is, és van szám is, pl:
<?php
$categories = array(
$properties = array(
"has_subcategories" => "No",
"is_enabled" => "Yes",
"create_date" => "2014-11-20"
);
$categories["properties"] = $properties;
$categories["category_name"] = "HTML";
$categories[0] = "Something here";
?>
Ha egy tömb tulajdonságainak értékei közül szeretnénk az összeset kiíratni, ciklust kell használnunk, erről bővebben egy következő leckében fogunk beszélni.
- Előző lecke: Globális változók
- Következő lecke: A PHP operátorok
Részletek
- Megtekintve: 487
- Haszontalannak jelölve: 0
- Hasznosnak jelölve: 0
- Értékelés: