$typeID = 34;
$reader = simplexml_load_file("http://api.eve-central.com/api/quicklook?typeid=".$typeID);
foreach ($reader -> buy_orders -> order as $orderrow) {
if($orderrow->price > $bestPrice)
{
if($orderrow->security >= "0.5")
{
$bestPrice = $orderrow->price;
$bestStation = $orderrow->station_name;
$bestStationID = $orderrow->station;
}
}
}
正在给我:
Warning: Invalid argument supplied for foreach()
我不明白为什么。这里的想法是浏览那里列出的每个购买订单,并比较价格,如果订单更高,则将其设置为最佳。这样做,直到所有订单都完成,变量将列出最佳价格、最佳电台和稍后使用的电台ID。我看了很多StackOverflow问题、参考文献等。许多例子报告说,深入三个是可以的,所以我不明白为什么这是一个无效的论点。
有什么想法吗?
您能添加xml或示例xml的模式吗?
我是PHP新手,但根据PHP foreach示例,我想是"foreach"这条线引起了这个警告,也许它应该像一样工作
foreach ($reader -> buy_orders as $orderrow) {
...
}
如果$reader->buy_orders是数组表达式,则不应添加"->order">
请参阅http://php.net/manual/en/control-structures.foreach.php
foreach(array_expression为$value(报表
我没有测试我的答案,如果这对你有用,你可以试试,然后告诉我。谢谢
在仔细检查XML文档后,我发现我跳过了一个级别。应该是
foreach($reader -> quickorder -> buy_orders -> order as $buyOrder)