久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁 > 教程 > 服務(wù)器類 >

php使用str_replace替換多維數(shù)組的實現(xiàn)方法

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2017-07-12 18:36┆點(diǎ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)替換字符串。當(dāng)然這只是一個很簡單的方法,實現(xiàn)的方法很多