我有以下目的:PHP對象,如何訪問一個SimpleXMLElement
object(SimpleXMLElement)#337 (1) { [0]=> string(4) "1001" }
但是我似乎無法使用來訪問它[0]或甚至不使用的foreach($值$ OBJ => $ objvalue)
我在做什麼錯?
我有以下目的:PHP對象,如何訪問一個SimpleXMLElement
object(SimpleXMLElement)#337 (1) { [0]=> string(4) "1001" }
但是我似乎無法使用來訪問它[0]或甚至不使用的foreach($值$ OBJ => $ objvalue)
我在做什麼錯?
SimpleXMLElement implements Traversable,這意味着你可以使用foreach
來循環它。
嘗試使用
$objectarray = get_object_vars(object(SimpleXMLElement));
通過觀察到的SimpleXMLElement manual我發現這個例子(示例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;
}
嘗試將它轉換爲數組to string:'(string)$ element' – bububaba 2012-07-12 08:40:00
@bububaba,thx!工作 – Alon 2012-07-12 08:46:31