“
str_replace高級(jí)使用你應(yīng)該了解一下
”
在閱讀PHP框架ThinkPHP源碼的過(guò)程中有很多方法的冷門(mén)使用,也就是不常用的使用方法。
這里咔咔先對(duì)str_replace這個(gè)方法進(jìn)行解析,這個(gè)方法也就是替換字符串中的一些字符(區(qū)分大小寫(xiě))。
先來(lái)看一個(gè)常用的案例
訪(fǎng)問(wèn)這個(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)然咔咔今天要給大家說(shuō)明的并不是這倆種使用方法,而是下邊的案例,請(qǐng)看下圖
在這個(gè)案例中要查找的值和要替換的值都為數(shù)組。
這種方式的使用不知道大家之前有沒(méi)有使用過(guò),咔咔在之前是沒(méi)有使用過(guò)的,這種使用方式還是咔咔在閱讀框架源碼中發(fā)現(xiàn)的。
返回結(jié)果
同樣在返回結(jié)果中也可以看到是已經(jīng)進(jìn)行了替換的,這種方式獲取在開(kāi)發(fā)過(guò)程中不太使用,但是還是要知道有這種用法的。
在框架源碼中的使用是這樣的,這個(gè)案例跟咔咔給大家演示的第三個(gè)案例是一模一樣的。
只不過(guò)這個(gè)是框架源碼在生成SQL語(yǔ)句時(shí)進(jìn)行的處理。