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 minixml详解
Jul 19 PHP
php数组应用之比较两个时间的相减排序
Aug 18 PHP
php xml文件操作实现代码(二)
Mar 20 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
Jun 29 PHP
PHP四大安全策略
Mar 12 PHP
smarty内置函数foreach用法实例
Jan 22 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
Jan 05 PHP
CI框架实现cookie登陆的方法详解
May 18 PHP
PHP串行化与反串行化实例分析
Dec 27 PHP
php中bind_param()函数用法分析
Mar 28 PHP
Laravel5.5以下版本中如何自定义日志行为详解
Aug 01 PHP
PHP中Static(静态)关键字功能与用法实例分析
Apr 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
PHP 和 MySQL 基础教程(一)
2006/10/09 PHP
投票管理程序
2006/10/09 PHP
在普通HTTP上安全地传输密码
2007/07/21 PHP
域名和cookie问题(域名后缀)
2012/10/10 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
PHP实现登录搜狐广告获取广告联盟数据的方法【附demo源码】
2016/10/14 PHP
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
ExtJs设置GridPanel表格文本垂直居中示例
2013/07/15 Javascript
js 页面元素的几个用法总结
2013/11/18 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
2013/12/08 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
jQuery动画_动力节点节点Java学院整理
2017/07/04 jQuery
vue使用axios时关于this的指向问题详解
2017/12/22 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
Vue.js中该如何自己维护路由跳转记录
2019/05/19 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
在vue中使用Echarts利用watch做动态数据渲染操作
2020/07/20 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
js制作提示框插件
2020/12/24 Javascript
python实现网页链接提取的方法分享
2014/02/25 Python
Python fileinput模块使用介绍
2014/11/30 Python
Python matplotlib 画图窗口显示到gui或者控制台的实例
2018/05/24 Python
pytorch 改变tensor尺寸的实现
2020/01/03 Python
Bibloo荷兰:女士、男士和儿童的服装、鞋子和配饰
2019/02/25 全球购物
投标邀请书范文
2014/01/31 职场文书
项目总经理岗位职责
2014/02/14 职场文书
自荐信如何制作?
2014/02/21 职场文书
房屋出售协议书
2014/04/10 职场文书
物流管理专业自荐信
2014/06/23 职场文书
政协会议宣传标语
2014/10/09 职场文书
美容院合作经营协议书
2014/10/10 职场文书
干部个人考察材料
2014/12/24 职场文书
学校隐患排查制度
2015/08/05 职场文书
《正比例》教学反思
2016/02/23 职场文书