本文實例講述了php使用str_replace替換多維數組的實現方法。分享給大家供大家參考,具體如下:
在php中,如果使用str_replace替換數組中的字符串,只能替換一維的數組,如果是多維數組的話,不能實現全部字符串的替換。于是就寫了一個方法實現多維數組字符串的替換,
首先來測試一下直接使用str_replace來測試數組的替換
$a = array( 'a' => 'bdc#', 'ceshi' => array('c'=>array('f'=>'#')) ); $a = str_replace('#', 'ccc', $a); var_dump($a);
發現輸出如下:
array (size=2) 'a' => string 'bdcccc' (length=6) 'ceshi' => array (size=1) 'c' => array (size=1) 'f' => string '#' (length=1)
發現只替換了一維數組中的字符串,更多維的數組并沒有并替換掉。
函數實現多維數組的字符串替換
$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)
發現實現了多維數組的字符串替換
函數strReplace傳入數組的地址,通過遞歸的方式來實現替換字符串。當然這只是一個很簡單的方法,實現的方法很多,喜歡就好!
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP數組(Array)操作技巧大全》、《PHP常用遍歷算法與技巧總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》、《php字符串(string)用法總結》及《php常見數據庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。