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

效果




后记

没想到这篇文章看得人还很多,之前没写清楚需求,这次整理一下,一年多了自己也进步了很多,会渐渐完善自己的博客,欢迎关注,保证都是原创干货!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值