本文实例讲述了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程序设计有所帮助。
PHP定义字符串的四种方式详解这篇文章主要介绍了PHP定义字符串的四种方式,非常不错,具有参考借鉴价值,需要的朋友可以参考下
php 替换文章中的图片路径,下载图片到本地服务器的方法下面小编就为大家分享一篇php 替换文章中的图片路径,下载图片到本地服务器的方法,具有很好的参考价值,希望对大
PHP给源代码加密的几种方法汇总(推荐)下面小编就为大家分享一篇PHP给源代码加密的几种方法汇总(推荐),具有很好的参考价值,希望对大家有所帮助。一起
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法下面小编就为大家分享一篇php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法,具有很好的参考价值,希
浅析PHP类的反射来实现依赖注入过程这篇文章主要介绍了PHP类的反射来实现依赖注入过程以及相关知识点分享,对此有兴趣的朋友跟着小编学习下吧。
php删除一个路径下的所有文件夹和文件的方法php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达