yanchuen 发表于 2017-4-9 06:22:42

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;
}




效果











后记

没想到这篇文章看得人还很多,之前没写清楚需求,这次整理一下,一年多了自己也进步了很多,会渐渐完善自己的博客,欢迎关注,保证都是原创干货!
页: [1]
查看完整版本: php将二维关联数组转换成字符串