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


Posted in PHP onJune 15, 2017

本文实例讲述了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 相关文章推荐
PHP 加密与解密的斗争
Apr 17 PHP
php数组函数序列之array_flip() 将数组键名与值对调
Nov 07 PHP
PHP中将网页导出为Word文档的代码
May 25 PHP
php中的注释、变量、数组、常量、函数应用介绍
Nov 16 PHP
PHP调用JAVA的WebService简单实例
Mar 11 PHP
php+memcache实现的网站在线人数统计代码
Jul 04 PHP
ThinkPHP自动填充实现无限级分类的方法
Aug 22 PHP
PHP生成RSS文件类实例
Dec 05 PHP
PHP实现抓取Google IP并自动修改hosts文件
Feb 12 PHP
Laravel 5框架学习之环境与配置
Apr 08 PHP
PHP解压ZIP文件到指定文件夹的方法
Nov 17 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
Jun 15 #PHP
php7基于递归实现删除空文件夹的方法示例
Jun 15 #PHP
php实现的二叉树遍历算法示例
Jun 15 #PHP
深入浅析PHP的session反序列化漏洞问题
Jun 15 #PHP
PHP中phar包的使用教程
Jun 14 #PHP
iis 7下安装laravel 5.4环境的方法教程
Jun 14 #PHP
PHP中关键字interface和implements详解
Jun 14 #PHP
You might like
《五等分的花嫁》漫画完结!2020年10月第2期TV动画制作组换血!
2020/03/06 日漫
PHP通用检测函数集合
2006/11/25 PHP
手把手教你使用DedeCms的采集的图文教程
2007/03/11 PHP
php图像处理函数大全(推荐收藏)
2013/07/11 PHP
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
PHP关于htmlspecialchars、strip_tags、addslashes的解释
2014/07/04 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
php封装的page分页类完整实例
2016/10/18 PHP
PHP实现的支付宝支付功能示例
2019/03/26 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
ExtJS下grid的一些属性说明
2009/12/13 Javascript
JavaScript中的类(Class)详细介绍
2014/12/30 Javascript
jQuery中appendTo()方法用法实例
2015/01/08 Javascript
javascript实现简单的省市区三级联动
2015/05/14 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
vue中的非父子间的通讯问题简单的实例代码
2017/07/19 Javascript
Angular实现的自定义模糊查询、排序及三角箭头标注功能示例
2017/12/28 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
vue + element-ui的分页问题实现
2018/12/17 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
python中实现定制类的特殊方法总结
2014/09/28 Python
进一步理解Python中的函数编程
2015/04/13 Python
Python3实现抓取javascript动态生成的html网页功能示例
2017/08/22 Python
python 实现selenium断言和验证的方法
2019/02/13 Python
python实现DEM数据的阴影生成的方法
2019/07/23 Python
Python获取对象属性的几种方式小结
2020/03/12 Python
python中selenium库的基本使用详解
2020/07/31 Python
Python如何把字典写入到CSV文件的方法示例
2020/08/23 Python
css3设置box-pack和box-align让div里面的元素垂直居中
2014/09/01 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
美味咖啡的顶级烘焙师:Cafe Britt
2018/03/15 全球购物
班组长岗位职责
2014/03/03 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
运动会稿件100字
2014/09/24 职场文书