分類菜單
PHP
培訓(xùn)首頁> PHP培訓(xùn)頭條> PHP中的小問題分析,天津PHP培訓(xùn)

PHP中的小問題分析,天津PHP培訓(xùn)

PHP
發(fā)表時(shí)間:2019-09-06 242人瀏覽

想必有很多同學(xué)在日常的開發(fā)過程中經(jīng)常會(huì)碰到一些問題,而有些問題往往看起來是那么的簡(jiǎn)單,只要一說就能明白,可偏偏到了自己使用的時(shí)候就遇到了問題,這難道不是件很頭疼的事情嗎?小編就給大家整理了一些容易出現(xiàn)的問題,如下:

1、使用單引號(hào),以雙引號(hào)為分隔符,使用函數(shù)explode分割字符串,不能正常分割。  

為什么會(huì)這樣呢?原因是:由于單引號(hào)和雙引號(hào)有區(qū)別,在單引號(hào)中/”不能被解析,因此,在使用函數(shù)explode分割時(shí),如果我們使用的是單引號(hào),就會(huì)被當(dāng)做字符串,而不是換行符,所以不能分割。、

2、正反斜杠導(dǎo)致函數(shù)basename使用無效

我們常常使用php函數(shù)basename時(shí),從一個(gè)包含有指向一個(gè)文件的全部路徑的字符串中獲取文件名,但是由于正反斜杠的原因,我們?cè)谑褂檬菚?huì)發(fā)現(xiàn)函數(shù)無法生效,尤其是在windows系統(tǒng)和別的系統(tǒng)之間切換時(shí)。原因是basename函數(shù)受操作系統(tǒng)的影響,在windows系統(tǒng)中正反斜線都可以用作分隔符,而在其他的操作環(huán)境下則只能用斜線,所以為了不出錯(cuò),小編建議大家盡量用斜線來作為分隔符。

3、小數(shù)不能直接比較是否相等

比如 if( 0.5+0.2==0.7 ) 的結(jié)果是 false。究其原因是因?yàn)椋?/span>php是基于c語言的,而c語言由于其二進(jìn)制符點(diǎn)數(shù)的表示方式,導(dǎo)致不能準(zhǔn)確表示大多數(shù)符點(diǎn)數(shù)。實(shí)際上,幾乎所有的編程語言都沒能準(zhǔn)確的表示小數(shù)(符點(diǎn)數(shù)),這是一個(gè)普遍存在的現(xiàn)象,因?yàn)檫@個(gè)是 ieee 754 的缺陷。

4 foreach語句

我們?cè)谶\(yùn)用 foreach語句時(shí),需要注意到zui后一個(gè)$somel會(huì)一直保留到該函數(shù)/方式結(jié)束,而當(dāng)使用引用的時(shí)候 foreach($somearr as &$somel){ }這是以引用來保存,也就是說后面若有使用同一個(gè)名字的變量名,將會(huì)把原數(shù)據(jù)改變(就像一個(gè)亂用的c指針)。所以,為了an全起見的話呢,小編建議每個(gè)foreach結(jié)束之后都要使用unset把這個(gè)變量清理掉,尤其是引用的foreach

5、switch語句中的case不能當(dāng)做if來使用

php函數(shù)switch……case中,switch 匹配的是case語句的值,而不能把case當(dāng)if用。同時(shí),switch表達(dá)式優(yōu)先匹配與其值類型一致的case語句,類型不一致的放在后面處理。

小編目前就整理這么多,希望能給大家?guī)韼椭?/span>


溫馨提示

個(gè)性定制課程


溫馨提示