php使用str_replace替换多维数组的实现方法分析

yipeiwu_com5年前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传入数组的地址,通过递归的方式来实现替换字符串。当然这只是一个很简单的方法,实现的方法很多,喜欢就好!

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP面向对象五大原则之里氏替换原则(LSP)详解

本文实例讲述了PHP面向对象五大原则之里氏替换原则(LSP)。分享给大家供大家参考,具体如下: 替换原则由MIT计算机科学实验室的Liskov女士在1987年的OOPSLA大会上的一篇文...

PHP 日期时间函数的高级应用技巧

PHP 日期时间函数的高级应用技巧

PHP的日期时间函数date() 1,年-月-日 echo date('Y-m-j'); 2007-02-6 echo date('y-n-j'); 07-2-6 大写Y表示年四...

PHP四种排序算法实现及效率分析【冒泡排序,插入排序,选择排序和快速排序】

本文实例讲述了PHP四种排序算法实现及效率分析。分享给大家供大家参考,具体如下: PHP的四种基本排序算法为:冒泡排序、插入排序、选择排序和快速排序。 下面是我整理出来的算法代码: 1....

PHP+ajax实现获取新闻数据简单示例

PHP+ajax实现获取新闻数据简单示例

本文实例讲述了PHP+ajax实现获取新闻数据的方法。分享给大家供大家参考,具体如下: Get方式获取到的信息是字符串(responseText) ① 可以借助JSON对象的方法:str...

PHP 字符串长度判断效率更高的方法

有经验的程序员发现,php判断字符串长度,使用isset()在速度上比strlen()更快,执行效率更高。即:复制代码 代码如下:$str = ‘aaaaaa';if(strlen($s...