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 计算两个时间戳相隔的时间的函数(小时)
Dec 18 PHP
php 中英文语言转换类
Sep 07 PHP
解析php中的fopen()函数用打开文件模式说明
Jun 20 PHP
微信公众平台开发关注及取消关注事件的方法
Dec 23 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
PHP简单日历实现方法
Jul 20 PHP
thinkphp3.2实现跨控制器调用其他模块的方法
Mar 14 PHP
ThinkPHP框架分布式数据库连接方法详解
Mar 14 PHP
php cli模式下获取参数的方法
May 05 PHP
详细解读php的命名空间(一)
Feb 21 PHP
Laravel框架实现的批量删除功能示例
Jan 16 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中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
PHP中header用法小结
2016/05/23 PHP
Laravel的throttle中间件失效问题解决方法
2016/10/09 PHP
动态样式类封装JS代码
2009/09/02 Javascript
Dojo 学习要点
2010/09/03 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
jquery鼠标放上去显示悬浮层即弹出定位的div层
2014/04/25 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
BootStrap 图标icon符号图标glyphicons不正常显示的快速解决办法
2016/12/08 Javascript
解析JavaScript数组方法reduce
2016/12/12 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
javascript运行机制之执行顺序理解
2020/08/03 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
Python continue继续循环用法总结
2018/06/10 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
python scrapy爬虫代码及填坑
2019/08/12 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
基于Python中的yield表达式介绍
2019/11/19 Python
html5使用canvas实现图片下载功能的示例代码
2017/08/26 HTML / CSS
阿里巴巴国际站:Alibaba.com
2016/07/21 全球购物
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
酒后驾驶检讨书
2014/01/27 职场文书
事业单位绩效考核实施方案
2014/03/27 职场文书
护理专科毕业自荐信范文
2014/04/21 职场文书
说明书格式及范文
2014/05/07 职场文书
我们的节日春节活动方案
2014/08/22 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
先进单位申报材料
2014/12/25 职场文书
如何使用php生成zip压缩包
2021/04/21 PHP
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS