【发布时间】:2014-04-28 04:42:11
【问题描述】:
$XMLproducts = simplexml_load_file("products.xml");
使用 simplexml_load_file 函数,我正在创建链接的关联数组,这些链接在下面的 XML 文件中提供计算机的硬盘空间。
foreach($XMLproducts->product as $Product) {
$hard_drive[$Product->harddrive] = "<a href='searchResults.php?Keyword=".$keyword."&Harddrive=".$Product->harddrive."'>".$Product->harddrive . "</a>";
}
对于每个循环,我需要在 if 语句中使用硬盘空间的实际数值(IE 200、100 等)。如何在下面的 foreach 循环中引用数字量(在 XML 文件的“硬盘”元素中找到)。我认为最好的方法是使用下面的 $key 变量。 foreach 循环没有输出任何东西——不管有没有 if 语句。
foreach($hard_drive as $key => $value) {
if ($key == "200GB") {
echo $key . " " . $value . "<br>";
}}
<products>
<product type="Desktop">
<name>Desktop 1</name>
<harddrive>200GB</harddrive>
</product>
<product type="Tablet">
<name>Ipad 1</name>
<harddrive>100GB</harddrive>
</product>
<product type="Desktop">
<name>Desktop 2</name>
<harddrive>200GB</harddrive>
</product>
<product type="Tablet">
<name>Ipad 2</name>
<harddrive>80GB</harddrive>
</product>
</products>
【问题讨论】:
-
您能否编辑您的问题以更清楚地说明您的目标是什么?也许显示您的
foreach循环正在输出什么,并具体指出您不满意的部分。例如,我想您可能会问如何从“100GB”中获取“100”,但我不确定。 -
foreach 循环没有输出任何东西
-
如果你 var_dump($hard_drive); 你会得到什么?
-
print_r 产品:数组 ( )
标签: php xml arrays associative-array