⊗ppPmCdBOP 93 of 447 menu

PHP даги шартлардаги ифода кавалларининг мажбурий эмаслиги муаммоси

PHP юқорида кўрсатилган ифода каваллари билан қисқартиришларга рухсат берса-да, мен умуман, бундай қилишни тавсия бермайман, чунки бу қийин сезиладиган хатолар манбаидир.

Масалан, куйидаги код бор деб фараз қилайлик:

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

Энди деб фараз қилайлик, биз шарт бажарилган тақдирда, яна иккинчи echo ни бажаришни хоҳладик:

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

Аммо, ифода кавалларисиз шарт ичида фақат биринчи чиқиш (echo) мавжуд, яъни биринчи чиқиш тўғри шартда ишлайди, иккинчиси эса - ҳамеша.

Аслида бизнинг кодимиз шунга тенг кучдадир:

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // бу сатр шартдан ташқарида қолди ?>

Холос, биз бундай кодни хоҳлар эдик:

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // бу сатр шарт ичида } ?>

Айнан шу сабабдан, ушбу турдаги хатоларга йўл қўймаслик учун, ҳамеша ифода кавалларини қўйиш тавсия этилади.

Кодни ишга туширмасдан, экранга нима чиқаришини аниқланг:

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

Кодни ишга туширмасдан, экранга нима чиқаришини аниқланг:

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

Кодни ишга туширмасдан, экранга нима чиқаришини аниқланг:

<?php $num = 0; if ($num === 5) echo $num; echo '---'; echo '+++'; ?>
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш