數(shù)字、浮點(diǎn)、布爾型、字符串和數(shù)組、浮點(diǎn)、布爾型是值類型,英文:int、float、bool,這樣你知道他們怎么用了.
比如語句:$fa=3.14;
字符串和數(shù)組是引用類型,也就是說他們作為地址放在棧里,當(dāng)重新賦值時,棧里的地址改變方向,原來的指向變沒或給回收了,英文:string、array.
比如:$str=”字符串”;$arr=array(“a”=>”數(shù)”,”b”=>”組”);// array()是一個數(shù)組賦值函數(shù),這樣的函數(shù)php有一千多個,一般常用的不到200個,我覺得.
字符串操作,實(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";
- echo strtolower($str);//變小寫,結(jié)果:"12345abc"。
- echo "<br>";
- echo strtoupper($str);//變小寫,結(jié)果:"12345abc"。
- echo "<br>";
- ?>
實(shí)例4:字符串長度、截取子字符串(中英文),代碼如下:
- <?php
- $str = "字符串2";
- echo mb_strlen($str, "utf-8"); //返回字符串長度的函數(shù),第二個參數(shù)是編碼,由于頁面用utf-8編碼,所以為這樣。如果省去,返回內(nèi)存占用的字節(jié)數(shù)(ascii),即10。結(jié)果4
- echo "<br>";
- echo mb_substr($str, 1, 2, "utf-8"); //返回字符截取,1為從”符”地址開始截取,2為截取2個"utf-8"編碼的字符,結(jié)果:“符串”。
- echo "<br>";
- /**
- * 知識點(diǎn):現(xiàn)在開始接觸函數(shù)了,每個函數(shù)都有()作為堆棧調(diào)用,()里面放0個或多個參數(shù),可以自定義可以有默認(rèn)值。而關(guān)鍵字比如echo是沒有()的。
- * 很多書用gb2312編碼,取長度和子串時很麻煩。下面給大家參考一下不用上面的mb中文字符串?dāng)U展庫實(shí)現(xiàn)原理:
- */
- function my_mb_strlen($str, $code = "utf-8") // 定義一個新函數(shù),$str是必須傳入的參數(shù)。
- {$num= 0;
- if ($code == "utf-8")
- {
- $str = iconv("utf-8", "gb2312", $str); //轉(zhuǎn)化為gb2312編碼,ord函數(shù)返回對應(yīng)的ascii值判斷每個字節(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]對應(yīng)內(nèi)存的i字節(jié)。如果直接用utf-8判斷會復(fù)雜些,因?yàn)榫幋a的多樣性utf-8是網(wǎng)頁常用編碼,utf-16(unicode)是windows編碼。
- $num++;
- }
- }
- else
- {
- $num = "編碼未實(shí)現(xiàn)";
- } //有興趣的自己查資料吧
- return $num;
- }
- echo my_mb_strlen($str) . ";" . my_mb_strlen($str, "gb2312") . "<br>"; //該頁編碼用utf-8,你卻說傳入的字符串3是gb2312,就算函數(shù)實(shí)現(xiàn)了也無法正確的。
- ?>
實(shí)例5:子字符串查找、替換,代碼如下:
- <?php
- $str = "字符串4";
- echo mb_strpos($str, '串4', 0, "utf-8"); //查找從0開始找到的第一個子字符串位置,結(jié)果:2。如果查找不到,返回空(="");如果最后兩個參數(shù)不要,返回6。
- echo "<br>";
- echo mb_strstr($str, '串', 0, "utf-8"); //截取從0開始找到的第一個子字符串至結(jié)尾,結(jié)果:"串4"。如果查找不到,返回空(="");如果最后兩個參數(shù)不要,返回相同=strstr($str,'串')。
- echo "<br>";
- echo str_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)義里面的'、"、,使之存儲到內(nèi)存,結(jié)果"color="red""
- echo "<br>";
- $str="<br>123";
- echo htmlentities($str) ; //字符串轉(zhuǎn)義<>&'"避免和html標(biāo)識沖突,使之能在html瀏覽器端顯示出來,結(jié)果:"<br>123"。
- echo "<br>";
- ?>
新聞熱點(diǎn)
疑難解答