⊗ppPmCdBOP 93 of 447 menu

Problém nepovinnosti zložených zátvoriek v podmienkach v PHP

Napriek tomu, že PHP umožňuje vyššie uvedené skratky so zloženými zátvorkami, ja to vo všeobecnosti neodporúčam, pretože ide o živnú pôdu pre ťažko zachytiteľné chyby.

Majme napríklad nasledujúci kód:

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

Povedzme, že sme sa teraz rozhodli, že v prípade, ak je podmienka splnená, urobíme aj druhý echo:

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

Avšak, bez zložených zátvoriek je vnútri podmienky len prvý výstup, to znamená, že prvý výstup sa spustí pri splnenej podmienke, a druhý - vždy.

Náš kód je v skutočnosti ekvivalentný tomuto:

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // tento riadok sa ocitol mimo podmienky ?>

Ale my by sme chceli takýto kód:

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // tento riadok je vnútri podmienky } ?>

Práve preto sa odporúča vždy používať zložené zátvorky, aby ste nepadli do chýb tohto druhu.

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

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

Bez spustenia kódu určite, čo sa vypíše na obrazovku:

<?php $num = 0; if ($num === 5) echo $num; echo '---'; echo '+++'; ?>
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť