簡體   English   中英

php對象,如何訪問simplexmlelement

[英]php objects, how to access a simplexmlelement

我有以下對象:

object(SimpleXMLElement)#337 (1) { [0]=> string(4) "1001" }

但是我似乎無法使用[0]來訪問它,甚至無法使用foreach($ value as $ obj => $ objvalue)

我究竟做錯了什么?

SimpleXMLElement實現Traversable ,這意味着您可以使用foreach進行循環。

嘗試使用

$objectarray = get_object_vars(object(SimpleXMLElement));

通過查看SimpleXMLElement 手冊,我找到了這個示例(示例XML文件位於鏈接頁面的頂部):

$movies = new SimpleXMLElement($xmlstr);

/* For each <character> node, we echo a separate <name>. */
foreach ($movies->movie->characters->character as $character) {
   echo $character->name, ' played by ', $character->actor, PHP_EOL;
}

我發現此函數可以將XML對象轉換為數組,也許更容易使用?:

    function toArray($xml) { //$xml is of type SimpleXMLElement 
        $array = json_decode(json_encode($xml), TRUE);

        foreach ( array_slice($array, 0) as $key => $value ) {
            if ( empty($value) ) $array[$key] = NULL;
            elseif ( is_array($value) ) $array[$key] = toArray($value);
        }

        return $array;
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM