⊗ppPmCdBOP 93 of 447 menu

Problemet med valgfrie krøllparenteser i betingelser i PHP

Til tross for at PHP tillater de viste forkortelsene med krøllparenteser, anbefaler jeg generelt ikke å gjøre det, ettersom det er en kilde til vanskelig oppdagede feil.

La oss for eksempel ha følgende kode:

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

La oss nå si at vi bestemmer oss for, i tilfellet hvis betingelsen oppfylles, å gjøre et andre echo også:

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

Imidlertid, uten krøllparenteser er det bare den første utskriften som er inni betingelsen, det vil si at den første utskriften vil utføres når betingelsen er sann, mens den andre - alltid.

Faktisk er koden vår ekvivalent med denne:

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // denne linjen endte utenfor betingelsen ?>

Men vi hadde ønsket en slik kode:

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // denne linjen er inni betingelsen } ?>

Nettopp derfor anbefales det alltid å plassere krøllparenteser, for ikke å havne i slike feil.

Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:

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

Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:

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

Uten å kjøre koden, bestem hva som vil skrives ut på skjermen:

<?php $num = 0; if ($num === 5) echo $num; echo '---'; echo '+++'; ?>
Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis