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)
functionarrToStr($array)
{
//定义存储所有字符串的数组
static$r_arr=array();
if(is_array($array)){
foreach($arrayas$key=>$value){
if(is_array($value)){
//递归遍历
arrToStr($value);
}else{
$r_arr[]=$value;
}
}
}elseif(is_string($array)){
$r_arr[]=$array;
}
//数组去重
$r_arr=array_unique($r_arr);
$string=implode(",",$r_arr);
return$string;
}
完整示例代码:
"wangzhengyi",
"student"=>array(
"chenshan",
"xiaolingang"
),
"unkmow"=>"chaikun",
"teacher"=>array(
"huangwei",
"fanwenqing"
)
);
functionarrToStr($array)
{
//定义存储所有字符串的数组
static$r_arr=array();
if(is_array($array)){
foreach($arrayas$key=>$value){
if(is_array($value)){
//递归遍历
arrToStr($value);
}else{
$r_arr[]=$value;
}
}
}elseif(is_string($array)){
$r_arr[]=$array;
}
//数组去重
$r_arr=array_unique($r_arr);
$string=implode(",",$r_arr);
return$string;
}
echoarrToStr($name);
?>
运行结果:
wangzhengyi,chenshan,xiaolingang,chaikun,huangwei,fanwenqing
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《php字符串(string)用法总结》、《php常用函数与技巧总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。