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 相关文章推荐
模仿OSO的论坛(五)
Oct 09 PHP
PHP编程过程中需要了解的this,self,parent的区别
Dec 30 PHP
PHP怎么实现网站保存快捷方式方便用户随时浏览
Aug 15 PHP
PHP 读取和编写 XML
Nov 19 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
May 21 PHP
详解PHP的Yii框架中日志的相关配置及使用
Dec 08 PHP
PHP 读取文本文件内容并分页显示
Jan 02 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
Mar 04 PHP
Zend Framework教程之Zend_Registry对象用法分析
Mar 22 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
PHP实现微信提现功能
Sep 30 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
php基础知识:函数基础知识
2006/12/13 PHP
php checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
PHP生成UTF8文件的方法
2010/05/15 PHP
PHP图片处理之图片背景、画布操作
2014/11/19 PHP
php利用cookie实现自动登录的方法
2014/12/10 PHP
文件上传之SWFUpload插件(代码)
2015/07/30 PHP
php读取本地json文件的实例
2018/03/07 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
top.location.href 没有权限 解决方法
2008/08/05 Javascript
判断JavaScript对象是否可用的最正确方法分析
2008/10/03 Javascript
jquery 插件开发备注
2010/08/27 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
jquery实现带复选框的表格行选中删除时高亮显示
2013/08/01 Javascript
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
JavaScript设计模式之抽象工厂模式介绍
2014/12/28 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
详解如何配置vue-cli3.0的vue.config.js
2018/08/23 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
Vue起步(无cli)的啊教程详解
2019/04/11 Javascript
Vue页面刷新记住页面状态的实现
2019/12/27 Javascript
js实现提交前对列表数据的增删改查
2020/01/16 Javascript
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
Python描述器descriptor详解
2015/02/03 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
pandas 数据结构之Series的使用方法
2019/06/21 Python
Django 拼接两个queryset 或是两个不可以相加的对象实例
2020/03/28 Python
Python配置pip国内镜像源的实现
2020/08/20 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
个人授权委托书
2014/04/03 职场文书
英文演讲稿
2014/05/15 职场文书
2015年幼儿园保育员工作总结
2015/04/23 职场文书
建党伟业观后感
2015/06/01 职场文书
政协常委会议主持词
2015/07/03 职场文书