“
str_replace高級使用你應(yīng)該了解一下
”
在閱讀PHP框架ThinkPHP源碼的過程中有很多方法的冷門使用,也就是不常用的使用方法。
這里咔咔先對str_replace這個方法進(jìn)行解析,這個方法也就是替換字符串中的一些字符(區(qū)分大小寫)。
先來看一個常用的案例
訪問這個控制器會返回什么結(jié)果應(yīng)該都知道,也就是會把Hello world!
中所有的world
會給改變?yōu)?code style="font-size: 14px; word-wrap: break-word; padding: 2px 4px; border-radius: 4px; margin: 0 2px; background-color: rgba(27,31,35,.05); font-family: Operator Mono, Consolas, Monaco, Menlo, monospace; word-break: break-all; color: rgb(271, 93, 108);">Peter
那么接下里進(jìn)行一個案例升級,請看下圖
在這個案例中需要搜索的數(shù)據(jù)為數(shù)組,同樣適用函數(shù)替換也是可以的。
返回結(jié)果可以看到輸出了共替換的次數(shù)。
當(dāng)然咔咔今天要給大家說明的并不是這倆種使用方法,而是下邊的案例,請看下圖
在這個案例中要查找的值和要替換的值都為數(shù)組。
這種方式的使用不知道大家之前有沒有使用過,咔咔在之前是沒有使用過的,這種使用方式還是咔咔在閱讀框架源碼中發(fā)現(xiàn)的。
返回結(jié)果
同樣在返回結(jié)果中也可以看到是已經(jīng)進(jìn)行了替換的,這種方式獲取在開發(fā)過程中不太使用,但是還是要知道有這種用法的。
在框架源碼中的使用是這樣的,這個案例跟咔咔給大家演示的第三個案例是一模一樣的。
只不過這個是框架源碼在生成SQL語句時進(jìn)行的處理。