การเขียน if แบบย่อในโครงสร้าง if-else
สมมติว่าเราต้องการรู้ว่า ตัวแปร
$test มีค่าเท่ากับ
true หรือไม่
ในกรณีนี้ เราสามารถเขียนโครงสร้าง
if ได้ดังนี้:
<?php
$test = true;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
ในการเขียนโปรแกรม การตรวจสอบเช่นนี้จำเป็นต้องใช้
บ่อยมาก ดังนั้นจึงมีรูปแบบย่อที่สวยงามกว่า: แทนที่จะเขียน
if ($test == true) เราสามารถเขียนเพียง
if ($test)
ลองเขียนโค้ดของเราใหม่ในรูปแบบย่อ:
<?php
$test = true;
if ($test) { // เทียบเท่ากับ if ($test == true)
echo '+++';
} else {
echo '---';
}
?>
สมมติว่าตอนนี้เราตรวจสอบว่า ตัวแปร
$test ไม่เท่ากับ
true:
<?php
$test = true;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
ในกรณีนี้ ไวยากรณ์แบบย่อจะมี ลักษณะดังนี้:
<?php
$test = true;
if (!$test) { // ใช้ logical NOT
echo '+++';
} else {
echo '---';
}
?>
มีการย่อที่คล้ายกันสำหรับการตรวจสอบ
false ด้วย สมมติมีโค้ดดังนี้:
<?php
$test = true;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
เงื่อนไข $test == false
จริงๆ แล้วเท่ากับ
$test != true:
<?php
$test = true;
if ($test != true) { // เทียบเท่ากับ if ($test == false)
echo '+++';
} else {
echo '---';
}
?>
และเงื่อนไขแบบนี้เราได้เรียนรู้วิธีย่อไว้แล้ว ในตัวอย่างก่อนหน้า ลองย่อดู:
<?php
$test = true;
if (!$test) {
echo '+++';
} else {
echo '---';
}
?>
เขียนโค้ดต่อไปนี้ใหม่โดยใช้ การเปรียบเทียบแบบย่อ:
<?php
$test = true;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
เขียนโค้ดต่อไปนี้ใหม่โดยใช้ การเปรียบเทียบแบบย่อ:
<?php
$test = true;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
เขียนโค้ดต่อไปนี้ใหม่โดยใช้ การเปรียบเทียบแบบย่อ:
<?php
$test = true;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
เขียนโค้ดต่อไปนี้ใหม่โดยใช้ การเปรียบเทียบแบบย่อ:
<?php
$test = true;
if ($test != false) {
echo '+++';
} else {
echo '---';
}
?>