PHP str_replace() 函數詳解


PHP str_replace() 函數詳解

1、前言:
str_replace() 函數以其他字符替換字符串中的一些字符(區分大小寫)。
該函數區分大小寫。請使用 str_ireplace() 函數執行不區分大小寫的搜索。

2、語法:
mixed str_replace(mixed $search, mixed $replace, mixed $subject[,int &$count])

參數 描述
$search 必需。規定要查找的值。
$replace 必需。規定替換 find 中的值的值。
$subject 必需。規定被搜索的字符串。
$count 可選。對替換數進行計數的變量。

3、使用:
1)$search $replace都是字符串
代碼:
$str = str_replace( "o", "i", "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hiw are yiu? 2
說明:將$subject中的$search替換為$replace,並計算次數

2)、$search為數組
代碼:
$str = str_replace( [ "o", "u" ], "i", "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hiw are yii? 3
說明:在$subject中,將$search的各個字符串替換為$replace,並計算次數

3)、$replace為數組
代碼:
$str = str_replace( "o", [ "i", "b" ], "How are you?", $cnt );
var_export($str);
echo $cnt;
返回:
Notice: Array to string conversion in ..\..\Test.php on line 19
'HArrayw are yArrayu?' 2
說明:在$subject中將$search字符串替換為Array

4)、$subject為數組
代碼:
$str = str_replace( "o", 'i', [ 'H', 'o', 'w', 'a', 'r', 'e', 'y', 'o', 'u' ], $cnt );
var_export($str);
echo $cnt;
返回:array ( 0 => 'H', 1 => 'i', 2 => 'w', 3 => 'a', 4 => 'r', 5 => 'e', 6 => 'y', 7 => 'i', 8 => 'u', )2
說明:返回值為數組,將$subject中的各元素分別用$search替換為$replace的值進行替換。

5)、$search $replace都為數組
代碼:
$str = str_replace( [ "o", "u" ], ['you', 'abc'], "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hyoabcw are yyoabcabc? 5
說明:在$subject中將$search的各元素值依次分別替換為$replace的各元素值。
過程:先將 $subject 中的 o 替換為 you => hyouw are yyouu?
再將替換后的$subject的 u 替換為 abc => Hyoabcw are yyoabcabc?
注:
(1)、如果$search的長度比$replace長;長出來的部分將匹配空字符串
代碼:
$str = str_replace( [ "o", "u", "c" ], ['you', 'abc'], "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hyoabw are yyoabab? 8
過程: 先將 $subject 中的 o 替換為 you => hyouw are yyouu?
再將替換后的$subject的 u 替換為 abc => Hyoabcw are yyoabcabc?
再將替換后的$subject的 c 替換為 '' => Hyoabw are yyoabab?
(2)、如果$replace的長度比$search長;長出來的部分將忽略不計
代碼:
$str = str_replace( [ "o", "u" ], ['you', 'abc', 'ban'], "How are you?", $cnt );
echo $str.' '.$cnt;
返回:Hyoabcw are yyoabcabc? 5

6)、$search $replace $subject都為數組
代碼:
$str = str_replace( [ "o", "u" ], ['you', 'abc'], ["How are you?", 'How old are you?'], $cnt );
var_export($str);
echo $cnt;die;
返回:array ( 0 => 'Hyoabcw are yyoabcabc?', 1 => 'Hyoabcw yoabcld are yyoabcabc?', )12
說明:在$subject中將$search各元素的值依次分別替換為$replace的值,然后進行替換。
過程:
(1)、替換$subject[0] => "How are you?"
先將 $subject[0] 中的 o 替換為 you => hyouw are yyouu?
再將替換后的$subject[0]的 u 替換為 abc => Hyoabcw are yyoabcabc?
(2)、替換$subject[1] => 'How old are you?'
先將 $subject[1] 中的 o 替換為 you => hyouw yould are yyouu?
再將替換后的$subject[1]的 u 替換為 abc => Hyoabcw yoabcld are yyoabcabc?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM