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 相关文章推荐
提问的智慧
Oct 09 PHP
用IE远程创建Mysql数据库的简易程序
Oct 09 PHP
十天学会php之第二天
Oct 09 PHP
PHP生成便于打印的网页
Oct 09 PHP
用Zend Encode编写开发PHP程序
Feb 21 PHP
基于php实现长连接的方法与注意事项的问题
May 10 PHP
smarty获得当前url的方法分享
Feb 14 PHP
Linux php 中文乱码的快速解决方法
May 13 PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 PHP
php和asp语法上的区别总结
May 12 PHP
浅谈laravel-admin的sortable和orderby使用问题
Oct 03 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 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对象类型判断
2008/08/27 PHP
php读取目录所有文件信息dir示例
2014/03/18 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(二)
2014/06/23 PHP
PHP、Java des加密解密实例
2015/04/27 PHP
解决php的“It is not safe to rely on the system’s timezone settings”问题
2015/10/08 PHP
php5.2的curl-bug 服务器被php进程卡死问题排查
2016/09/19 PHP
php生成网页桌面快捷方式
2017/05/05 PHP
JQuery.closest(),parent(),parents()寻找父结点
2012/02/17 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
2013/12/29 Javascript
node.js中的favicon.ico请求问题处理
2014/12/15 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
Java与JavaScript中判断两字符串是否相等的区别
2017/03/13 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
手动用webpack搭建第一个ReactApp的示例
2018/04/11 Javascript
详解js的视频和音频采集
2018/08/09 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
Python实现简单状态框架的方法
2015/03/19 Python
Python利用Nagios增加微信报警通知的功能
2016/02/18 Python
python操作 hbase 数据的方法
2016/12/18 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
Python3编程实现获取阿里云ECS实例及监控的方法
2017/08/18 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
利用keras加载训练好的.H5文件,并实现预测图片
2020/01/24 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
德国机车企业:FC-Moto
2017/10/27 全球购物
The North Face北面英国官网:美国著名户外品牌
2017/12/13 全球购物
万宝龙英国官网:Montblanc手表、书写工具、皮革和珠宝
2018/10/16 全球购物
汽车专业人才自我鉴定范文
2013/12/29 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
element tree树形组件回显数据问题解决
2022/08/14 Javascript