這篇文章主要講解了“PHP中使用if的時候為什么要將常量放在前面”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“PHP中使用if的時候為什么要將常量放在前面”吧!
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于網(wǎng)站制作、成都網(wǎng)站制作、廬山網(wǎng)絡推廣、微信平臺小程序開發(fā)、廬山網(wǎng)絡營銷、廬山企業(yè)策劃、廬山品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供廬山建站搭建服務,24小時服務熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
在某些框架或者高手寫的代碼中,我們會發(fā)現(xiàn)有不少人喜歡在進行條件判斷的時候?qū)⒊A繉懺谇懊?,比如?/p>
if(1 == $a){
echo 111;
}
這樣做有什么好處呢?我們假設一個不小心的粗心大意,少寫了一個=號,會有什么結果。
$a = 'a';
if($a = 'b'){
echo 111;
}
echo $a;
沒錯,111輸出了,$a的值也變成了b。少了一個等號,就變成了賦值操作,這樣的操作會先給$a賦值,然后根據(jù)$a的值進行判斷。如果$a = '',就不會輸出111,但是$a的值還是會變成''。
劃重點:這樣的寫法php是不會報錯的,這也是有可能造成BUG的情況。
那么反過來呢?
$a = 'a';
if('b' = $a){
echo 111;
}
首先,大部分的IDE都會報語法錯誤,也就是直接劃紅線了。常量是不能被賦值修改的,不管是數(shù)字、字符串還是系統(tǒng)或者我們自己已經(jīng)定義了的常量。
其次,這種情況下你要是還發(fā)現(xiàn)不了這里有問題的話也沒關系,運行起來也會報錯的,代碼是無法繼續(xù)向下運行的。
當然,這只是一個小技巧,而且最主要的目的是為了應對精心帶來的問題。所以并不是強制的規(guī)范,有些公司可能會在代碼審計或者規(guī)范文檔中強調(diào)這樣寫法,當然,最好的還是我們要杜絕這種粗心帶來的錯誤。
測試代碼:https://github.com/zhangyue0503/dev-blog/blob/master/php/201911/source/PHP%E4%B8%AD%E4%BD%BF%E7%94%A8if%E7%9A%84%E6%97%B6%E5%80%99%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BB%BA%E8%AE%AE%E5%B0%86%E5%B8%B8%E9%87%8F%E6%94%BE%E5%9C%A8%E5%89%8D%E9%9D%A2%EF%BC%9F.php
感謝各位的閱讀,以上就是“PHP中使用if的時候為什么要將常量放在前面”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對PHP中使用if的時候為什么要將常量放在前面這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!