本文實例講述了php使用str_replace替換多維數(shù)組的實現(xiàn)方法。分享給大家供大家參考,具體如下:
在php中,如果使用str_replace替換數(shù)組中的字符串,只能替換一維的數(shù)組,如果是多維數(shù)組的話,不能實現(xiàn)全部字符串的替換。于是就寫了一個方法實現(xiàn)多維數(shù)組字符串的替換,
首先來測試一下直接使用str_replace來測試數(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ù)實現(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)實現(xiàn)了多維數(shù)組的字符串替換
函數(shù)strReplace傳入數(shù)組的地址,通過遞歸的方式來實現(xiàn)替換字符串。當然這只是一個很簡單的方法,實現(xiàn)的方法很多,喜歡就好!
希望本文所述對大家PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選