將SimpleXML 物件轉換為陣列:一種更有效率、更穩健的方法
在資料操作領域,將SimpleXML 物件轉換為數組可能是一項常見任務。雖然所提供的問題中概述的使用 json_decode() 函數的方法可能是有效的,但它可能不是最有效或最穩健的方法。這是一個替代解決方案:
PHP 手冊提供了一個名為 xml2array 的函數,專門用於此轉換過程。此函數的工作原理是遞歸地迭代 SimpleXML 物件並將每個節點轉換為陣列元素。以下是一個範例:
<code class="php">function xml2array($xmlObject, $out = array()) { foreach ((array)$xmlObject as $index => $node) $out[$index] = (is_object($node)) ? xml2array($node) : $node; return $out; }</code>
此函數有效地將 SimpleXML 物件轉換為關聯數組,其中鍵是節點名稱,值是表示子節點的字串或巢狀數組。
值得注意的是,雖然將 XML 轉換為數組可以更輕鬆地操作數據,但它的代價是丟失附加到 XML 節點的任何屬性。因此,並非總是可以從轉換後的陣列重新建立原始 XML 結構。
以上是如何在 PHP 中有效率地將 SimpleXML 物件轉換為陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!