⊗ppPmCdWBC 84 of 447 menu

การเปรียบเทียบค่าบูลีนแบบไม่เข้มงวดใน PHP

ในตัวอย่างที่แล้วผมใช้ตัวดำเนินการ === สำหรับการเปรียบเทียบ ในกรณีนี้ตัวแปรของเรา ถูกเปรียบเทียบว่าตรงกับ true หรือไม่ ทั้งในแง่ของค่า และประเภทข้อมูล

ในโจทย์ของเราสามารถใช้ตัวดำเนินการ == ได้ ถ้าในตัวแปร test มีค่าเพียงค่าใดค่าหนึ่งระหว่าง true หรือ false เสมอ ก็จะไม่มีอะไรเปลี่ยนแปลง:

<?php $test = true; // เขียน true หรือ false ตรงนี้ if ($test == true) { echo '+++'; } else { echo '---'; } ?>

แต่ถ้าในตัวแปร $test อาจ มีค่าใดๆ ก็ได้ ทุกอย่างจะกลายเป็น ซับซ้อนขึ้นมาก ในกรณีเช่นนี้ ถ้าในตัวแปร เป็นค่าที่ไม่ใช่บูลีน ค่านั้น จะถูกแปลงเป็นบูลีนก่อนและเพียง หลังจากนั้นจึงจะถูกเปรียบเทียบ

สมมติว่าในตัวแปรของเรามี เลข 1 ในกรณีนี้มันจะ ถูกแปลงเป็นประเภทลอจิกก่อน นั่นคือ เป็น true และจากนั้นจะทำการเปรียบเทียบ:

<?php $test = 1; if ($test == true) { echo '+++'; // จะทำงานตรงนี้ เพราะ 1 == true เป็นจริง } else { echo '---'; } ?>

แต่ตัวอย่างเช่น เลข 0 จะถูกแปลง เป็น false และเงื่อนไขของเราในที่สุด จะเป็นเท็จ:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; // จะทำงานตรงนี้ เพราะ 0 == true เป็นเท็จ } ?>

โดยไม่ต้องรันโค้ด จงระบุว่าอะไรจะแสดง ออกทางหน้าจอ:

<?php $test = 1; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

โดยไม่ต้องรันโค้ด จงระบุว่าอะไรจะแสดง ออกทางหน้าจอ:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

โดยไม่ต้องรันโค้ด จงระบุว่าอะไรจะแสดง ออกทางหน้าจอ:

<?php $test = 1; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

โดยไม่ต้องรันโค้ด จงระบุว่าอะไรจะแสดง ออกทางหน้าจอ:

<?php $test = 1; if ($test != true) { echo '+++'; } else { echo '---'; } ?>

โดยไม่ต้องรันโค้ด จงระบุว่าอะไรจะแสดง ออกทางหน้าจอ:

<?php $test = ''; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

โดยไม่ต้องรันโค้ด จงระบุว่าอะไรจะแสดง ออกทางหน้าจอ:

<?php if ($test == true) { echo '+++'; } else { echo '---'; } ?>
ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ