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来检测proxy
Oct 09 PHP
wiki-shan写的php在线加密的解密程序
Sep 07 PHP
对squid中refresh_pattern的一些理解和建议
Apr 17 PHP
php google或baidu分页代码
Nov 26 PHP
dedecms系统的广告设置代码 基础版本
Apr 09 PHP
php生成略缩图代码
Jul 16 PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 PHP
PHP实现无限分类的实现方法
Nov 14 PHP
PHP未登录自动跳转到登录页面
Dec 21 PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 PHP
Yii2处理密码加密及验证的方法
May 12 PHP
php中配置文件保存修改操作 如config.php文件的读取修改等操作
May 12 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自定义的格式化时间示例代码
2013/12/05 PHP
ThinkPHP连接数据库的方式汇总
2014/12/05 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
PHP和MySql中32位和64位的整形范围是多少
2016/02/18 PHP
PHP编译configure时常见错误的总结
2017/08/17 PHP
javascript 节点排序 2
2011/01/31 Javascript
Extjs Gird 支持中文拼音排序实现代码
2013/04/15 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
setTimeout()递归调用不加引号出错的解决方法
2014/09/05 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
jQuery实现点击按钮弹出可关闭层的浮动层插件
2015/09/19 Javascript
底部悬浮通栏可以关闭广告位的实现方法
2016/06/01 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
手机注册发送验证码倒计时的简单实例
2017/11/15 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
跟老齐学Python之私有函数和专有方法
2014/10/24 Python
Python中的条件判断语句基础学习教程
2016/02/07 Python
利用Python抓取行政区划码的方法
2016/11/28 Python
在pandas多重索引multiIndex中选定指定索引的行方法
2018/11/16 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
python调用webservice接口的实现
2019/07/12 Python
pycharm-professional-2020.1下载与激活的教程
2020/09/21 Python
利用Python过滤相似文本的简单方法示例
2021/02/03 Python
使用CSS3制作倾斜导航条和毛玻璃效果
2017/09/12 HTML / CSS
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
Html5调用手机摄像头并实现人脸识别的实现
2018/12/21 HTML / CSS
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
澳大利亚免息网上购物:Shop Zero
2016/09/17 全球购物
六查六看自查材料
2014/02/17 职场文书
2014年劳动部工作总结
2014/12/11 职场文书
期末复习计划
2015/01/19 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
python 模拟在天空中放风筝的示例代码
2021/04/21 Python
mysql 数据插入优化方法之concurrent_insert
2021/07/01 MySQL
Redis三种集群模式详解
2021/10/05 Redis