php实现将二维关联数组转换成字符串的方法详解


Posted in PHP onJuly 31, 2017

本文实例讲述了php实现将二维关联数组转换成字符串的方法。分享给大家供大家参考,具体如下:

需求

项目中遇到了二维关联数组转字符串的问题,查阅相关资料,写了如下程序,并且能过滤重复的关键字。

举例,php的二维数组如下:

$name = array(
    "self" => "wangzhengyi",
    "student" => array(
        "chenshan",
        "xiaolingang"
    ),
    "unkmow" => "chaikun",
    "teacher" => array(
        "huangwei",
        "fanwenqing"
    )
);

最后要获得的string格式是:

wangzhengyi,chenshan,xiaolingang,chaikun,huangwei,fanwenqing

思路

方法

利用static关键字和递归的思想去遍历数组

自定义函数代码(php)

function arrToStr ($array)
{
  // 定义存储所有字符串的数组
  static $r_arr = array();
  if (is_array($array)) {
    foreach ($array as $key => $value) {
      if (is_array($value)) {
        // 递归遍历
        arrToStr($value);
      } else {
        $r_arr[] = $value;
      }
    }
  } else if (is_string($array)) {
      $r_arr[] = $array;
  }
  //数组去重
  $r_arr = array_unique($r_arr);
  $string = implode(",", $r_arr);
  return $string;
}

完整示例代码:

<?php
$name = array(
    "self" => "wangzhengyi",
    "student" => array(
        "chenshan",
        "xiaolingang"
    ),
    "unkmow" => "chaikun",
    "teacher" => array(
        "huangwei",
        "fanwenqing"
    )
);
function arrToStr ($array)
{
  // 定义存储所有字符串的数组
  static $r_arr = array();
  if (is_array($array)) {
    foreach ($array as $key => $value) {
      if (is_array($value)) {
        // 递归遍历
        arrToStr($value);
      } else {
        $r_arr[] = $value;
      }
    }
  } else if (is_string($array)) {
      $r_arr[] = $array;
  }
  //数组去重
  $r_arr = array_unique($r_arr);
  $string = implode(",", $r_arr);
  return $string;
}
echo arrToStr($name);
?>

运行结果:

wangzhengyi,chenshan,xiaolingang,chaikun,huangwei,fanwenqing

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
php curl post 时出现的问题解决
Jan 30 PHP
php中return的用法实例分析
Feb 28 PHP
php查看网页源代码的方法
Mar 13 PHP
yii权限控制的方法(三种方法)
Dec 28 PHP
crontab无法执行php的解决方法
Jan 25 PHP
PHP/HTML混写的四种方式总结
Feb 27 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
Aug 10 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
Nov 12 PHP
PHP7新功能总结
Apr 14 PHP
实现laravel 插入操作日志到数据库的方法
Oct 11 PHP
php 比较获取两个数组相同和不同元素的例子(交集和差集)
Oct 18 PHP
php操作redis数据库常见方法实例总结
Feb 20 PHP
微信接口生成带参数的二维码
Jul 31 #PHP
PHP判断一个数组是另一个数组子集的方法详解
Jul 31 #PHP
PHP中TP5 上传文件的实例详解
Jul 31 #PHP
PHP 中TP5 Request 请求对象的实例详解
Jul 31 #PHP
PHP将数据导出Excel表中的实例(投机型)
Jul 31 #PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 #PHP
PHP用PDO如何封装简单易用的DB类详解
Jul 30 #PHP
You might like
PHP 读取和修改大文件的某行内容的代码
2009/10/30 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
锋利的jQuery 要点归纳(一) jQuery选择器
2010/03/21 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
Javascript遍历Html Table示例(包括内容和属性值)
2014/07/08 Javascript
javascript定时器完整实例
2015/02/10 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
jQuery动态生成表格及右键菜单功能示例
2017/01/13 Javascript
基于daterangepicker日历插件使用参数注意的问题
2017/08/10 Javascript
微信小程序ibeacon三点定位详解
2018/10/31 Javascript
Javascript地址引用代码实例解析
2020/02/25 Javascript
Python中使用gzip模块压缩文件的简单教程
2015/04/08 Python
详解Python中的Cookie模块使用
2015/07/06 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
程序员写Python时的5个坏习惯,你有几条?
2018/11/26 Python
python实现动态数组的示例代码
2019/07/15 Python
解决keras加入lambda层时shape的问题
2020/06/11 Python
python绘制汉诺塔
2021/03/01 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
加拿大最大的相机店:Henry’s
2017/05/17 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
如何强制垃圾回收
2015/10/06 面试题
人事主管的岗位职责
2013/11/16 职场文书
饮料业务员岗位职责
2013/12/15 职场文书
寄语十八大感言
2014/02/07 职场文书
银行简历自我评价
2014/02/11 职场文书
教师党员承诺书
2014/03/25 职场文书
关于保护环境的标语
2014/06/09 职场文书
同意迁入证明模板
2014/10/26 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
安全教育培训制度
2015/08/06 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
spring IOC容器的Bean管理XML自动装配过程
2022/05/30 Java/Android