這一次,本K帶大家來看一下關於PHP中陣列、字串的一些注意事項和函式(方法)。

一、PHP中的陣列

(一)PHP中的陣列簡介

陣列型別是PHP兩種複合資料型別之一。根據下標的不同,可以將PHP中的陣列分成關聯陣列和索引陣列:前者指下標為字串格式,每個下標字串與陣列的值一一對應;後者下標為數字,與JS中的陣列下標相同,但在一些規則上與JS相差甚遠(後述)。

關於關聯陣列與索引陣列,以及其與JS中陣列的某些不同,有如下五條大致可以概括:

  1、陣列中,可以同時存在索引陣列和關聯陣列

    array(1,2,3,"four"=>4);

  2、陣列中,所有的索引陣列,如果不加指定,會去掉關聯項,預設增長(即關聯陣列不佔索引位)

    array(1,2,3,"four"=>4,5,6); --> 1,2,3,5,6的索引分別為0 1 2 3 4

  3、如果關聯陣列的key,是純十進位制整數字符串,則會將此數字轉為索引陣列的索引值

    array(1,2,3,"9"=>4); --> 1 2 3 4 的索引分別為 0 1 2 9

  4、如果手動指定關聯陣列的key,索引陣列的下標,如果與前面已有的key或下標重複,則後指定的值會覆蓋之前的值

    array(1,2,"one"=>5,"one"=>6) --> 列印陣列為 1 2 "one"=>6

  5、如果手動指定索引陣列下標,則後續自增長下標,會按照之前下標最大值,依次增長

    array(1,2,3,"9"=>4,5); --> 1 2 3 4 5 的索引分別為 0 1 2 9 10

其次,是PHP中陣列的宣告方式。PHP中的陣列宣告方式有三種(如下列程式碼),分別是直接賦值宣告、array宣告、[]宣告。需要注意的是,第三種宣告方式實在PHP5.4版本以後才加入進來的,使用時一定要先核對好所使用的PHP版本。

$arr[] = 4;  // 直接賦值宣告
$arr = [1,2,3,4]; //[]宣告
$arr = array(1,2,3,4); //array宣告

PHP中陣列的遍歷主要有4種方式,分別是使用for迴圈遍歷陣列、foreach迴圈遍歷陣列、使用list() each() while遍歷陣列、使用陣列指標遍歷陣列。詳細方法K會在另一篇博文中講述,敬請期待。

最後,是PHP陣列涉及到的幾個超全域性陣列。所謂超全域性,就是可以在任何地方、任何作用域不用宣告,直接可以使用的幾個系統陣列,其存在是因為PHP作用域中變數範圍限制(PHP這點真的坑)。下面一段筆記程式碼,給大家做個參考。

/*
* 【超 全域性 陣列】
* 超全域性陣列、超全域性變數、預定義陣列、預定義變數 --> 說的都是它
* PHP給我們提供了一組包含強大功能的超全域性陣列。可以在任何地方、任何作用域不需宣告,直接使用!!不受任何作用域限制。
*
1 伺服器變數: $_SERVER
* 返回包含瀏覽器頭資訊,路徑,指令碼以及伺服器系統等各種資訊!
2 環境變數:$_ENV
* 將系統環境變數,轉變為PHP中的陣列。就是$_ENV;
* PHP預設是關閉此全域性陣列的,如果需要使用,需修改php.ini溫江中的variable_order="GPSC",改為EGPSC;
* 但是,修改後會有系統效能損失,官方並不推薦使用。
* 可以使用getenv()函式取代全域性變數,取出每個系統環境變數的值。
* phpinfo();函式,包含了有關PHP的各種資訊,其中ENVIROMENT板塊就是系統環境變數,可以使用getevn();取出其中的每一個值。
!!!!3 HTTP GET變數:$_GET
* 獲取前臺通過get方式提交的資料
!!!!4 HHTP POST變數:$_POST
* 獲取前臺通過post方式提交的資料
5 request變數:$_REQUEST
* 包括了$_GET/$_POST/$_COOKIE三者
* 由於可能同時包含get post,可能導致鍵衝突,並且效率也不高,所以不常使用!!!
6 HTTP檔案上傳變數:$_FILES
* 通過HTTP POST方式上傳到當前指令碼的專案的陣列
7 HTTP Cookies:$_COOKIE
* 取到頁面中的cookie資訊
!!!!8 Session變數:$_SESSION
* 取到儲存在session中的資訊
9 Global變數:$GLOBALS
* 包含上述8個全域性陣列
* 還可以給$GLOBALS陣列追加下標,建立全域性變數
*/

(二)PHP陣列中的常用函式

談到PHP中陣列的函式,首先需要給各位從JS轉來的同志們提醒一下,PHP中的陣列的“函式”這種叫法,跟JS中陣列的“方法”是一樣的,都是指對陣列進行處理的行為。函式這一部分因其內容的龐大性,首先推薦大家去看一下幫助文件(http://www.w3school.com.cn/php/index.asp)。下面是K記錄的關於PHP中陣列函式的一些筆記,大家可以自行貼上至編輯器上取消/設定註釋來直接體驗。

$arr = ["one"=>1,4,7,"9"=>10,"haha"=>"haha",4];

    // 返回陣列所有的值(陣列)
var_dump(array_values($arr)); // 返回陣列所有的鍵(陣列)
var_dump(array_keys($arr)); // 檢測陣列中是否包含某個值(布林)
#引數# 需要查詢的值,陣列[,true(===)/false(==)]
var_dump(in_array(1,$arr,true)); // 交換陣列中的鍵和值(陣列)
var_dump(array_flip($arr)); // 翻轉陣列(陣列)
#引數# 陣列[,true(保留原有索引陣列的下標與值的匹配)/false(只翻轉值,鍵不保留)]
#無論ture/false,都不會影響關聯陣列,關聯陣列總會保留#
var_dump(array_reverse($arr,TRUE)); // 統計陣列元素個數(整形)
var_dump(count($arr,0)); // 統計陣列中每個值出現的次數(陣列)
var_dump(array_count_values($arr));
# !!不借助系統函式實現array_count_values的功能
/* 思路
* 1、有一個空陣列:鍵 => 原陣列的值 值 => 原陣列每個值出現的次數
* 2、遍歷原陣列,取出原陣列中的每一個值
* 3、檢測取出的值是否在新陣列中有一個同名的鍵
* 如果有:說明找到了與現在新取值相重複的值,那麼就把新陣列中這個鍵對應的值+1;
* 如果無:說明截止現在,還沒有與新取值重複的項,那麼就在新陣列中新建一個同名的鍵,並把值為1。
*/
/* $arr1 = [0,2,5,7,9,4,2,1,5,7,1,0,1,1,1,1,1,2,4,4,5,7,7,4,3,2,4,6,8,5,3];
$arr2 = array();
foreach($arr1 as $key1=>$item1){
$isHas = FALSE; // 標誌變數!!!
foreach($arr2 as $key2=>$item2){
if($key2==$item1){
$arr2[$item1]++;
$isHas = TRUE;
}
}
if(!$isHas) $arr2[$item1]=1;
}
var_dump($arr2);*/ // 移除陣列中重複的值
// var_dump(array_unique($arr)); //過濾陣列中的每一個值
/*
* 不傳回調函式:過濾掉所有空值(0、""、null、false、"0"、[])
* 傳回調函式:如下
*/
// var_dump(array_filter($arr,function($num){
// if($num>4){
// return TRUE;
// }else{
// return FALSE;
// }
// })); //通過回撥函式,對陣列的每一個值,進行處理操作。
//執行時,會給回撥函式傳遞給兩個引數,分別是value key,然後可以在回撥函式中,對值和鍵進行處理!
//但是,牽扯到修改值的時候,必須要傳遞地址!
// var_dump(array_walk($funcname)) //
/*將陣列的每個值交由回撥函式進行對映處理
array_map():第一個引數是一個回撥函式,第二個引數起,是>=1個數組
有幾個陣列,可以給回撥函式傳幾個引數,表示每一個數組的一個value;
可以對返回的value進行處理,處理完後通過return返回,那麼新陣列對應的值就是return回去的值*/
$a =[1,2,3,4,5];
$b =[1,2,3,4];
var_dump(array_map(function($value1,$value2){
return $value1+$value2;
}, $a,$b)); /*
* array_walk與array_map的異同
* 兩者都能遍歷陣列,通過回撥函式,重新處理陣列的每一個值
* 不同點
* 1、walk只能傳一個數組,回撥函式接受這個陣列的值和鍵;map可以傳多個數組,回撥函式接受每個陣列的值
* 2、walk直接修改原陣列;map不修改原陣列,將新陣列返回
* 3、walk可以給回撥函式傳遞一個其餘引數;map只能傳陣列的值
* 4、處理方式上,walk如果需要改掉原陣列的值,需在回撥函式中傳遞地址,直接修改變數的值;map是通過將新的值,用return返回,即可修改新陣列的值。
*/
/*
* 可以傳入第二個引數,控制以何排序。第二個引數傳1,表示按照數字排序;傳2,表示按照ascii排序;預設自動檢測
sort -- 對陣列排序(升序)
rsort -- 對陣列逆向排序(降序)
usort -- 使用使用者自定義的比較函式對陣列中的值進行排序
* 下述三個函式常用於關聯陣列排序,用法同上
asort -- 對陣列進行排序並保持索引關係(關聯陣列排序)
arsort -- 對陣列進行逆向排序並保持索引關係
uasort -- 使用者自定義的比較函式對陣列進行排序並保持索引關聯
*
ksort -- 對陣列按照鍵名排序
krsort -- 對陣列按照鍵名逆向排序
uksort -- 使用使用者自定義的比較函式對陣列中的鍵名進行排序
* 自然排序,數字按照0-9,字母按照a-z進行排序
* 下面兩個函式,都會按照自然排序,並且排序時會保留鍵值關聯
natsort -- 用“自然排序”演算法對陣列排序
natcasesort -- 用“自然排序”演算法對陣列不區分大小寫字母排序
* 對多個數組或多維陣列進行排序。
* 第一個引數:第一個陣列必選,之後都是可選引數
* SORT_STRING/SORT_NUMBERIC按照字串還是數字
* SORT_DESC/SORT_ASC升降序排列
*
* 排序規則,先排第一個陣列,之後的陣列,按照與第一個陣列對應的關係,一列一列的移動
*
* 如果對多個數組排序,需保持多個數組長度一致
array_multisort -- 對多個數組或多維陣列進行排序
*/ $arr = [1,2,3,4,9,7,6,10,22]; // sort($arr); // rsort($arr); // usort($arr,function($a,$b){#同JS中陣列sort
// return -$a+$b;
// }); // asort($arr); /*[不更改原陣列]
* array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )
* 引數一: 陣列,必選
* 引數二:從第幾位開始截選,必選,負數表示從右邊第幾位(按照陣列的預設順序,包含關聯和索引,而非下標)
* 引數三:擷取長度,可選,預設全選
* 引數四:表示是否保持鍵值關聯,可選,預設索引重拍,為false,true為保持關聯
* */ // $arr1 = array_slice($arr,3,2);
// var_dump($arr1); /*[更改原陣列]
* array array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement ]] )
* 返回值:被刪掉的陣列
* 引數一:陣列的地址,會改變原陣列
* 引數二:從第幾位開始刪或替換
* 引數三:刪除或替換的長度
* 引數四:為空表示刪除操作,傳入內容表示替換操作的新值
* */
$arr2 = array_splice($arr,4);
var_dump($arr2); /*
* array_combine — 建立一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值
* 引數一:作為鍵的陣列
* 引數二:作為值的陣列
* 【兩個陣列必須保持一致,否則警告,返回false】
*/ /* 合併多個數組
* array array_merge ( array $array1 [, array $... ] )
* 合併多個數組,如果多個數組中,出現同名的關聯鍵值,則後面的會覆蓋前面的
* */ /* 兩個陣列取交集
* array array_intersect ( array $array1 , array $array2 [, array $ ... ] )
* 多個數組取交集,結果會保留第一個陣列的鍵值關聯比配
* */ /* 兩個陣列去差集
* array array_diff ( array $array1 , array $array2 [, array $... ] )
* 取出多個數組中,在第一個陣列中包含,但在其他陣列中不包含的值,保留第一個陣列的鍵值關聯
* */ /*
* mixed array_pop ( array &$array )//刪除陣列最後一個值,且返回這個值
* int array_push ( array &$array , mixed $var [, mixed $... ] )//陣列的最後放入一到多個值,返回處理後陣列的元素個數
*
* mixed array_shift ( array &$array )//刪除陣列第一個值,返回這個值
* int array_unshift ( array &$array , mixed $var [, mixed $... ] )//陣列開頭放入一到多個值,返回處理之後的陣列元素個數
* */ /*
* mixed array_rand ( array $input [, int $num_req = 1 ] )
* 隨機抽取陣列中的一到多個鍵名,二引數為空,表示抽一個,傳入數子表示抽幾個
* */ /*
* bool shuffle ( array &$array )
* 隨機打亂陣列順序,直接修改原陣列
* */

二、PHP中的字串

(一)PHP中的字串簡介

PHP中的字串是PHP四大基礎資料型別之一。

首先,來跟大家談一下PHP中字串的宣告方式。PHP中字串的宣告方式有三種,分別是通過""、''、識別符號來進行宣告(詳述可見http://www.cnblogs.com/wk1102/p/6886041.html)。

其次,來跟大家以程式碼筆記的形式著重說一下PHP中的各種輸出函式,筆記如下。

    /*
* 【各種輸出函式】
* 1、echo(純輸出,無返回):直接將內容輸出。可以是函式用法,也可以是指令用法;指令用法可以列印多個引數(逗號分割),函式用法只能列印一個引數。
* 2、print(基本不用):有函式寫法與指令寫法,但兩個都不能傳多個引數;有返回值,返回值總是為true。
* 3、print_r:列印陣列和物件時,會用一定的格式顯示鍵和值的匹配。print_r列印陣列時,會將陣列指標移向最後一位。
* 4、var_dump:除錯專用,顯示列印的型別、值等資訊,列印陣列物件時,會縮排顯示鍵值匹配,可以傳入多個引數,同時列印。
* 5、die:等同於exit,輸出資訊並且結束當前指令碼,可以不輸出資訊。
* 6、printf:列印內容並將變數進行格式化輸出。第一個引數:需要列印的字串內容,可以帶多個佔位符;第二到多個引數:與佔位符一一對應的變數。將後面的變數按照佔位符的格式要求依次輸出。
* 7、sprintf:使用同printf一樣,只不過不是輸出語句,而是將轉換之後的結果賦給一個變數。
*
* [常用佔位符]
%% 返回百分比符號
%b 二進位制數
%c 依照ASCII值的字元
%d 帶符號十進位制數
%e 可續計數法(如1.5e3)
%u 無符號十進位制數
%f或%F 浮點數
* --> 浮點數,預設保留六位小數
* 百分號和f之間可以插入數字表示精確程度。
* 數子的整數部分,表示精確的總寬度(整數+小數+小數點的總位數)。
* 數字的小數部分表示保留幾位小數,進行四捨五入保留。
* 如果設定的寬度小於實際寬度,設定無效;如果設定的寬度大於實際寬度,左邊空格補位。
* 例如:$num = 10.12345;
* printf("123%10.2f",$num); --> 10.12
* printf("123%010.2f",$num); --> 0000010.12
%o 八進位制數
%s 字串
%x或%X 十六進位制數
*/

(二)PHP中的常用函式

這裡,K的建議同上述陣列是一樣的,同樣推薦大家首先閱讀幫助文件(http://www.w3school.com.cn/php/index.asp)。下面,K依然以程式碼筆記的方式來給同志們介紹一下PHP中的常用函式。

    /*
* trim():刪除字串兩端的空格;
* ltrim():刪除字串左端的空格;
* rtrim():刪除字串右端的空格;
*
* 可以傳入第二個引數,表示刪除兩邊的相關字元。
* 從字串兩邊開始依次向內查詢第二個引數中出現的字元,只要發現就刪除,直到遇到第一個沒有出現的字元為止。
* 第二個字元常寫為 " \t\n\r\0\x0B",用於把各種空格相關的符號全都刪掉。
" " (ASCII 32 (0x20)),普通空格符。
"\t" (ASCII 9 (0x09)),製表符。
"\n" (ASCII 10 (0x0A)),換行符。
"\r" (ASCII 13 (0x0D)),回車符。
"\0" (ASCII 0 (0x00)),空位元組符。
"\x0B" (ASCII 11 (0x0B)),垂直製表符。
*
* */ $str = " 1 2 3 4 ";
echo $str."\n";
echo ltrim($str)."\n";
echo rtrim($str)."\n";
echo trim($str)."\n";
echo trim($str," 43")."\n"; /*
* str_pad():將字串填充到指定長度;
* 引數一:需要填充的字串,必選。
* 引數二:需要將字串填充到多長,必選。
* --->如果長度小於等於字串,則不會發生任何作用。
* 引數三:需要填充的文字,可選。
* --->預設用空格填充。
* 引數四:在字串的哪邊填充,可選。
* --->STR_PAD_BOTH:2
* --->STR_PAD_LEFT:0
* --->STR_PAD_RIGHT:1
* --->預設填充在右邊,如果選BOTH,則先從右邊開始填。
*/ $str1 = "abcd"; echo str_pad($str1, 11,"12",STR_PAD_BOTH);
echo str_pad($str1, 11,"12",STR_PAD_LEFT);
echo str_pad($str1, 11,"12",STR_PAD_RIGHT); /*
* strtolower():將所有字元轉成小寫
* strtoupper():將所有字元轉成大寫
* 上述兩個常用於不區分大小寫比對。
*
* ucfirst():將字串首字母轉成大寫
* ucwords():將字串每一個詞首字母轉成大寫
* 後兩個只負責轉首字母,並不管其他字母的大小寫,如果只需要首字母大寫,通常配合strtolower()先將字母轉成小寫。
* */ /* 與HTML相關的函式:
* 1、nl2br():將字串中的所有換行符,轉為<br>
* 2、htmlspecialchars():將HTML中的符號,轉換為實體內容。
* & :&amp; ":&quot;
* ':' <:&lt;
* >:&gt; 空格:&nbsp;
* 轉成特殊字元後,無需再轉回,瀏覽器會自動解析為對應的標籤符號。
* 3.將字串中的所有HTML標籤刪除;
* 引數1:需要過濾HTML標籤的字串;
* 引數2:允許存在的HTML標籤:strip_tags($str,"<b><s><u>");只允許str這個字串中,存在<b><s><u>三個標籤,其他的全部刪除。
*
* */
/*【常用字串函式】
*1.strrev($str):將字串翻轉;"12345"-->"54321";
*2.strlen($str) :獲取字串字元個數,中文=三個字元
*mb_strlen($str):測量多位元組字串的長度,不論中英文均算一個長度;
* {PHP中,很多字串函式,都有“mb_”的字首,專門用於操作中文多位元組字串}
*3.number_format():將一個浮點數,要求格式化為一個字串。
* 引數1:需要格式化的浮點數;必選。
* 引數2:保留幾位小數(四捨五入),預設不保留;
* 引數3:小數點的顯示符號,預設為“.”;
* 引數4:千位符的顯示符號:預設為“,”;
*4.md5()/sha1():分別使用md5加密演算法以及sha1加密演算法對字串進行加密操作;
* */ $str="abcdefg哈哈哈";//一個漢字三個字元,一個字元一個字元翻轉;
echo strrev($str);
echo "<br/>";
echo strlen($str);//字串長度16
echo "<br/>";
echo mb_strlen($str);//字串長度10
echo "<br/>";
echo number_format(12399.4567,4,"/","-");
echo "<br/>";
echo md5($str);
echo "<br/>";
echo sha1($str);
echo "<br/>";
echo sha1($str)=="527e8bad76c863b8903c51f7eedad006678d5f96";
/*【字串的比較】
* 1.可以用比較運算子比較:
* < > ==:如果兩邊都是字串,則比較首字母ASCII值,
* 如果一邊是數字,則將字串轉為數字後再比對!
*(重要) 2.strcmp("$str1","$str2"):比較兩個字串,區分大小寫;$str1>$str2-->1;$str1<$str2-->-1 $str1==$str2-->0
* 3.strncmp("$str1","$str2",int):比較方式與strcmp完全相同,只是多了一個必填的引數3,表示比較字串的長度,strncmp("Asdsa", "adsa",2),只比較前兩個字串的前兩個字元,如果比較漢字字串,一個漢字佔三個字元;
*(重要) 4.strcasecmp ("$str1","$str2")比較全串字串,不區分大小寫;
* 5.strnatcmp ("$str1","$str2"):將字串按照自然排序演算法進行排序比對;
* strnatcmp ("10","2"):10>2,返回1;
* strcmp("10", "2"):按照ASCII排序,1<2,返回-1;兩者相等時都=0,沒有任何差別。
*6. similar_text():返回兩個字串的相似度(兩個字串匹配字元的數目);
* */
var_dump("a"<1);//"a"-->0;
var_dump(strcmp("A", "a"));//-1
var_dump(strcmp("5", "5"));//
var_dump(strncmp("Aaer", "Aacc",2));//
var_dump(strncmp("張與", "張三",2));//
var_dump(strcasecmp ("abcd","ABCD"));//
var_dump(strnatcmp ("i10","i2"));//
var_dump(similar_text("123","234"));//相同字元的長度
/*【常用字串操作函式】
* 1.explode():使用指定分隔符,將字串分隔為陣列;
* 引數1:使用什麼分隔符;
* 引數2:需要分隔的字串;
* 引數3:可選,將字串最多分為幾份,如果小於實際分數,則前n-1正常分,最後一個包含所有剩餘字串。
* 2.preg_split():通過一個正則表示式分隔字串,引數同上,第一個引數為正則表示式
* 3.var_dump(str_split("hahah",2))--->["ha","ha","h"]
* */
var_dump(explode(",","s,t,y,u",3));
var_dump(preg_split("/[\s,]+/","asdh adcjk, asjdi"));
var_dump(str_split("hahah",2));
var_dump(mb_split("/[\w]{1}+/","sdsd,t,h"));//不好使
/*
* 3.implode() : 將一個一維陣列的值轉化為字串
* 4.substr():擷取的字串;
* 第一個引數:需要擷取的字串;
* 第二個引數:從哪個字元開始擷取;
* 第三個引數:需要擷取的字串長度(預設擷取到最後)
* 5.mb_substr():用於擷取中文字串,一個漢字=1個字元;
*(重要)strstr():別名strchr():查詢並返回字串,是否包含某個子串,如果沒有找到返回false
* 引數1:被查詢的字串,必選;
* 引數2:需要查詢的子串,必選;
* 引數3:true/false:返回子串前面的部分;返回子串及子串的所有字串,預設;
* 6.stristr():功能同上,不區分大小寫,
* 7.strrchr():取到需查詢字元在字串中最後一次出現的位置;
* 第一個引數:被查詢的字串;
* 第二個引數:需要查詢的字元,如果第二個引數是字串,則會使用字串的第一個字元,如果找到,返回該字串最後一次出現的位置,往後的部分。
* */
var_dump(implode("-",["a","b","c"]));//--->"a-b-c";
var_dump(substr("12345", 2,3));
var_dump(mb_substr("1234哈哈", 2,4));
var_dump(strstr("1234", "23",true));
var_dump(stristr("123哈哈4", "哈",true));
var_dump(strrchr("ABC123ABC456","AdBC"));
/* 【字串查詢】
* 1.strpos() : 返回某個字串,查詢字串首次出現的位置;
* 引數1:被查詢的字串;
* 引數2:需要查詢的子串;
* 引數3:從第幾個位置開始查詢;
* 2.strrpos():返回某個字串,查詢字串最後出現的位置;
* 3.stripos():不區分大小寫。返回第一次出現的位置;
* 4.strripos():不區分大小寫。返回最後一次出現的位置;
* */
var_dump(strpos("123AxhBzABC","ABC",1));//
var_dump(strripos("123AxhBzABC","abc"));//
var_dump(strrpos("123AxhBzABC","ABC",1));//
var_dump(stripos("123AxhBzABC","abc",1));//
/*【字串替換】
* str_replace():將字串中指定的部分用指定內容替換;
* 引數1:被替換部分,可以是陣列也可以是字串;
* 引數2:新內容,可以是陣列也可以是字串;
* 引數3:原字串;
* 共分為三類:1.第一個字串,第二個字串;
* 2.第一個陣列,第二個陣列:將兩個陣列一一進行對映替換;
* ①兩個陣列長度相等;將兩個陣列一一進行對映替換;
* ②第一個陣列>第二個陣列:第一個陣列剩餘部分用“”替換(即刪了);
* ③第一個陣列<第二個陣列:第二個陣列剩餘的部分不用;
* 3.第一個陣列,第二個字串:陣列的每一個都替換為字串;
* */
var_dump(str_replace("e",",","jasbdheead"));
var_dump(str_replace(["e","a","d"],",","jasbdheead"));
var_dump(str_replace(["e","a","d"],[",","/",""],"jasbdheead"));
var_dump(str_replace(["e","a","d"],[",","/"],"jasbdheead"));
var_dump(str_replace(["e","a"],[",","/","-"],"jasbdheead"));
var_dump(str_replace(["e","a","d"],"/","jasbdheead"));