php使用str_replace替換多維數(shù)組的實(shí)現(xiàn)方法分析
本文實(shí)例講述了php使用str_replace替換多維數(shù)組的實(shí)現(xiàn)方法。分享給大家供大家參考,具體如下:
在php中,如果使用str_replace替換數(shù)組中的字符串,只能替換一維的數(shù)組,如果是多維數(shù)組的話,不能實(shí)現(xiàn)全部字符串的替換。于是就寫了一個(gè)方法實(shí)現(xiàn)多維數(shù)組字符串的替換,
首先來測(cè)試一下直接使用str_replace來測(cè)試數(shù)組的替換
$a = array( 'a' => 'bdc#', 'ceshi' => array('c'=>array('f'=>'#')) ); $a = str_replace('#', 'ccc', $a); var_dump($a);
發(fā)現(xiàn)輸出如下:
array (size=2) 'a' => string 'bdcccc' (length=6) 'ceshi' => array (size=1) 'c' => array (size=1) 'f' => string '#' (length=1)
發(fā)現(xiàn)只替換了一維數(shù)組中的字符串,更多維的數(shù)組并沒有并替換掉。
函數(shù)實(shí)現(xiàn)多維數(shù)組的字符串替換
$a = array( 'a' => 'bdc#', 'ceshi' => array('c'=>array('f'=>'#')) ); function strReplace(&$array) { $array = str_replace('#', 'ccc', $array); if (is_array($array)) { foreach ($array as $key => $val) { if (is_array($val)) { strReplace($array[$key]); } } } } strReplace($a); var_dump($a);
輸出如下:
array (size=2) 'a' => string 'bdcccc' (length=6) 'ceshi' => array (size=1) 'c' => array (size=1) 'f' => string 'ccc' (length=3)
發(fā)現(xiàn)實(shí)現(xiàn)了多維數(shù)組的字符串替換
函數(shù)strReplace傳入數(shù)組的地址,通過遞歸的方式來實(shí)現(xiàn)替換字符串。當(dāng)然這只是一個(gè)很簡單的方法,實(shí)現(xiàn)的方法很多,喜歡就好!
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP數(shù)組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結(jié)》、《PHP數(shù)據(jù)結(jié)構(gòu)與算法教程》、《php程序設(shè)計(jì)算法總結(jié)》、《php字符串(string)用法總結(jié)》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
相關(guān)文章
學(xué)習(xí)discuz php 引入文件的方法DISCUZ_ROOT
這是discuz中定義論壇安裝根目錄的一個(gè)常量?,F(xiàn)在我們就來分析一下這個(gè)很簡單但是非常實(shí)用的常量。2009-06-06php實(shí)現(xiàn)過濾字符串中的中文和數(shù)字實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)過濾字符串中的中文和數(shù)字的方法,實(shí)例分析了php操作中文和數(shù)字匹配的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07對(duì)Session和Cookie的區(qū)分與解釋
對(duì)Session和Cookie的區(qū)分與解釋...2007-03-03解析mysql left( right ) join使用on與where篩選的差異
本篇文章是對(duì)mysql left( right )join使用on與where篩選的差異進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06