php中怎么區別false與0
來源:程序員人生 發布時間:2014-05-04 02:22:34 閱讀次數:3374次
PHP中當變量為0時,該變量同時也就“等于”false,那么如何區別0和false?這在有些條件語句中就很有用了,本文將舉例說明.
首先看代碼,本代碼的功能是查找一個字符串中是否以某個詞語開頭
實例代碼如下:
- $title = "Hello world.";
- $keyword = "you";
- if(strpos($title , $keyword ) == 0) {
- echo "正確";
- } else {
- echo "錯誤";
- }
輸出:正確
好像代碼沒錯啊?為什么結果錯了?查看幫助手冊看到strpos()函數在字符串中查找詞語的時候,如果存在該詞語則返回該詞語的索引位置,否則返回false,于是把代碼做如下修改.
實例代碼如下:
- if(strpos($title , $keyword ) == 0) {
- echo "正確";
- } else if(strpos($title , $keyword ) == false) {
- echo "錯誤";
- }
輸出:正確
怎么又是錯的?原來PHP中當變量為0時,該變量同時也就“等于”false,那么如何區別0和false?其實很簡單,把代碼再修改一下:
實例代碼如下:
- if(strpos($title , $keyword ) === 0) {
- echo "正確";
- } else if(strpos($title , $keyword ) === false) {
- echo "錯誤";
- }
輸出:錯誤
實例代碼如下:
- <?php
-
-
-
-
- $num = 0;
- $bTest1 = false;
- $bTest2 = true;
- $strTest2 = 'false';
- if($num == $bTest1)
- {
- echo ('數字0與false是可以相等的');
- echo ("<br/>");
- }
- if($bTest1)
- {
- echo('永不執行啊<br/>');
- }
- if(1)
- {
- echo('會執行嗎,<br/>');
- }
- if($bTest2)
- {
- echo('我是老大我要執行<br/>');
-
- }
- else{
- echo('不要的都歸我了哦<br/>');
- }
- echo (false == 0);
- echo (true == 1);
- function testReturn ()
- {
- echo('aaaaa');
- return;
- return 'bbbb';
- echo('cccc');
- }
-
- echo testReturn();
- ?>
很多時候false也等于0,當我們要返回的值中含有0的時候,例如對數字的查詢就要注意了,可以用===來判斷是否完全相等,
PHP 有一個 gettype() 函數,得到變量的類型.可以使用 === 運算符(看好了,有三個等號).和 == 運算符 的區別在于該運算符同時比較數據的值和類型.
當終止條件中涉及不同的變量類型時,通過使用 ===和 !==運算符進行強類型檢查是很重要的.
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈