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中的串行化变量和序列化对象
Sep 05 PHP
PHP调用三种数据库的方法(2)
Oct 09 PHP
将数组写入txt文件 var_export
Apr 21 PHP
php 数学运算验证码实现代码
Oct 11 PHP
PHP 最大运行时间 max_execution_time修改方法
Mar 08 PHP
PHP 引用是个坏习惯
Mar 12 PHP
PHP运行出现Notice : Use of undefined constant 的完美解决方案分享
Mar 05 PHP
PHP多线程批量采集下载美女图片的实现代码(续)
Jun 03 PHP
php从文件夹随机读取文件的方法
Jun 01 PHP
PHP中异常处理的一些方法整理
Jul 03 PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 PHP
浅谈php://filter的妙用
Mar 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
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
PHP基于phpqrcode类生成二维码的方法详解
2018/03/14 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
DD_belatedPNG,IE6下PNG透明解决方案(国外)
2010/12/06 Javascript
Extjs表单常见验证小结
2014/03/07 Javascript
javascript类型转换示例
2014/04/29 Javascript
60行js代码实现俄罗斯方块
2015/03/31 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
2015/06/24 Javascript
jQuery同步提交示例代码
2015/12/12 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
jQuery实现的左右移动焦点图效果
2016/01/14 Javascript
javascript中this关键字详解
2016/12/12 Javascript
一个例子轻松学会Vue.js
2017/01/02 Javascript
JavaScript实现审核流程状态的动态显示进度条
2017/03/15 Javascript
JS中offset和匀速动画详解
2018/02/06 Javascript
package.json各个属性说明详解
2020/03/11 Javascript
通过实例解析JavaScript for in及for of区别
2020/06/15 Javascript
Python基于回溯法子集树模板解决最佳作业调度问题示例
2017/09/08 Python
Python使用遗传算法解决最大流问题
2018/01/29 Python
python实现AES加密和解密
2019/03/27 Python
python的一些加密方法及python 加密模块
2019/07/11 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Django实现CAS+OAuth2的方法示例
2019/10/30 Python
PyCharm汉化安装及永久激活详细教程(靠谱)
2020/01/16 Python
用canvas画心电图的示例代码
2018/09/10 HTML / CSS
高档奢华时装在线目的地:FORWARD by elyse walker
2017/10/16 全球购物
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
公司成立感言
2014/01/11 职场文书
新党章心得体会
2014/09/04 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
高三英语复习计划
2015/01/19 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书
服务器间如何实现文件共享
2022/05/20 Servers
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript