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 相关文章推荐
用ODBC的分页显示
Oct 09 PHP
PHP 数据结构 算法 三元组 Triplet
Jul 02 PHP
php顺序查找和二分查找示例
Mar 27 PHP
php操作xml入门之xml基本介绍及xml标签元素
Jan 23 PHP
php中动态调用函数的方法
Mar 16 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
php封装好的人民币数值转中文大写类
Dec 20 PHP
Yii中CGridView实现批量删除的方法
Dec 28 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
Mar 10 PHP
php usort 使用用户自定义的比较函数对二维数组中的值进行排序
May 02 PHP
PHP设计模式之模板模式定义与用法详解
Dec 20 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 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
基于HBase Thrift接口的一些使用问题及相关注意事项的详解
2013/06/03 PHP
php导出CSV抽象类实例
2014/09/24 PHP
thinkPHP中配置的读取与C方法详解
2016/12/05 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
2018/04/27 PHP
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
JS实现的文字与图片定时切换效果代码
2015/10/06 Javascript
jQuery简单获取键盘事件的方法
2016/01/22 Javascript
jQuery实现的淡入淡出与滑入滑出效果示例
2018/04/18 jQuery
JS内部事件机制之单线程原理
2018/07/02 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
[22:59]VGJ.S vs VG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
pandas中read_csv的缺失值处理方式
2019/12/19 Python
python多线程使用方法实例详解
2019/12/30 Python
python下载卫星云图合成gif的方法示例
2020/02/18 Python
pyCharm 设置调试输出窗口中文显示方式(字符码转换)
2020/06/09 Python
python是怎么被发明的
2020/06/15 Python
TensorFlow-gpu和opencv安装详细教程
2020/06/30 Python
详解python中GPU版本的opencv常用方法介绍
2020/07/24 Python
python 获取字典键值对的实现
2020/11/12 Python
幼师自我鉴定
2014/02/01 职场文书
公益广告宣传方案
2014/02/28 职场文书
舞蹈毕业生的自我评价
2014/03/05 职场文书
小学生新年寄语
2014/04/03 职场文书
小学生演讲稿大全
2014/04/25 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
送达通知书
2015/04/25 职场文书
大学校园招聘会感想
2015/08/10 职场文书
《草虫的村落》教学反思
2016/02/20 职场文书
Nginx配置https原理及实现过程详解
2021/03/31 Servers
Pytorch 如何实现LSTM时间序列预测
2021/05/17 Python
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL