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 相关文章推荐
我的群发邮件程序
Oct 09 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
May 12 PHP
PHP实现在线阅读PDF文件的方法
Jun 23 PHP
php简单实现sql防注入的方法
Apr 22 PHP
PHP查询附近的人及其距离的实现方法
May 11 PHP
php类的自动加载操作实例详解
Sep 28 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
浅谈PHP中的Trait使用方法
Mar 22 PHP
Laravel解决nesting level错误和隐藏index.php的问题
Oct 12 PHP
阿里对象存储OSS在laravel框架中的使用方法
Oct 13 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数组函数序列之array_values() 获取数组元素值的函数与方法
2011/10/30 PHP
php判断变量类型常用方法
2012/04/24 PHP
php文件操作实例代码
2012/05/10 PHP
PHP正则表达式过滤html标签属性(DEMO)
2016/05/04 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
PHP crc32()函数讲解
2019/02/14 PHP
PHP 并发场景的几种解决方案
2019/06/14 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
javscript对象原型的一些看法
2010/09/19 Javascript
对xmlHttp对象的理解
2011/01/17 Javascript
JavaScript 5 新增 Array 方法实现介绍
2012/02/06 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
javascript dom追加内容实现示例
2013/09/21 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
jquery中radio checked问题
2015/03/16 Javascript
JavaScript基本语法讲解
2015/06/03 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
遍历js中对象的属性和值的实例
2016/11/21 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
webpack4 处理CSS的方法示例
2018/09/03 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
跟老齐学Python之玩转字符串(3)
2014/09/14 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
2018/02/07 Python
对numpy中的transpose和swapaxes函数详解
2018/08/02 Python
在Python中使用gRPC的方法示例
2018/08/08 Python
Python爬取梨视频的示例
2021/01/29 Python
全球最大的房车租赁市场:Outdoorsy
2018/09/19 全球购物
小学语文教学反思
2014/02/10 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
税务干部个人整改措施思想汇报
2014/10/10 职场文书
警察正风肃纪剖析材料
2014/10/16 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
2014年检察院个人工作总结
2014/12/09 职场文书