php实现将二维关联数组转换成字符串的方法详解

 更新时间:2017年07月31日 10:46:19   作者:低调小一  
这篇文章主要介绍了php实现将二维关联数组转换成字符串的方法,涉及php数组递归遍历、转换、去重、拼接等相关操作技巧,需要的朋友可以参考下

本文实例讲述了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数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

  • PHP网站备份程序代码分享

    PHP网站备份程序代码分享

    php中通过代码备份网站的实现代码,很方面大家在线备份网站,需要的朋友可以参考下。
    2011-06-06
  • php实现excel中rank函数功能的方法

    php实现excel中rank函数功能的方法

    这篇文章主要介绍了php实现excel中rank函数功能的方法,较为详细的分析了rank函数的功能及具体实现方法,需要的朋友可以参考下
    2015-01-01
  • php中获取主机名、协议及IP地址的方法

    php中获取主机名、协议及IP地址的方法

    这篇文章主要介绍了php中获取主机名、协议及IP地址的方法,其中涉及gethostbyaddr、gethostbynamel、getprotobyname、getprotobynumber等函数及$_SERVER变量的应用,需要的朋友可以参考下
    2014-11-11
  • php简单实现sql防注入的方法

    php简单实现sql防注入的方法

    这篇文章主要介绍了php简单实现sql防注入的方法,涉及addslashes函数的使用及正则过滤的相关技巧,非常简单实用,需要的朋友可以参考下
    2016-04-04
  • php实现基于openssl的加密解密方法

    php实现基于openssl的加密解密方法

    这篇文章主要介绍了php实现基于openssl的加密解密方法,结合实例形式分析了php自定义函数实现基于openssl的加密解密操作相关技巧,需要的朋友可以参考下
    2016-09-09
  • php 实现Hash表功能实例详解

    php 实现Hash表功能实例详解

    Hash算法我们多少会了解一点了,下面来介绍利用php实现Hash表的一个例子,希望这些例子可以给各位带来帮助,需要的朋友可以参考下
    2016-11-11
  • php生成酷炫的四个字符验证码

    php生成酷炫的四个字符验证码

    可以生成随机颜色、干扰线条元素、干扰点元素的php验证码,这篇文章主要介绍了php生成酷炫的四个字符验证码的编写方法,感兴趣的小伙伴们可以参考一下
    2016-04-04
  • 使用HMAC-SHA1签名方法详解

    使用HMAC-SHA1签名方法详解

    本篇文章是对使用HMAC-SHA1的签名方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP的autoload机制的实现解析

    PHP的autoload机制的实现解析

    在使用PHP的OO模式开发系统时,通常大家习惯上将每个类的实现都存放在一个单独的文件里,这样会很容易实现对类进行复用,同时将来维护时也很便利
    2012-09-09
  • 深入理解php底层之php生命周期

    深入理解php底层之php生命周期

    这篇文章主要介绍了深入理解php底层之php生命周期,对php底层感兴趣的同学,可以参考一下
    2021-04-04

最新评论