0
以下是互聯網用戶使用關鍵字購買產品的一些簡單和基本代碼。這裏是檢索用戶發送的關鍵字值的變量,然後用它來解析下面的XML文檔。PHP - 多個條件不起作用的「if語句」
$Name = $_GET["name_keywords"];
$Price = $_GET["price_keyword"];
$Store = $_GET["store_keywords"];
互聯網用戶沒有提交搜索查詢和值發送到所有三個變量 - IE他/她可以通過價格僅搜索,或者通過名稱和價格等)。因此,在用於解析下面的XML文檔時,某些變量可能爲NULL。所以我在下面foreach
循環中的「if語句」必須考慮到這一點。
下面的if語句是問題,因爲它不起作用。有關編寫if語句的任何建議,以便它可以解析XML文檔以獲得一個,兩個或三個條件的匹配條件,並考慮到某些變量可能爲空?謝謝!
<?php
$xmlDoc = simplexml_load_file("products.xml");
foreach($xmlDoc->product as $Product)
{
if (($Name == $Product->name) && (!empty($Price) && $Product->price == $Price) && ($Store) && $Product->store == $Store))
{
echo "Name: " . $Product->name . ", ";
echo "Price: " . $Product->price . ", ";
echo "Price: " . $Product->store . ", ";
}
}
下面是XML文件:
<products>
<product type="Electronics">
<name> Desktop</name>
<price>499.99</price>
<store>Best Buy</store>
</product>
<product type="Electronics">
<name>Lap top</name>
<price>599.99</price>
<store>Best Buy</store>
</product>
<product type="Hardware">
<name>Hand Saw</name>
<price>99.99</price>
<store>Lowes</store>
</product>
</products>
您可能需要在'if'語句中使用它之前投的節點爲一個字符串。 –
你有一個括號缺失,例如:&& $ Product-> price == $ Price)試試:&&($ Product-> price == $ Price) – TonyWilk