首頁  >  文章  >  後端開發  >  php怎麼讀取遠端xml檔並轉換成數組

php怎麼讀取遠端xml檔並轉換成數組

藏色散人
藏色散人原創
2021-10-27 09:33:481833瀏覽

php讀取遠端xml檔案並轉換成陣列的方法:1、建立一個PHP範例檔案;2、透過「simplexml_load_file」取得xml物件;3、循環把資料物件轉換成陣列即可。

php怎麼讀取遠端xml檔並轉換成數組

本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦

php怎麼讀取遠端xml檔並轉換為數組?

PHP讀取遠端xml檔案並轉換為陣列:

    遠端檔案如下:http://api.wycq.521g.com/game/ mrt_consume/xyg ,打開是一個xml文件,內容是一個遊戲的充值排名和不同名次獎勵信息,需要取出前十名的信息和獎勵信息用於展示,

    實現代碼如下:

public function index()
    {
        $url = "http://api.wycq.521g.com/game/mrt_consume/xyg";
        $contentxml = simplexml_load_file($url);  //取得xml对象,需要转化为数组
        $ranks = array();
        for($i=0;$i<=9;$i++)
        {
            $temp_player = (array)$contentxml->ranking->player[$i];  //循环把条排名数据对象转化为数组
            $ranks[$i+1] = $temp_player['@attributes'];    //取出数组中相应的属性值
        }
        $awards = array();
        for($i=0;$i<=4;$i++)
        {
            $awards[$i] = (array)$contentxml->awards->award[$i];  //循环把奖励数据对象转化为数组
        }
        $res_awards = array();
        foreach($awards as $k=>$v)
        {
            $res_awards[$k]["caption"] = $v['@attributes']["caption"];  //进一步处理把数组处理干净
            $res_awards[$k]["items"] = array();
            foreach((array)$v["items"] as $m =>$n)
            {
                $res_awards[$k]["items"] = $n;
            }
        }
        for($j=0;$j<=4;$j++)
        {
            foreach($res_awards[$j]["items"] as $p=>$q)
            {
                $temp_q = (array)$q;
                $res_awards[$j]["items"][$p] = $temp_q['@attributes'];
            }
        }
        $this->_data["ranks"] = $ranks;
        $this->_data["res_awards"]= $res_awards;
        $this->load->view('hd/wymingrentang/wymingrentang', $this->_data);  //指定view页输出数据
    }

推薦學習:《PHP影片教學

以上是php怎麼讀取遠端xml檔並轉換成數組的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn