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发电子邮件
Oct 09 PHP
我的论坛源代码(三)
Oct 09 PHP
php 常用类整理
Dec 23 PHP
php防攻击代码升级版
Dec 29 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
19个超实用的PHP代码片段
Mar 14 PHP
大家在抢红包,程序员在研究红包算法
Aug 31 PHP
PHP6连接SQLServer2005的三部曲
Apr 15 PHP
PHP实现数据分页显示的简单实例
May 26 PHP
PHP实现批量删除(封装)
Apr 28 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
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读取文件内容至字符串中,同时去除换行、空行、行首行尾空格(Zjmainstay原创)
2012/07/31 PHP
PHP实现广度优先搜索算法(BFS,Broad First Search)详解
2017/09/16 PHP
tp5.1 框架数据库-数据集操作实例分析
2020/05/26 PHP
不懂JavaScript应该怎样学
2008/04/16 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
jquery parent和parents的区别分析
2013/10/02 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
Javascript点击按钮随机改变数字与其颜色
2016/09/01 Javascript
浅谈Javascript事件对象
2017/02/05 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
js正则相关知识点专题
2018/05/10 Javascript
angularJS开发注意事项
2018/05/26 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
vue使用v-if v-show页面闪烁,div闪现的解决方法
2018/10/12 Javascript
微信小程序实现两边小中间大的轮播效果的示例代码
2018/12/07 Javascript
JavaScript禁止右击保存图片,禁止拖拽图片的实现代码
2020/04/28 Javascript
JavaScript构造函数原理及实现流程解析
2020/11/19 Javascript
[57:29]Alliance vs KG 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/17 DOTA
Python常用算法学习基础教程
2017/04/13 Python
python中的随机函数小结
2018/01/27 Python
django限制匿名用户访问及重定向的方法实例
2018/02/07 Python
python操作excel的方法
2018/08/16 Python
Python3开发实例之非关系型图数据库Neo4j安装方法及Python3连接操作Neo4j方法实例
2020/03/18 Python
python实现贪吃蛇游戏源码
2020/03/21 Python
详解Python遍历列表时删除元素的正确做法
2021/01/07 Python
教师节商场活动方案
2014/02/13 职场文书
节水倡议书范文
2014/04/15 职场文书
公司授权委托书样本
2014/09/15 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
2016年离婚协议书范文
2016/03/18 职场文书
JS实现简单的九宫格抽奖
2022/06/28 Javascript