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之第五天
Oct 09 PHP
文章推荐系统(三)
Oct 09 PHP
php getsiteurl()函数
Sep 05 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
PHP在线生成二维码(google api)的实现代码详解
Jun 04 PHP
ThinkPHP3.1新特性之字段合法性检测详解
Jun 19 PHP
win7 64位系统 配置php最新版开发环境(php+Apache+mysql)
Aug 15 PHP
PHP集成百度Ueditor 1.4.3
Nov 23 PHP
php获取图片信息的方法详解
Dec 10 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 PHP
PHP连接MySQL数据库并以json格式输出
May 21 PHP
php传值和传引用的区别点总结
Nov 19 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
域名查询代码公布
2006/10/09 PHP
php创建图像具体步骤
2017/03/13 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
2017/09/17 PHP
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
js编码之encodeURIComponent使用介绍(asp,php)
2012/03/01 Javascript
jquery+easeing实现仿flash的载入动画
2015/03/10 Javascript
js通过iframe加载外部网页的实现代码
2015/04/05 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
微信小程序教程系列之设置标题栏和导航栏(7)
2020/06/29 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
使用原生js写ajax实例(推荐)
2017/05/31 Javascript
jquery获取链接地址和跳转详解(推荐)
2017/08/15 jQuery
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
2021/01/27 Javascript
Python使用PyGreSQL操作PostgreSQL数据库教程
2014/07/30 Python
Python深入学习之装饰器
2014/08/31 Python
python DataFrame获取行数、列数、索引及第几行第几列的值方法
2018/04/08 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
使用django-guardian实现django-admin的行级权限控制的方法
2018/10/30 Python
Python基于OpenCV实现人脸检测并保存
2019/07/23 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
python通过文本在一个图中画多条线的实例
2020/02/21 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
有关HTML5页面在iPhoneX适配问题
2017/11/13 HTML / CSS
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
lululemon美国官网:瑜伽服+跑步装备
2018/11/16 全球购物
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
幸福家庭事迹材料
2014/02/03 职场文书
中文教师求职信
2014/02/22 职场文书