4.2 比較運算符

比較運算符的作用是通過對值進行比較,返回一個布爾型的結果(部分運算符除外)。
如果比較一個數字和一個字符串(或包含數字的字符串),會將該字符串先轉成數字后在進行比較,嚴格模式(===!==)除外

// 定義變量
$foo = 30;
$bar = "30";

// 是否等于         true
$foo == $bar;

// 是否絕對等于       false
$foo === $bar;

// 是否不等于        false
$foo != $bar;
$foo <> $bar;

// 是否絕對不等于  true
$foo !== $bar;

// 是否小于         false
$foo < $bar;

// 是否大于         false
$foo > $bar;

// 是否小于或等于  true
$foo <= $bar;       

// 是否大于或等于  true
$foo >= $bar;

// 結合比較運算符
// 到底是小于(-1)等于(0)還是大于(1),此處返回 0
$foo <=> $bar;

// NULL 合并操作符
// 誰不為空? 嚴格判斷NULL,哪怕是""也會認為不是NULL
$one = NULL;
$two = NULL;
$three = "four";
// four
$one ?? $two ?? $three;

字符串、數組、對象也能進行比較

不同類型之間的比較,可以參考下列規則

  • string|null <=> string ,先將 NULL 轉成 ''
  • bool|null <=> any,先轉成BooleanTRUE > FALSE
  • object <=> object,限相同的類,如沒定義規則就按數組的方式一樣比較屬性
  • string|resource|number <=> string|resource|number,先轉成數字,再按數學比較
  • array <=> array,限鍵相同,成員少的小,依次比較屬性
  • object <=> otherobject最大
  • array <=> other,除object外,array最大。

記得不要比較浮點數,否則會有意想不到的問題

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,991評論 19 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,769評論 18 399
  • 昨夜微醺,入得周公草廬,喜窺嫡仙神蹤,仗酒壯懷詩情泛濫,取廬前池鯉激烈奪食之景,潑墨揮毫,即興作絕句《食為天》: ...
    靜晚閱讀 392評論 0 1
  • 地球之所以會變成今天這個樣子,地球人之所以會這樣不快樂,是因為你們意識層次的進化一直沒辦法有突破性的提升。如果現在...
    感恩之旅閱讀 272評論 0 0
  • 凝香劫 作者 / 狼煙詩影 (一) ...
    狼煙詩影閱讀 891評論 0 2