[英]PHP MySQL prepared statement: Execute dies, returns neither true or false
[英]PHP values comparing as neither true nor false
我正在使用PHP中的SimpleXMLElement從API提取XML數據,並如下遍歷這些元素:
$xml = new SimpleXMLElement (file_get_contents ($api_url));
foreach ($xml->element as $element) {
print $element->name;
}
使用此代碼,將返回12個元素名稱(正確)。
但是,當我遍歷這些元素時,我想跳過所有已完成的元素,並繼續處理未完成的元素。
從API返回的XML格式如下:
<element>
<name>Alpha</name>
<completed>true</completed>
</element>
--or--
<element>
<name>Beta</name>
<completed>false</completed>
</element>
如果在foreach循環中添加“如果已完成,則要中斷”語句以繞過已完成的元素,則它僅處理1個元素(應該為7個):
foreach ($xml->element as $element) {
if ($element->completed == 'true')
break;
/* continue processing incomplete elements */
}
如果我更改代碼以繞過不完整的元素,它將正確返回5個不完整的元素名稱。
if ($element->completed == 'false')
break;
似乎其他6個元素都被視為“真”和“假”,因為在上述兩種情況下都將它們跳過了。
我也嘗試過其他比較,但是沒有一個返回7個不完整的元素。
=== 'true' (returns 12 elements)
=== 'false' (returns 12 elements)
== true (returns 0 elements)
== false (returns 12 elements)
=== true (returns 12 elements)
=== false (returns 12 elements)
我必須忽略一些東西-您可以提供的任何指導將不勝感激。
您好,請您替換代碼
foreach ($xml->element as $element) {
if ($element->find('completed')[0]->plaintext == 'true')
break;
/* continue processing incomplete elements */
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.