str_replace 替換函式
阿新 • • 發佈:2018-11-09
定義:str_replace() 函式以其他字元替換字串中的一些字元(區分大小寫)。
規則:
1)如果搜尋的字串是陣列,那麼它將返回陣列。
2)如果搜尋的字串是陣列,那麼它將對陣列中的每個元素進行查詢和替換。
3)如果同時需要對陣列進行查詢和替換,並且需要執行替換的元素少於查詢到的元素的數量,那麼多餘元素將用空字串進行替換
4)如果查詢的是陣列,而替換的是字串,那麼替代字串將對所有查詢到的值起作用。
語法:str_replace(find,replace,string,count)。其中,count:對替換數進行計數的變數。[在 PHP 5.0 中,新增了 count 引數。]
具體例子如下所示。
字串裡字元替換
$str = 'abcdefg';
#單個字元替換
echo str_replace('b', 'B', $str);
#輸出:aBcdefg
echo str_replace(['b'], ['B','C'], $str);
#輸出:aBcdefg
#多個字元替換成同一個字串
echo str_replace(['b','c'], 'BC', $str);
#輸出:aBCBCdefg
#多個字元分別替換成不同的字元
#情況一:
echo str_replace(['b','c'], ['B','C'], $str);
#輸出:aBCdefg
#情況二:
echo str_replace(['b','c'], ['B'], $str);
#輸出:aBdefg(是不是以為我寫錯了,告訴你,沒有錯,具體解釋見規則3)
數組裡元素替換
$arr = ['a','b','c','d'];
#單個元素替換
#情況一:
var_dump(str_replace('a', 'A', $arr));
#輸出:array (size=4)
0 => string 'A' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
#情況二:
var_dump(str_replace(['a'], ['A','B'], $arr,$count));
echo "替換數:$count";
#輸出:array (size=4)
0 => string 'A' (length=1)
1 => string 'b' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
替換數:1
#多個元素替換
#情況一:
var_dump(str_replace(['a','b'], ['A'], $arr));
#輸出:array (size=4)
0 => string 'A' (length=1)
1 => string '' (length=0)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
#情況二:
var_dump(str_replace(['a','b'], 'A', $arr,$count));
echo "替換數:$count";
#輸出:array (size=4)
0 => string 'A' (length=1)
1 => string 'A' (length=1)
2 => string 'c' (length=1)
3 => string 'd' (length=1)
替換數:2