程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 《PHP編程最快明白》第二講 數字、浮點、布爾型、字符串和數組

《PHP編程最快明白》第二講 數字、浮點、布爾型、字符串和數組

編輯:關於PHP編程

數字、浮點、布爾型是值類型,英文:int、float、bool,這樣你知道他們怎麼用了。

比如語句:$fa=3.14;

字符串和數組是引用類型,也就是說他們作為地址放在棧裡,當重新賦值時,棧裡的地址改變方向,原來的指向變沒或給回收了,英文:string、array。

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

字符串操作:

實例2:字符串合並、相加
復制代碼 代碼如下:
<?php
$str = 1;
echo $str .= ""; //數字轉化為字符串再合並,結果:"1"。
echo "<br>";
echo $str += "1元"; //字符串轉化為數字再相加,如"1XXX"轉化為數字1,結果: 2。
echo "<br>";
?>

實例3:字符串改變大小寫
復制代碼 代碼如下:
<?php
$str="12345ABc";
echo strtolower($str);//變小寫,結果:"12345abc"。
echo "<br>";
echo strtoupper($str);//變小寫,結果:"12345ABC"。
echo "<br>";
?>

實例4:字符串長度、截取子字符串(中英文)
復制代碼 代碼如下:
<?php
$str = "字符串2";
echo mb_strlen($str, "UTF-8"); //返回字符串長度的函數,第二個參數是編碼,由於頁面用UTF-8編碼,所以為這樣。如果省去,返回內存占用的字節數(ASCII),即10。結果4
echo "<br>";
echo mb_substr($str, 1, 2, "UTF-8"); //返回字符截取,1為從”符”地址開始截取,2為截取2個"UTF-8"編碼的字符,結果:“符串”。
echo "<br>";
/**
* 知識點:現在開始接觸函數了,每個函數都有()作為堆棧調用,()裡面放0個或多個參數,可以自定義可以有默認值。而關鍵字比如echo是沒有()的。
* 很多書用GB2312編碼,取長度和子串時很麻煩。下面給大家參考一下不用上面的mb中文字符串擴展庫實現原理:
*/
function my_mb_strlen($str, $code = "UTF-8") // 定義一個新函數,$str是必須傳入的參數。
{$num= 0;
if ($code == "UTF-8")
{
$str = iconv("UTF-8", "GB2312", $str); //轉化為GB2312編碼,ord函數返回對應的ASCII值判斷每個字節該中文字符是否結束。
for($i = 0;$i < strlen($str);$i++) // 在此strlen($str)返回內存占用的字節數相當於mb_strlen($str)
{
if (ord($str[$i]) > 0xa0)$i++; //$str[$i]對應內存的i字節。如果直接用UTF-8判斷會復雜些,因為編碼的多樣性UTF-8是網頁常用編碼,UTF-16(Unicode)是windows編碼。
$num++;
}
}
else
{
$num = "編碼未實現";
} //有興趣的自己查資料吧
return $num;
}
echo my_mb_strlen($str) . ";" . my_mb_strlen($str, "GB2312") . "<br>"; //該頁編碼用UTF-8,你卻說傳入的字符串3是GB2312,就算函數實現了也無法正確的。
?>

實例5:子字符串查找、替換

復制代碼 代碼如下:
<?php
$str = "字符串4";
echo mb_strpos($str, '串4', 0, "UTF-8"); //查找從0開始找到的第一個子字符串位置,結果:2。如果查找不到,返回空(="");如果最後兩個參數不要,返回6。
echo "<br>";
echo mb_strstr($str, '串', 0, "UTF-8"); //截取從0開始找到的第一個子字符串至結尾,結果:"串4"。如果查找不到,返回空(="");如果最後兩個參數不要,返回相同=strstr($str,'串')。
echo "<br>";
echo str_replace("4", "不是4", $str) ; //字符串替換,結果: "字符串不是4"。
echo "<br>";
?>

實例6:子字符串去空、html轉義
復制代碼 代碼如下:
<?php
$str=" 字符串5 ";
echo $str=trim($str);//去除兩邊空格,結果:"字符串5"。
echo "<br>";
echo "color=\"red\"";//\手工轉義裡面的'、"、\,使之存儲到內存,結果"color="red""
echo "<br>";
$str="<br>123";
echo htmlentities($str) ; //字符串轉義<>&'"避免和html標識沖突,使之能在html浏覽器端顯示出來,結果:"<br>123"。
echo "<br>";
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved