相關(guān)學(xué)習(xí)推薦:php編程(視頻)
個(gè)人記錄一些自己平時(shí)寫PHP代碼時(shí),遇到的一些小問(wèn)題,會(huì)不時(shí)的更新;
歡迎大家及時(shí)指出問(wèn)題的錯(cuò)誤,提意見(jiàn)時(shí)可以標(biāo)注具體問(wèn)題編號(hào),謝謝大家,與君共勉;
1,float數(shù)據(jù)類型輸出格式問(wèn)題
$float1 = 1.123;$float2 = 2.3e3;$float3 = 8E-5;var_dump($float1, $float2, $float3); //float(1.123) float(2300) float(8.0E-5)var_dump(number_format(8E-5, 5)); //string(7) "0.00008"
會(huì)發(fā)現(xiàn)8E-5沒(méi)有輸出為 0.00008 , 這是因?yàn)镻HP會(huì)自動(dòng)將一些位數(shù)太多的數(shù)字轉(zhuǎn)為科學(xué)計(jì)數(shù)法方式顯示
此時(shí)如果想輸出為0.00008格式,可以使用number_format(),還得注意,該函數(shù)返回的是string
2,使用.
拼接符后,自動(dòng)轉(zhuǎn)為字符串類型
$a = 12;$b = 1.3;$c = true; //轉(zhuǎn)為1var_dump($a . $b . $c); //string(6) "121.31"
3,strlen(),strpos()的中文字符處理
strlen() 返回字符串的長(zhǎng)度,按字節(jié),英文占一個(gè),中文一般占3個(gè);
英文的好說(shuō),不用特殊處理,中文的可以使用專門的mb_strlen()
echo strlen('string'); //6echo strlen('你好!世界'); //15(5個(gè)中文字符*3)echo strlen('你好!PHP'); //12(三個(gè)中文字符*3 + 3個(gè)英文)echo mb_strlen('你好!世界'); //5echo mb_strlen('你好!PHP'); //6 每個(gè)都按字符算
strpos() 用于在指定字符串內(nèi)查找某段字符是否有出現(xiàn), 如果在字符串中找到匹配,該函數(shù)會(huì)返回第一個(gè)匹配的字符位置。如果未找到匹配,則返回 FALSE。
需要注意的是:字符串的第一個(gè)位置是0,而不是1;
同樣該函數(shù)也有中英文的問(wèn)題,也需要專門的mb_strpos()函數(shù)處理
echo strpos("hello php", "php"); //6echo strpos("hello php","he"); //0echo strpos("你好,php", "p"); //9echo mb_strpos("你好,php", "p"); //3
想了解