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下通过IP获取地理位置的代码(小偷程序)
Jun 09 PHP
session在PHP大型web应用中的使用
Jun 25 PHP
php去除换行(回车换行)的三种方法
Mar 26 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
php获取远程文件的内容和大小
Nov 03 PHP
PHP  Yii清理缓存的实现方法
Nov 10 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 PHP
PHP常见数组排序方法小结
Aug 20 PHP
PHP使用pdo实现事务处理操作示例
Sep 05 PHP
php获取用户真实IP和防刷机制的实例代码
Nov 28 PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 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
PHP文本数据库的搜索方法
2006/10/09 PHP
mysql+php分页类(已测)
2008/03/31 PHP
windows环境下php配置memcache的具体操作步骤
2013/06/09 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
2015/01/07 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
Laravel5中防止XSS跨站攻击的方法
2016/10/10 PHP
PHP实现的杨辉三角求解算法分析
2019/03/11 PHP
Js动态创建div
2008/09/25 Javascript
在javascript中对于DOM的加强
2013/04/11 Javascript
jquery 关于event.target使用的几点说明介绍
2013/04/26 Javascript
js冒泡法和数组转换成字符串示例代码
2013/08/14 Javascript
JavaScript学习笔记之数组去重
2016/03/23 Javascript
全面解析Bootstrap中tooltip、popover的使用方法
2016/06/13 Javascript
浅谈js的url解析函数封装
2016/06/28 Javascript
jQuery实现根据滚动条位置加载相应内容功能
2016/07/18 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
vue.js如何更改默认端口号8080为指定端口的方法
2017/07/14 Javascript
使用Vue的slot插槽分发父组件内容实现高度复用、更加灵活的组件(推荐)
2018/05/01 Javascript
React Navigation 使用中遇到的问题小结
2018/05/08 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
微信小程序使用二次贝塞尔曲线画波浪
2018/12/25 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
JS实现从对象获取对象中单个键值的方法示例
2019/06/05 Javascript
[46:47]完美世界DOTA2联赛PWL S2 FTD vs Magma 第二场 11.20
2020/11/23 DOTA
Python入门篇之正则表达式
2014/10/20 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
芬兰设计商店美国:Finnish Design Shop US
2019/03/25 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
计算机专业毕业生求职信分享
2013/12/24 职场文书
村主任当选感言
2015/08/01 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
2019年二手房买卖合同范本
2019/10/14 职场文书