php使用str_replace替換多維陣列的實現方法執行個體詳解

來源:互聯網
上載者:User
這篇文章主要介紹了php使用str_replace替換多維陣列的實現方法,結合具體執行個體對比分析了php針對多維陣列的遍曆與替換操作相關實現技巧與注意事項,需要的朋友可以參考下

本文執行個體講述了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傳入數組的地址,通過遞迴的方式來實現替換字串。當然這隻是一個很簡單的方法,實現的方法很多,喜歡就好!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.