⊗ppPmCdBOP 93 of 447 menu

PHP:n if-ehtojen valinnaisten aaltosulkeiden ongelma

Vaikka PHP sallii yllä näytetyt lyhennykset ilman aaltosulkeita, en yleisesti ottaen suosittele niin tekemään, sillä ne ovat vaikeasti havaittavien virheiden pesä.

Oletetaan esimerkiksi, että on seuraava koodi:

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

Oletetaan nyt, että päätimme siinä tapauksessa, jos ehto täyttyy, tehdä myös toisen echo:n:

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

Kuitenkin, ilman aaltosulkeita ehdon sisällä on vain ensimmäinen tulostus, eli ensimmäinen tulostus toimii, kun ehto on tosi, mutta toinen - aina.

Käytännössä koodimme vastaa tällaista:

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // tämä rivi on ehdon ulkopuolella ?>

Mutta me halusimme tällaista koodia:

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // tämä rivi on ehdon sisällä } ?>

Tästä syystä on suositeltavaa aina suorittaa aaltosulkeiden asettaminen, jotta ei joudu tällaiseen virheeseen.

Päättelemällä (ajaamatta koodia), mitä ruudulle tulostetaan:

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

Päättelemällä (ajaamatta koodia), mitä ruudulle tulostetaan:

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

Päättelemällä (ajaamatta koodia), mitä ruudulle tulostetaan:

<?php $num = 0; if ($num === 5) echo $num; echo '---'; echo '+++'; ?>
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää