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 相关文章推荐
PHP5 操作MySQL数据库基础代码
Sep 29 PHP
Apache 配置详解(最好的APACHE配置教程)
Jul 04 PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 PHP
PHP中uploaded_files函数使用方法详解
Mar 09 PHP
PHP创建桌面快捷方式的实例代码
Feb 17 PHP
jQuery Mobile + PHP实现文件上传
Dec 12 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 PHP
Laravel ORM 数据model操作教程
Oct 21 PHP
PHP数组基本用法与知识点总结
Jun 02 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模块 Memcached功能多于Memcache
2011/06/14 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
探讨:如何通过stats命令分析Memcached的内部状态
2013/06/14 PHP
php获取客户端电脑屏幕参数的方法
2015/01/09 PHP
JS 判断代码全收集
2009/04/28 Javascript
Javascript 日期对象Date扩展方法
2009/05/30 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
JavaScript获取当前cpu使用率的方法
2015/12/15 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
javascript数字验证的实例代码(推荐)
2016/08/20 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
jQuery中DOM节点的删除方法总结(超全面)
2017/01/22 Javascript
Layui table 组件的使用之初始化加载数据、数据刷新表格、传参数
2017/09/11 Javascript
微信小程序的日期选择器的实例详解
2017/09/29 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
浅谈vue父子组件怎么传值
2018/07/21 Javascript
微信小程序局部刷新触发整页刷新效果的实现代码
2018/11/21 Javascript
jQuery实现数字自动增加或者减少的动画效果示例
2018/12/11 jQuery
Python中删除文件的程序代码
2011/03/13 Python
Python字符串格式化
2015/06/15 Python
用python写一个windows下的定时关机脚本(推荐)
2017/03/21 Python
详解Python 实现元胞自动机中的生命游戏(Game of life)
2018/01/27 Python
python 实现创建文件夹和创建日志文件的方法
2019/07/07 Python
Python实现生成密码字典的方法示例
2019/09/02 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
墨西哥网上超市:Superama
2018/07/10 全球购物
成功的餐厅经营创业计划书
2014/01/15 职场文书
预备党员政审材料
2014/02/04 职场文书
厨房领班竞聘演讲稿
2014/04/23 职场文书
大二学习计划书范文
2014/04/27 职场文书
多媒体教室标语
2014/06/26 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
计算机实训报告总结
2014/11/05 职场文书
2014年英语教研组工作总结
2014/12/06 职场文书
优秀员工事迹材料
2014/12/20 职场文书