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

2018-09-07 14:09

阅读:259

  本文实例讲述了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程序设计有所帮助。


评论


亲,登录后才可以留言!