1. 程式人生 > >php中的全等於和不全等於 不等於的 用法詳解

php中的全等於和不全等於 不等於的 用法詳解

我們來看一下下面一個程式:
$str = “0d52”;
If (0==$str)
{echo “真”}
Else
{echo “假”}
 
這個程式執行的結果出人意料, “0d52”居然被PHP認為和0相等了。
為什麼會出現這樣的情況呢?
執行關係運算”==“時要求運算子兩邊的資料型別必須一致,所以等號又邊的字串被強制轉換為了整型0。
 
這就是許多弱型別語言的缺點。
這種錯誤在我們的程式中是不能夠容忍的,有沒有什麼辦法來解決這個問題呢?
答案當然是可以的,在PHP中給我們提供了全等於來解決類似的問題。
 
現在我們將程式改寫成如下形式以詮釋全等於的工作原理。
$str = “0d52”;
If (0===$str)
{echo “真”}
Else
{echo “假”}
 

全等於操作過程如下:
1.判斷全等於操作符2邊的資料型別是否相同,如果不相同,則返回false
2.判斷全等於操作符2邊的值是否相等,如果不相等,則返回false
3.最後將上面2步的操作進行與操作。返回與操作的結果。
 

不全等於(!==)操作過程正好與全等於相反:
1.判斷不全等於操作符2邊的資料型別是否相同,如果不相同,則返回true
2.判斷不全等於操作符2邊的值是否相等,如果不相等,則返回true
3.最後將上面2步的操作進行或操作。返回或操作的結果。

相關推薦

mysqlleft join,right join,inner join,outer join 用法

非常慚愧用了這麼久的mysql居然沒有用過outer join和inner join,對outer join的認識也僅是知道它是外連結,至於什麼用途都不清楚,至於還有沒有left outer join更是不得而知,某天有人問起,才想起自己mysql知識的貧乏,趕緊找了一下網上的left join,righ

php等於等於 等於用法

我們來看一下下面一個程式: $str = “0d52”; If (0==$str) {echo “真”} Else {echo “假”}   這個程式執行的結果出人意料, “0d52”居然被PHP認為和0相等了。 為什麼會出現這樣的情況呢? 執行關係運算”==“時要求運算子

【轉】Java7/8 的 HashMap ConcurrentHashMap 解析

原文出處:https://javadoop.com/post/hashmap 今天發一篇”水文”,可能很多讀者都會表示不理解,不過我想把它作為併發序列文章中不可缺少的一塊來介紹。本來以為花不了多少時間的,不過最終還是投入了挺多時間來完成這篇文章的。 網上關於 HashMap 和 Concur

Java7/8的 HashMapConcurrentHashMap解析

原文出處: JavaDoop 今天發一篇"水文",可能很多讀者都會表示不理解,不過我想把它作為併發序列文章中不可缺少的一塊來介紹。本來以為花不了多少時間的,不過最終還是投入了挺多時間來完成這篇文章的。 網上關於 HashMap 和 ConcurrentHashMap 的文章確實不少,

Java7/8 的 HashMap ConcurrentHashMap 解析

今天發一篇”水文”,可能很多讀者都會表示不理解,不過我想把它作為併發序列文章中不可缺少的一塊來介紹。本來以為花不了多少時間的,不過最終還是投入了挺多時間來完成這篇文章的。 網上關於 HashMap 和 ConcurrentHashMap 的文章確實不少,不過缺斤少兩的文章比

JS實現HTMLframeset瀏覽器退出

<script type="text/javascript"> /* 全屏 */ function fullScreen() { var el = document.documentElement

【搞定Java8新特性】之Java7/8 的 HashMap ConcurrentHashMap 解析

本文轉載自:https://blog.csdn.net/a724888/article/details/68936953 本文目錄: 1、Java7 中的HashMap 1.1、put過程分析 陣列初始化 計算具體陣列位置 新增節點到連結串列中 陣列擴容 補充:Has

Java7/8的HashMapConcurrentHashMap解析

        本文包含四部分。Java7 HashMap、Java7 ConcurrentHashMap、Java8 HashMap、Java8 ConcurrentHashMap。 Java7 HashMap      

Erlang lists的用法例子說明,詳細

16,keystore(Key, N, TupleList1, NewTuple) -> TupleList2這個函式和keyreplace函式比較像,不同的是,這個keystore在沒有找到對應的Tuple時, 會將這個NewTuple追加在這個TupleList1的最後。 例子: List1 = [

vuejs2實現反選,使用id

使用vuejs2實現全選和反選,其實網上都有很多的教程了,這一次我寫,主要是使用index,而不是使用id,因為有些時候,如果資料傳輸過多,後端不會給id的,這時候,就需要使用index來進行全選的功

PHPnew static() new self() 的區別

pub 堆內存 func sel urn ret 通過 ati php self 指的是self所在的類 new static 實例化的是當前使用的類,有點像$this ,從堆內存中提取出來。 還是通過實例說明一下: class A { public static f

支付寶小程序PHP棧開發--前端樣式的設計.acss樣式

屏幕 類選擇器 兩種 項目結構 不包含 acs http 好的 undefined 關於.acss文件 在視頻中已經說過了,小程序的設計思想和原生app的設計思想頗為相似,基本的應用單元為頁面。當然對於一個頁面來說每一個元素的放置位置在哪兒以及顯示成什麽樣子這個是由樣式來決

php的isset()empty()

methods 不存在 php 手冊 代碼 code ram post strong isset()和empty()的功能很類似,只能說是很類似,因為他們還是有不同點的,而他們的不同點還是挺明顯的; 官方手冊中對這兩個的解釋分別如下: bool empty ( mixed

PHP的__call__callStatic方法(未看完)

def 不可見 重載方法 varchar baidu value dso argument dom 如何防止調用不存在的方法而出錯,使用__call魔術重載方法. __call方法原型如下: mixed __call(string $name,array $argume

vue實現取消

urn lis put lan model set type itl scale 很簡單使用的vue全選和取消全選 直接上代碼,簡單易懂不懂得可以留言。 <!DOCTYPE html> <html lang="en"> <head>

2018/04/21 PHP 的SessionCookie知識總結

結束 方式 全局變量 過期 ESS 簡單 star 如何 lencod 在之後的工作和學習中,更是發現了自己對於基礎知識的不紮實,於是又返回頭來學習,確實很多東西是之前沒註意或是沒掌握的。 著重講一下這幾個問題 -- 什麽是 Cookie ? 簡單來說:   因為 HTTP

php靜態方法靜態屬性的介紹

靜態屬性 size col 實例 生效 訪問類 都是 靜態 self 靜態分為兩個部分:靜態屬性和靜態方法 靜態的東西都是給類用的(包括類常量),非靜態的都是給對象用的 靜態屬性 在定義屬性的時候,使用關鍵字static修飾的屬性稱之為靜態屬性。 靜態方法 使用sta

php學習筆記:第四節--php的運算子流程控制

PHP的運算子、流程控制和其他語言的運算子一樣,沒什麼特別的,這裡不再累贅。     特別的運算子: .=             $a.=$b

PHP call_user_func 函式 call_user_func_array 函式

PHP 中 call_user_func() 函式 和 call_user_func_array()函式都是回撥函式 區別: call_user_func() 可以有多個引數,第一個引數為被呼叫的回撥函式,除了第一個引數外,其他引數均為被呼叫函式的引數 c

複製釋出伺服器訂閱伺服器內容一致的解決辦法 (轉載)

在事務複製的過程中,有時候會由於各種各樣的原因導致釋出伺服器和訂閱伺服器的資料不一致,造成這種情況往往是由於以下幾種原因之一: 某個Agent執行出現錯誤或者Agent程序崩潰 比較大型的釋出是使用了備份還原,而不是快照複製初始化,而備份後釋出端修改了資料 非Distribution Agen