0

$value 打印正确。这些数字对于 $value 是正确的,所以我认为该部分已被消除。

($value)->price如果我在like中手动输入实际数字(10079)->price,则该功能可以正常工作,最后一行print_r ($price)会打印出它应该输入的数字。

由于某种原因,$value$xml_price = $fetch_app->products($value)->price;在函数返回 nil的上下文中不起作用$price

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它并且它显示了正确的数字?顺便说一下,这个数字是一个浮点数,不确定这是否重要。

4

1 回答 1

2

从评论中的附加信息来看,以下应该有效:

$xml_price = $fetch_app->products((int)$value)->price;

看起来这个 fetchapp API 是强类型的,这对于 PHP 来说是非典型的,但在一定程度上在技术上仍然是可行的。至少它对待字符串参数不同于整数参数。

于 2013-03-15T23:12:08.930 回答