需求
项目中遇到了二维关联数组转字符串的问题,查阅相关资料,写了如下程序,并且能过滤重复的关键字。
举例,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;
- }
效果
后记