$ value正确打印。这个数字对于$ value是正确的,所以我认为这部分被淘汰了。
如果我在($value)->price
中手动输入实际数字,如(10079)->price
,则该功能正常,最后一行print_r ($price)
会打印出它应该的数字。
由于某种原因,$ $xml_price = $fetch_app->products($value)->price;
的上下文中的$ value无效,因为$price
函数返回nil
foreach ($_SESSION['queueList'] as $value){
//this prints the correct item(s) in 'queueList'
print_r ($value);
//this gets the node with the price info
$xml_price = $fetch_app->products($value)->price;
//this converts the simpleXML node to a string
$price = ((string) $xml_price);
//session var accumulates the item prices in cart
$_SESSION['totalPrice'] += $price;
print_r ($price);
}
那么为什么$value
变量不起作用,但实际数字确实如此,即使我打印了$value
并显示正确的数字?顺便说一句,这个号码是浮动的,不确定是否重要。
答案 0 :(得分:2)
根据评论中的其他信息判断,以下内容应该有效:
$xml_price = $fetch_app->products((int)$value)->price;
看起来这个fetchapp API是强类型的,这对于PHP来说是不典型的,但在某种程度上仍然在技术上可行。至少它会处理与整数参数不同的字符串参数。