云迈博客

您现在的位置是:首页 > 灌水专栏 > 正文

灌水专栏

PHP 数组转xml多个key值相同处理方式

刘琦2022-03-31灌水专栏245
php数组key值相同会覆盖之前的数据解决方式publicfunctiondemo(){$data=["date"=˃date("Y

php数组key值相同会覆盖之前的数据

解决方式

    public function demo(){
        $data = [
            "date"=>date("Y-m-d"),
            "name"=>"测试",
        ];
        for ($i = 0;$i<2;$i++){
            $orderItem["orderItem[$i]"] =[
                'startDate' => date("Y-m-d H:i:s"),
                'endStart' => date("Y-m-d H:i:s"),
            ];
        }
        $data = array_merge($data,$orderItem);
        $result = $this->arr2xml($data);
        var_dump($result);
    }
    public function arr2xml($data, $root = true){
        $str="";
        if($root)$str .= "<request><head></head><body>";
        foreach($data as $key => $val){
            //去掉key中的下标[]
            $key = preg_replace('/\[\d*\]/', '', $key);
            if(is_array($val)){
                $child = $this->arr2xml($val, false);
                $str .= "<$key>$child</$key>";
            }else{
                $str.= "<$key>$val</$key>";
            }
        }
        if($root)$str .= "</body></request>";
        return $str;
    }

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~