您好,登錄后才能下訂單哦!
#0x00 PHP中 ==
與 ===
的區別
===比較兩個變量的類型
==只比較他們的值
e.g
比如整數0和浮點數0.0
用==比較返回TRUE
用===比較返回FLASE
###用代碼測試
<?php
$str = "0dff";
if (0 == $str) {
echo "true";
}else{
echo "false";
}
?>
上面的這個程序的輸出結果是true,也就是說在編譯中程序默認0和0dff是相等的。
這是因為在執行關系運算”==“時要求運算符兩邊的數據類型必須一致,所以等號右邊的字符串被強制轉換為了整型0。這也是一系列弱類型語言的一個缺點。
#在php中提供了“===”來解決這個問題
<?php
$str = "0dff";
if (0 === $str) {
echo "true";
}else{
echo "false";
}
這個程序的輸出是false
全等于操作過程如下:
1.判斷全等于操作符2邊的數據類型是否相同 如果不相同,則返回false
2.判斷全等于操作符2邊的值是否相等,如果 不相等,則返回false
3.最后將上面2步的操作進行與操作。返回與操作的結果
#0x01 PHP中 單引號 ' '
與 雙引號 " "
的區別
雙引號串中的內容可以被解釋而且替換,而單引號串中的內容總被認為是普通字符。
<?php $parker = 2; echo "parker is $parker"; // parker is 2 echo 'parker is $parker'; // parker is $parker echo "parker is $parker\n"; // parker is 2 (同時換行) echo 'parker is $parker\n'; // parker is $parker\n ?>
在單引號串中甚至反斜杠也失去了他的擴展含義(除了插入反斜杠\和插入單引號\')。
所以,當在字串中進行變量代換和包含\n(換行符)
等轉義序列時,應該使用雙引號。
單引號串可以用在其他任何地方,腳本中使用單引號串處理速度會更快些。
#0x02 PHP中 or
與 ||
的區別
很多人認為PHP中 or
和 ||
是可以劃等號的,一開始我也是這么認為的,但是其實不是,它們還是存在一個優先級的差別。下面通過一個例子說明它們的差異
<?php
$a = false || true;
$b = false or true;
var_dump($a);//true
echo '<br />';
var_dump($b);//false
?>
執行后,$a為true,而$b為false。這是因為||
的優先級大于 =
,先執行 false || true
,然后將執行后的結果true賦值給$a。而or
的優先級小于=
,先將false賦值給$b,因此$b就為false
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。