Az alapoktól...

PHP kezdőknek

PHP kezdőknek

11. lecke - Vezérlő szerkezetek - foreach ciklus

2015. július 22. - Frantique

A tömbök elemeit a foreach ciklus segítségével járhatjuk be. Tartsuk szem előtt, hogy a foreach csak tömbök és objektumok esetében működik, egyéb változótípus esetén hibát fog eredményezni. A szerkezete így néz ki:

foreach (tömb as $ertek) {
        esemény;
}

valamint:

foreach (tömb as $kulcs => $ertek) {
        esemény;

Az első szerkezetben a tömb elemeinek az értékét kapjuk vissza, a másodikban a tömb kulcsát is hozzárendeljük a $kulcs változóhoz. A foreach ciklus mindig a legelső elemre ugrik, és egyenként megy végig a tömb összes elemén.

--------------------

<?php
$tomb = array('első', 'második', 'harmadik');

foreach ($tomb as $ertek) {
        echo $ertek . "\n"; // Kiírja a tömb elemeit
}
?>

--------------------

Kulcsok hozzárendelése:

--------------------

<?php
$tomb = array('első', 'második', 'harmadik');

foreach ($tomb as $kulcs => $ertek) {
        echo $kulcs . ' --- ' . $ertek . "\n"; // Kiírja a tömb kulcsait és elemeit
}
?>

--------------------

 

Figyelem!
Mivel a ciklus a belső tömbmutatóra támaszkodik, annak megváltoztatása a ciklus belsejéből szokatlan viselkedést eredményezhet!

Az $ertek változóban a ciklus befejezés után benne marad az utolsó felvett érték! Ha a továbbiakban nincs rá szükségünk, akkor dobjuk el az unset($ertek); függvény meghívásával:

--------------------

<?php
$tomb = array('első', 'második', 'harmadik');

foreach ($tomb as $kulcs => $ertek) {
        echo $kulcs . ' --- ' . $ertek . "\n"; // Kiírja a tömb kulcsait és elemeit
}

echo $ertek;  // Kiírja: harmadik
unset($ertek);

echo $ertek; //  Figyelmeztetést kapunk nemlétező változóra!
?>

--------------------

 Többdimenziós (egymásba ágyazott) tömbök esetében két opciónk is van a tömb bejárására: egymásba ágyazott foreach ciklusokkal, vagy list() függvénnyel. A feladat szabja meg a választott módszert:

--------------------

<?php
$tomb = array(
'elso' => array('a','b','c'),
'masodik' => array('d','e','f'),
'harmadik' => array('g','h','i')
);

// Első módszer, egymásba ágyazott foreach szerkezetekkel:

foreach ($tomb as $kulcs => $ertek) {
        foreach ($ertek as $belso_ertek) {
                echo $kulcs . ' --> ' . $belso_ertek . "\n"; // Kiírja a tömb kulcsait és elemeit
        }
}

// Második módszer, list() függvénnyel:

foreach ($tomb as $kulcs => list($elso_elem, $masodik_elem, $harmadik_elem)) { // Tömb kibontása list() függvénnyel
        echo "$kulcs --> $elso_elem, $masodik_elem, $harmadik_elem \n";
}

?>

--------------------

-----------------------------------------------------------------------------------------------------

 

Feladatok

1. Hozzunk létre egy 5 elemes tömböt, és írassuk ki az elemek értékeit!

2. Hozzunk létre egy 3 elemes asszociatív tömböt, és írassuk ki a elemek kulcsait és értékeit! 

3. Hozzunk létre egy többdimenziós tömböt, és írjuk ki az összes elem értékét!

 

A bejegyzés trackback címe:

https://php-kezdoknek.blog.hu/api/trackback/id/tr567647300

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása