日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 不恒等,php运算符 == 怎么使用以及与 === 恒等的区别是什么?

發布時間:2023/12/2 php 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 不恒等,php运算符 == 怎么使用以及与 === 恒等的区别是什么? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

PHP編程語言中有許多運算符來幫助我們處理相關的字符和數組,在某些情況下,PHP會把類數值數據(如含有數字的字符串等)轉換成數值處理,== 運算符就是其中之一。在使用PHP運算符==對兩個字符串進行松散比較時,PHP會把類數值的字符串轉換為數值進行比較。<?php

var_dump('01' == 1);

?>

以上代碼輸出結果為:bool(true)

所以,在使用對字符串進行比較時,建議使用PHP運算符==對字符串進行嚴格的檢查,或使用strcmp()等函數,從而避免可能產生的問題。

除此之外,常用的in_array()函數也存在弱類型的問題,見如下代碼:<?php

var_dump(in_array('01', array('1')));

?>

以上代碼輸出結果為:bool(true)

相信用過該函數進行安全性檢查的PHP編程人員都知道這會產生怎么樣的安全問題了吧?幸好in_array()函數為我們提供了第三個參數,把它設為 true 就可以打開in_array()函數的強制類型檢查機制,如下代碼所示:<?php

var_dump(in_array('01', array('1'), true));

?>

輸出結果為:bool(false)

由于PHP是一種弱類型的語言,也就是說數據類型這個概念在PHP中被弱化。因而如果在編程時過分忽略數據類型(也是大部份PHP程序員的通病),會產生一些問題,甚至導致安全漏洞。在PHP運算符==的介紹最后,還是那句說得很煩很煩的話,對外來數據進行嚴格檢查和過濾。

恒等計算符,和比較運算符號“==”的區別是 “==”不會檢查條件式的表達式的類型,恒等計算符會同時檢查表達式的值與類型。

這主要和php是無類型語言有關,比如 NULL,FALSE,array(),””,0,”0″這幾個值如果用==他們是相等的,但是你如果判斷出某個值真正的返回值呢,就可以用 ===

$a = 0;

$b = FALSE;

$a === FALSE 不成立,但 $b === FALSE成立,如果是==, $a == FALSE 和 $b == FALSE都成立

===運算符還是很有用的,php有些內置函數成功會返回某個值,失敗會返回false,假如成功了但返回的是””或者0之類的空值你怎么判斷成功或者失敗呢?這是就可以用 === ,它可以區分變量類型。

$a == $b 等于 TRUE,如果 $a 等于 $b。

$a === $b 全等 TRUE,如果 $a 等于 $b,并且它們的類型也相同。(PHP 4 引進)

$a != $b 不等 TRUE,如果 $a 不等于 $b。

$a <> $b 不等 TRUE,如果 $a 不等于 $b。

$a !== $b 非全等 TRUE,如果 $a 不等于 $b,或者它們的類型不同。(PHP 4 引進)

$a < $b 小與 TRUE,如果 $a 嚴格小于 $b。

$a > $b 大于 TRUE,如果 $a 嚴格 $b。

$a <= $b 小于等于 TRUE,如果 $a 小于或者等于 $b。

$a >= $b 大于等于 TRUE,如果 $a 大于或者等于 $b。

如果比較一個整數和字符串,則字符串會被轉換為整數。如果比較兩個數字字符串,則作為整數比較。此規則也適用于 switch語句。<?php

var_dump(0 == "a"); // 0 == 0 -> true

var_dump("1" == "01"); // 1 == 1 -> true

var_dump("1" == "1e0"); // 1 == 1 -> true

switch ("a") {

case 0:

echo "0";

break;

case "a": // never reached because "a" is already matched with 0

echo "a";

break;

}

?>

總結

以上是生活随笔為你收集整理的php 不恒等,php运算符 == 怎么使用以及与 === 恒等的区别是什么?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。