真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

php數(shù)組轉(zhuǎn)xml使用的函數(shù)是什么

這篇文章主要介紹了php數(shù)組轉(zhuǎn)xml使用的函數(shù)是什么,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

目前成都創(chuàng)新互聯(lián)公司已為超過(guò)千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站托管運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、青田網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

php數(shù)組轉(zhuǎn)xml的函數(shù)是“arr2xml”,其使用方法:首先創(chuàng)建一個(gè)php示例文件;然后定義一個(gè)“arr2xml”方法;接著通過(guò)foreach語(yǔ)句以及“preg_replace”等函數(shù)將數(shù)組轉(zhuǎn)為xml即可。

php數(shù)組轉(zhuǎn)xml使用的函數(shù)是什么

PHP中獎(jiǎng)數(shù)組轉(zhuǎn)為xml的需求是常見(jiàn)的,而且實(shí)現(xiàn)方法也有很多種,百度找了一下各種實(shí)現(xiàn)方法,但是基本是借組一些組件啥的。我就自己寫了一個(gè)字符串拼組的方法,支持多維數(shù)組。僅供參考,不足之處敬請(qǐng)不吝賜教!

/**
*   將數(shù)組轉(zhuǎn)換為xml
*    @param array $data    要轉(zhuǎn)換的數(shù)組
*   @param bool $root     是否要根節(jié)點(diǎn)
*   @return string         xml字符串
*    @author Dragondean
*    @url    http://www.cnblogs.com/dragondean*/function arr2xml($data, $root = true){    $str="";    if($root)$str .= "";    foreach($data as $key => $val){        if(is_array($val)){            $child = arr2xml($val, false);            $str .= "<$key>$child";
        }else{            $str.= "<$key>";
        }
    }    if($root)$str .= "";    return $str;
}

上面是實(shí)現(xiàn)的方法,第一個(gè)參數(shù)是你要轉(zhuǎn)換的數(shù)組,第二個(gè)可選參數(shù)設(shè)定是否需要加根節(jié)點(diǎn),默認(rèn)是需要的。

測(cè)試代碼:

$arr=array('a'=>'aaa','b'=>array('c'=>'1234' , 'd' => "asdfasdf"));echo arr2xml($arr);

代碼執(zhí)行后的結(jié)果為:

---------------------- ----------

更新:

在使用過(guò)程中發(fā)現(xiàn)下面格式的數(shù)組轉(zhuǎn)換會(huì)出現(xiàn)問(wèn)題:

array(    'item' => array(        array(            'title' => 'qwe',
            'description' => 'rtrt',
            'picurl' => 'sdfsd',
            'url' => 'ghjghj'
        ),        array(            'title' => 'jyutyu',
            'description' => 'werwe',
            'picurl' => 'xcvxv',
            'url' => 'ghjgh'
        )
    )
);

轉(zhuǎn)換出來(lái)的結(jié)果是:


    
        <0>
            
                <![CDATA[qwe]]>
            
            
                
            
            
                
            
            
                
            
        
        <1>
            
                <![CDATA[jyutyu]]>
            
            
                
            
            
                
            
            
                
            
        
    

通常情況下,上面轉(zhuǎn)換出來(lái)的xml整<0><1>那層節(jié)點(diǎn)我們是不要的。但是在php中下標(biāo)有不能同名,不能有多個(gè)item。怎么辦呢?

我想了一個(gè)辦法就是給item下下標(biāo),比如item[0],item[1],在轉(zhuǎn)換過(guò)程中在去掉[]形式的下標(biāo),實(shí)現(xiàn)多個(gè)item節(jié)點(diǎn)并排。

函數(shù)修改后如下:

function arr2xml($data, $root = true){    $str="";    if($root)$str .= "";    foreach($data as $key => $val){        //去掉key中的下標(biāo)[]
        $key = preg_replace('/\[\d*\]/', '', $key);        if(is_array($val)){            $child = arr2xml($val, false);            $str .= "<$key>$child";
        }else{            $str.= "<$key>";
        }
    }    if($root)$str .= "";    return $str;
}

那么上面需要轉(zhuǎn)換的數(shù)組也需要跟著變動(dòng)一下:

$arr1 =array(    'item[0]' => array(            'title' => 'qwe',
            'description' => 'rtrt',
            'picurl' => 'sdfsd',
            'url' => 'ghjghj'
        ),
    'item[1]' => array(            'title' => 'jyutyu',
            'description' => 'werwe',
            'picurl' => 'xcvxv',
            'url' => 'ghjgh'
        )
);

轉(zhuǎn)換后的xml如下:


    
        
            <![CDATA[qwe]]>
        
        
            
        
        
            
        
        
            
        
    
    
        
            <![CDATA[jyutyu]]>
        
        
            
        
        
            
        
        
            
        
    

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享php數(shù)組轉(zhuǎn)xml使用的函數(shù)是什么內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問(wèn)題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來(lái)學(xué)習(xí)!


當(dāng)前題目:php數(shù)組轉(zhuǎn)xml使用的函數(shù)是什么
網(wǎng)頁(yè)地址:http://weahome.cn/article/gheddo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部