天天看點

PHP中str_replace進階使用你知道嗎

在閱讀PHP架構ThinkPHP源碼的過程中有很多方法的冷門使用,也就是不常用的使用方法。

這裡咔咔先對str_replace這個方法進行解析,這個方法也就是替換字元串中的一些字元(區分大小寫)。

先來看一個常用的案例

PHP中str_replace進階使用你知道嗎

通路這個控制器會傳回什麼結果應該都知道,也就是會把Hello world!中所有的world會給改變為Peter

PHP中str_replace進階使用你知道嗎

那麼接下裡進行一個案例更新,請看下圖

在這個案例中需要搜尋的資料為數組,同樣适用函數替換也是可以的。

PHP中str_replace進階使用你知道嗎

傳回結果可以看到輸出了共替換的次數。

PHP中str_replace進階使用你知道嗎

當然咔咔今天要給大家說明的并不是這倆種使用方法,而是下邊的案例,請看下圖

在這個案例中要查找的值和要替換的值都為數組。

這種方式的使用不知道大家之前有沒有使用過,咔咔在之前是沒有使用過的,這種使用方式還是咔咔在閱讀架構源碼中發現的。

PHP中str_replace進階使用你知道嗎

傳回結果

同樣在傳回結果中也可以看到是已經進行了替換的,這種方式擷取在開發過程中不太使用,但是還是要知道有這種用法的。

PHP中str_replace進階使用你知道嗎

在架構源碼中的使用是這樣的,這個案例跟咔咔給大家示範的第三個案例是一模一樣的。

隻不過這個是架構源碼在生成SQL語句時進行的處理。

PHP中str_replace進階使用你知道嗎