⊗ppPmCdBOP 93 of 447 menu

PHP-də şərtlərdə fiqurlu mötərizələrin isteğe bağlı olması problemi

PHP-nin yuxarıda göstərilən fiqurlu mötərizəli qısaltmalara icazə verməsinə baxmayaraq, mən ümumiyyətlə bunu etməyi tövsiyə etmirəm, çünki bu, aşkar edilmesi çətin xətalar üçün məhsuldar bir yerdir.

Məsələn, aşağıdakı kod nümunəsi götürək:

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

Tutaq ki, indi biz qərar verdik ki, şərt ödənildikdə, ikinci bir echo da yerinə yetirək:

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

Ancaq, fiqurlu mötərizələr olmadan, şərtin daxilində yalnız birinci çap durur, yəni birinci çap şərt doğru olduqda işləyəcək, ikincisi isə həmişə.

Əslində bizim kodumuz belə bir kodla ekvivalentdir:

<?php $test = 3; if ($test > 0) { echo $test; } echo '+++'; // bu sətir şərtin xaricində qaldı ?>

Oysa biz belə bir kod istəyirdik:

<?php $test = 3; if ($test > 0) { echo $test; echo '+++'; // bu sətir şərtin daxilində } ?>

Məhz buna görə də həmişə fiqurlu mötərizələri qoymağı tövsiyə edirəm, beləliklə bu cür xətalarə düşməsiniz.

Kodu işə salmadan, ekrana nə çıxacağını müəyyən edin:

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

Kodu işə salmadan, ekrana nə çıxacağını müəyyən edin:

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

Kodu işə salmadan, ekrana nə çıxacağını müəyyən edin:

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