用PHP访问嵌套数组中的数据

用PHP访问嵌套数组中的数据,php,arrays,xml,Php,Arrays,Xml,我正在从一个web服务读取一个具有以下结构的xml文件 <ArrayOfStoreDetails xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/"> <StoreDetails> <

我正在从一个web服务读取一个具有以下结构的xml文件

<ArrayOfStoreDetails xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/">
    <StoreDetails>
        <ItemId>138253</ItemId>
        <ItemPrice1>9.68</ItemPrice1>
    </StoreDetails>
    <StoreDetails>
        <ItemId>159733</ItemId>
        <ItemPrice1>35.87</ItemPrice1>
    </StoreDetails>
</ArrayOfStoreDetails>
相反,我的输出是

0 => Array
1 => Array
我是一个真正的php初学者,不能真正理解这一点。。。
有什么帮助吗?

$productsArray['StoreDetails']
是一个二维数组

$value
是具有
ItemID
ItemPrice1
元素的关联数组。你需要把这些打印出来

foreach ($productsarray['StoreDetails'] as $value) {
  echo $value['ItemID'] . " => " . $value['ItemPrice1'] . "<br>";
}
foreach($productsarray['StoreDetails']作为$value){
echo$value['ItemID']。“=>”$value['ItemPrice1']。“
”; }
有什么理由不直接处理XML,因为它同样简单(步骤更少)。您需要循环使用
$value
变量。
0 => Array
1 => Array
foreach ($productsarray['StoreDetails'] as $value) {
  echo $value['ItemID'] . " => " . $value['ItemPrice1'] . "<br>";
}