2014-10-18 43 views
2

我將xml字符串轉換爲php中的數組。但我只在一個書籍數組和嵌套數組中生成書店數組,索引爲0,1,2。我需要將同一個名字(書)陣列放入書店。如何生成這種類型的數組。 XML字符串是....XML字符串轉換爲數組在php中

$string = "<?xml version="1.0"?> 
<bookstore> 
    <book> 
     <name>PHP</name> 
     <author>W3School</author> 
     <price>200</price> 
    </book> 
    <book> 
     <name>C#.Net</name> 
     <author>Microsoft</author> 
     <price>250</price> 
    </book> 
    <book> 
     <name>Asp.Net</name> 
     <author>Microsoft</author> 
     <price>350</price> 
    </book> 
</bookstore>"; 


$value = simplexml_load_string($string); 

print_r($value); 

在上面的代碼中,i的索引0,1,2和運行輸出顯示在書陣列。

SimpleXMLElement Object ( 
    [book] => Array ( 
        [0] => SimpleXMLElement Object ( 
          [name] => PHP 
          [author] => W3School 
          [price] => 200) 
        [1] => SimpleXMLElement Object ( 
          [name] => C#.Net 
          [author] => Microsoft 
          [price] => 250) 
        [2] => SimpleXMLElement Object ( 
          [name] => Asp.Net 
          [author] => Microsoft 
          [price] => 350) 
        )) 

但我需要一個陣列,其名稱是書店並與多個陣列書嵌套陣列取代的[0],[1],[2]。

回答

0

到SimpleXMLObject轉換爲陣列,可以使用

$值= json_decode(json_encode($值),TRUE);

關於需要嵌套在bookstore中,你簡單的需要手動完成。

return ['bookstore'=> $ value];

經過一段時間,你可能有其他答案?