《PHP編程最快明白》第二講數(shù)字、浮點(diǎn)、布爾型、字符串和數(shù)組
來(lái)源:易賢網(wǎng) 閱讀:945 次 日期:2014-05-18 12:19:55
溫馨提示:易賢網(wǎng)小編為您整理了“《PHP編程最快明白》第二講數(shù)字、浮點(diǎn)、布爾型、字符串和數(shù)組”,方便廣大網(wǎng)友查閱!

編寫程序最終就是瀏覽器看到的html代碼的表現(xiàn)形式,所以,就先研究一下這五種類型。

數(shù)字、浮點(diǎn)、布爾型是值類型,英文:int、float、bool,這樣你知道他們?cè)趺从昧恕?/p>

比如語(yǔ)句:$fa=3.14;

字符串和數(shù)組是引用類型,也就是說(shuō)他們作為地址放在棧里,當(dāng)重新賦值時(shí),棧里的地址改變方向,原來(lái)的指向變沒(méi)或給回收了,英文:string、array。

比如:$str=”字符串”;$arr=array(“a”=>”數(shù)”,”b”=>”組”);//array()是一個(gè)數(shù)組賦值函數(shù),這樣的函數(shù)PHP有一千多個(gè),一般常用的不到200個(gè),我覺(jué)得。

字符串操作:

實(shí)例2:字符串合并、相加

代碼如下:

<?php

$str=1;

echo$str.="";//數(shù)字轉(zhuǎn)化為字符串再合并,結(jié)果:"1"。

echo"<br>";

echo$str+="1元";//字符串轉(zhuǎn)化為數(shù)字再相加,如"1XXX"轉(zhuǎn)化為數(shù)字1,結(jié)果:2。

echo"<br>";

?>

實(shí)例3:字符串改變大小寫

代碼如下:

<?php

$str="12345ABc";

echostrtolower($str);//變小寫,結(jié)果:"12345abc"。

echo"<br>";

echostrtoupper($str);//變小寫,結(jié)果:"12345ABC"。

echo"<br>";

?>

實(shí)例4:字符串長(zhǎng)度、截取子字符串(中英文)

代碼如下:

<?php

$str="字符串2";

echomb_strlen($str,"UTF-8");//返回字符串長(zhǎng)度的函數(shù),第二個(gè)參數(shù)是編碼,由于頁(yè)面用UTF-8編碼,所以為這樣。如果省去,返回內(nèi)存占用的字節(jié)數(shù)(ASCII),即10。結(jié)果4

echo"<br>";

echomb_substr($str,1,2,"UTF-8");//返回字符截取,1為從”符”地址開始截取,2為截取2個(gè)"UTF-8"編碼的字符,結(jié)果:“符串”。

echo"<br>";

/**

*知識(shí)點(diǎn):現(xiàn)在開始接觸函數(shù)了,每個(gè)函數(shù)都有()作為堆棧調(diào)用,()里面放0個(gè)或多個(gè)參數(shù),可以自定義可以有默認(rèn)值。而關(guān)鍵字比如echo是沒(méi)有()的。

*很多書用GB2312編碼,取長(zhǎng)度和子串時(shí)很麻煩。下面給大家參考一下不用上面的mb中文字符串?dāng)U展庫(kù)實(shí)現(xiàn)原理:

*/

functionmy_mb_strlen($str,$code="UTF-8")//定義一個(gè)新函數(shù),$str是必須傳入的參數(shù)。

{$num=0;

if($code=="UTF-8")

{

$str=iconv("UTF-8","GB2312",$str);//轉(zhuǎn)化為GB2312編碼,ord函數(shù)返回對(duì)應(yīng)的ASCII值判斷每個(gè)字節(jié)該中文字符是否結(jié)束。

for($i=0;$i<strlen($str);$i++)//在此strlen($str)返回內(nèi)存占用的字節(jié)數(shù)相當(dāng)于mb_strlen($str)

{

if(ord($str[$i])>0xa0)$i++;//$str[$i]對(duì)應(yīng)內(nèi)存的i字節(jié)。如果直接用UTF-8判斷會(huì)復(fù)雜些,因?yàn)榫幋a的多樣性UTF-8是網(wǎng)頁(yè)常用編碼,UTF-16(Unicode)是windows編碼。

$num++;

}

}

else

{

$num="編碼未實(shí)現(xiàn)";

}//有興趣的自己查資料吧

return$num;

}

echomy_mb_strlen($str).";".my_mb_strlen($str,"GB2312")."<br>";//該頁(yè)編碼用UTF-8,你卻說(shuō)傳入的字符串3是GB2312,就算函數(shù)實(shí)現(xiàn)了也無(wú)法正確的。

?>

實(shí)例5:子字符串查找、替換

代碼如下:

<?php

$str="字符串4";

echomb_strpos($str,'串4',0,"UTF-8");//查找從0開始找到的第一個(gè)子字符串位置,結(jié)果:2。如果查找不到,返回空(="");如果最后兩個(gè)參數(shù)不要,返回6。

echo"<br>";

echomb_strstr($str,'串',0,"UTF-8");//截取從0開始找到的第一個(gè)子字符串至結(jié)尾,結(jié)果:"串4"。如果查找不到,返回空(="");如果最后兩個(gè)參數(shù)不要,返回相同=strstr($str,'串')。

echo"<br>";

echostr_replace("4","不是4",$str);//字符串替換,結(jié)果:"字符串不是4"。

echo"<br>";

?>

實(shí)例6:子字符串去空、html轉(zhuǎn)義

代碼如下:

<?php

$str="字符串5";

echo$str=trim($str);//去除兩邊空格,結(jié)果:"字符串5"。

echo"<br>";

echo"color=\"red\"";//\手工轉(zhuǎn)義里面的'、"、\,使之存儲(chǔ)到內(nèi)存,結(jié)果"color="red""

echo"<br>";

$str="<br>123";

echohtmlentities($str);//字符串轉(zhuǎn)義<>&'"避免和html標(biāo)識(shí)沖突,使之能在html瀏覽器端顯示出來(lái),結(jié)果:"<br>123"。

echo"<br>";

?>

更多信息請(qǐng)查看IT技術(shù)專欄

更多信息請(qǐng)查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請(qǐng)考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡(jiǎn)要咨詢 | 簡(jiǎn)要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號(hào):滇ICP備2023014141號(hào)-1 云南省教育廳備案號(hào):云教ICP備0901021 滇公網(wǎng)安備53010202001879號(hào) 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號(hào)
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號(hào):hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報(bào)警專用圖標(biāo)