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 相关文章推荐
建立动态的WML站点(一)
Oct 09 PHP
火车头采集器3.0采集图文教程
Mar 17 PHP
PHP垃圾回收机制简单说明
Jul 22 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
windows下配置apache+php+mysql时出现问题的处理方法
Jun 20 PHP
php实现无限级分类
Dec 24 PHP
php中memcache 基本操作实例
May 17 PHP
php多文件打包下载的实例代码
Jul 12 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
php实现网页上一页下一页翻页过程详解
Jun 28 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
Jul 24 PHP
laravel框架实现为 Blade 模板引擎添加新文件扩展名操作示例
Jan 25 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
php4的session功能评述(二)
2006/10/09 PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
2012/07/02 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
如何用PHP做到页面注册审核
2017/03/02 PHP
prototype class详解
2006/09/07 Javascript
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
javascript 导出数据到Excel(处理table中的元素)
2009/12/18 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
jQuery选择器全集详解
2014/11/24 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
解决jQuery ajax请求在IE6中莫名中断的问题
2016/06/20 Javascript
JS实现页面数据无限加载
2016/09/13 Javascript
微信小程序之页面跳转和参数传递的实现
2017/09/29 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
python中实现迭代器(iterator)的方法示例
2017/01/19 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
python opencv 图像尺寸变换方法
2018/04/02 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
python抓取京东小米8手机配置信息
2018/11/13 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
python rsync服务器之间文件夹同步脚本
2019/08/29 Python
PyCharm搭建Spark开发环境的实现步骤
2019/09/05 Python
python 实现字符串下标的输出功能
2020/02/13 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
python反扒机制的5种解决方法
2021/02/06 Python
ZWILLING双立人英国网上商店:德国刀具锅具厨具品牌
2018/05/15 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
Java文件和目录(IO)操作
2014/08/26 面试题
涉外文秘个人求职的自我评价
2013/10/07 职场文书
单位消防安全制度
2014/01/12 职场文书
财政局个人年终总结
2015/03/03 职场文书
社区活动总结范文
2015/05/07 职场文书
Python还能这么玩之只用30行代码从excel提取个人值班表
2021/06/05 Python
Javascript之datagrid查询详解
2021/09/15 Javascript