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 相关文章推荐
substr()函数中文版
Oct 09 PHP
PHP 向右侧拉菜单实现代码,测试使用中
Nov 03 PHP
php购物车实现代码
Oct 10 PHP
PHP数据库调用类调用实例(详细注释)
Jul 12 PHP
定义php常量的详解
Jun 09 PHP
浅析php中三个等号(===)和两个等号(==)的区别
Aug 06 PHP
php通过字符串调用函数示例
Mar 02 PHP
php上传图片并压缩的实现方法
Dec 22 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
thinkPHP5.0框架命名空间详解
Mar 18 PHP
PHP简单读取xml文件的方法示例
Apr 20 PHP
如何在PHP中读写文件
Sep 07 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
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
PHP生成随机码的思路与方法实例探索
2019/04/11 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
laravel 解决强制跳转 https的问题
2019/10/22 PHP
表单JS弹出填写提示效果代码
2011/04/16 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
js 实现的可折叠留言板(附源码下载)
2014/07/01 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
2种jQuery 实现刮刮卡效果
2015/02/01 Javascript
jQuery+jRange实现滑动选取数值范围特效
2015/03/14 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
常用的js方法合集
2017/03/10 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
bootstrap fileinput实现文件上传功能
2017/08/23 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
npm全局模块卸载及默认安装目录修改方法
2018/05/15 Javascript
浅谈JavaScript窗体Window.ShowModalDialog使用
2020/07/22 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python中ConfigParse模块的用法
2014/09/29 Python
Python实现数据库编程方法详解
2015/06/09 Python
浅析python协程相关概念
2018/01/20 Python
python实现读取大文件并逐行写入另外一个文件
2018/04/19 Python
flask框架使用orm连接数据库的方法示例
2018/07/16 Python
浅谈python requests 的put, post 请求参数的问题
2019/01/02 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
解决TensorFlow GPU版出现OOM错误的问题
2020/02/03 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
css图标制作教程制作云图标
2014/01/19 HTML / CSS
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
HTML5 canvas实现移动端上传头像拖拽裁剪效果
2016/03/14 HTML / CSS
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery