⊗ppPmCdBOP 93 of 447 menu

A kapcsos zárójelek opcionális voltának problémája az if feltételekben PHP-ben

Annak ellenére, hogy a PHP megengedi a fent bemutatott rövidítéseket a kapcsos zárójelekkel, én általában véve nem ajánlom ezt megtenni, mivel ez nehezen felismerhető hibák forrása.

Legyen például a következő kód:

<?php $test = 3; if ($test > 0) echo $test; ?>

Tegyük fel, hogy most úgy döntöttünk, hogy abban az esetben, ha a feltétel teljesül, végrehajtunk egy második echo-ot is:

<?php $test = 3; if ($test > 0) echo $test; echo '+++'; ?>

Azonban kapcsos zárójelek nélkül csak az első kiírás tartozik a feltételhez, vagyis az első kiírás akkor fog lefutni, ha a feltétel igaz, a második pedig - mindig.

Valójában a kódunk ekvivalens ezzel:

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // ez a sor a feltételen kívülre került ?>

Mi viszont valójában ezt a kódot szerettük volna:

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // ez a sor a feltételen belül van } ?>

Pontosan ezért ajánlott mindig elhelyezni a kapcsos zárójeleket, hogy ne kerüljünk ilyen jellegű hibákba.

A kód futtatása nélkül határozza meg, mit ír ki a képernyőre:

<?php $num = 5; if ($num === 5) echo $num; echo '+++'; ?>

A kód futtatása nélkül határozza meg, mit ír ki a képernyőre:

<?php $num = 0; if ($num === 5) echo $num; echo '+++'; ?>

A kód futtatása nélkül határozza meg, mit ír ki a képernyőre:

<?php $num = 0; if ($num === 5) echo $num; echo '---'; echo '+++'; ?>
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás