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投票程序源码
Mar 11 PHP
PHP 全角转半角实现代码
May 16 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 PHP
Smarty的配置与高级缓存技术分享
Jun 05 PHP
利用PHP扩展vld查看PHP opcode操作步骤
Mar 04 PHP
30个php操作redis常用方法代码例子
Jul 05 PHP
php强大的时间转换函数strtotime
Feb 18 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
Yii CFileCache 获取不到值的原因分析
Feb 08 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
Oct 17 PHP
PHP标准库 (SPL)――Countable用法示例
Jun 05 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
1 Tube Radio
2021/03/02 无线电
PHP5中MVC结构学习
2006/10/09 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
解析link_mysql的php版
2013/06/30 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
PHP使用flock实现文件加锁的方法
2015/07/01 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
PHP中Socket连接及读写数据超时问题分析
2016/07/19 PHP
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
用javascript获得地址栏参数的两种方法
2006/11/08 Javascript
javascript 同时在IE和FireFox获取KeyCode的代码
2010/02/07 Javascript
基于Jquery的实现回车键Enter切换焦点
2010/09/14 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
SuperSlide标签切换、焦点图多种组合插件
2015/03/14 Javascript
javascript中call,apply,bind函数用法示例
2016/12/19 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
解决微信二次分享不显示摘要和图片的问题
2017/08/18 Javascript
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
element UI upload组件上传附件格式限制方法
2018/09/04 Javascript
js实现搜索提示框效果
2020/09/05 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
python基础教程之python消息摘要算法使用示例
2014/02/10 Python
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
python gensim使用word2vec词向量处理中文语料的方法
2019/07/05 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
2019/12/18 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
html5中为audio标签增加停止按钮动作实现方法
2013/01/04 HTML / CSS
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
学校先进集体事迹材料
2014/05/31 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
开学典礼观后感
2015/06/15 职场文书
悬崖上的金鱼姬观后感
2015/06/15 职场文书
Python实现列表拼接和去重的三种方式
2021/07/02 Python
MySQL中连接查询和子查询的问题
2021/09/04 MySQL