php中str_replace函數的多種用法總結

函數原型:mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )php

這個函數的三個參數類型都是mixed,因此它們都既能夠是字符串,也能夠是數組,所以就有如下幾種用法:數組

一、 $search和$replace都是字符串,這是最多見的用法app

echo str_replace("a", "apple", "This is a demo.");

輸出:This is apple demo.函數


二、$search爲數組,對$search中的數組元素逐個替換成$replace,最終輸出爲字符串。spa

echo str_replace(array("a", "p","o"), "apple", "This is a demo.");

輸出:This is aappleapplele demapple.code


三、$replace爲數組,會報錯且不會輸出預想的結果,不建議使用字符串

echo str_replace("a",  array("apple", "pear"), "This is a demo.");

輸出:This is Array demo.並報錯 Notice: Array to string conversion原型


四、$subject爲數組,$subject中的每一個數組元素都會作一次獨立替換,最終輸出爲數組。string

print_r(str_replace("a", "apple", array("This is a demo.", "This is not a demo.")));

輸出:Array ( [0] => This is apple demo. [1] => This is not apple demo. )io


五、$search和$replace都爲數組,這時又能夠分爲三種狀況:

    a).$search和$replace同樣長,則相同下標對應替換

    b).$search比$replace長,則$search中比$replace多出的數組元素都被替換成空字符串

    c).$search比$replace短,則$replace中多出的數組元素被忽略

echo str_replace(array("a", "o"), array("apple", "pear"), "This is a demo.");

輸出:This is apple dempear.


六、$search、$replace和$subject都爲數組,這是以上多種狀況的綜合

print_r(str_replace(array("a", "o"), array("apple", "pear"), array("This is a demo.", "This is not a demo.")));

輸出:Array ( [0] => This is apple dempear. [1] => This is npeart apple dempear. )

相關文章
相關標籤/搜索