欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php将二维关联数组转换成字符串

shiping1 的头像

需求

项目中遇到了二维关联数组转字符串的问题,查阅相关资料,写了如下程序,并且能过滤重复的关键字。

举例,php的二维数组如下:

 

  1. $name = array(  
  2.         "self" => "wangzhengyi",  
  3.         "student" => array(  
  4.                 "chenshan",  
  5.                 "xiaolingang"  
  6.         ),  
  7.         "unkmow" => "chaikun",  
  8.         "teacher" => array(  
  9.                 "huangwei",  
  10.                 "fanwenqing"  
  11.         )  
  12. );  

最后要获得的string格式是:

 

 

  1. wangzhengyi,chenshan,xiaolingang,chaikun,huangwei,fanwenqing  


 

思路

 

方法

利用static关键字和递归的思想去遍历数组
 

代码(php)

  1. function arrToStr ($array)  
  2. {  
  3.     // 定义存储所有字符串的数组  
  4.     static $r_arr = array();  
  5.       
  6.     if (is_array($array)) {  
  7.         foreach ($array as $key => $value) {  
  8.             if (is_array($value)) {  
  9.                 // 递归遍历  
  10.                 arrToStr($value);  
  11.             } else {  
  12.                 $r_arr[] = $value;  
  13.             }  
  14.         }  
  15.     } else if (is_string($array)) {  
  16.             $r_arr[] = $array;  
  17.     }  
  18.           
  19.     //数组去重  
  20.     $r_arr = array_unique($r_arr);  
  21.     $string = implode(","$r_arr);  
  22.       
  23.     return $string;  
  24. }  

效果

 
 

后记

没想到这篇文章看得人还很多,之前没写清楚需求,这次整理一下,一年多了自己也进步了很多,会渐渐完善自己的博客,欢迎关注,保证都是原创干货!
来自  http://blog.csdn.net/wzy_1988/article/details/7168487
普通分类: