“
str_replace高級(jí)使用你應(yīng)該了解一下
”
在閱讀PHP框架ThinkPHP源碼的過程中有很多方法的冷門使用,也就是不常用的使用方法。
這里咔咔先對(duì)str_replace這個(gè)方法進(jìn)行解析,這個(gè)方法也就是替換字符串中的一些字符(區(qū)分大小寫)。
先來看一個(gè)常用的案例
訪問這個(gè)控制器會(huì)返回什么結(jié)果應(yīng)該都知道,也就是會(huì)把Hello world!
中所有的world
會(huì)給改變?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)行一個(gè)案例升級(jí),請(qǐng)看下圖
在這個(gè)案例中需要搜索的數(shù)據(jù)為數(shù)組,同樣適用函數(shù)替換也是可以的。
返回結(jié)果可以看到輸出了共替換的次數(shù)。
當(dāng)然咔咔今天要給大家說明的并不是這倆種使用方法,而是下邊的案例,請(qǐng)看下圖
在這個(gè)案例中要查找的值和要替換的值都為數(shù)組。
這種方式的使用不知道大家之前有沒有使用過,咔咔在之前是沒有使用過的,這種使用方式還是咔咔在閱讀框架源碼中發(fā)現(xiàn)的。
返回結(jié)果
同樣在返回結(jié)果中也可以看到是已經(jīng)進(jìn)行了替換的,這種方式獲取在開發(fā)過程中不太使用,但是還是要知道有這種用法的。
在框架源碼中的使用是這樣的,這個(gè)案例跟咔咔給大家演示的第三個(gè)案例是一模一樣的。
只不過這個(gè)是框架源碼在生成SQL語句時(shí)進(jìn)行的處理。