php教程

超轻量级php框架startmvc

php实现将二维关联数组转换成字符串的方法详解

更新时间:2020-03-22 15:34:25 作者:startmvc
本文实例讲述了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)


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 二维 关联数组 转换 字符串