我无法弄清楚为什么会发生这种情况以下是我的代码。我怀疑它与范围有关但是我可以var_dump $ items就好了。
<?php
/*
* Setup the API scripts.
*/
require (dirname(__FILE__).'/vesu/SDK/Gw2/Gw2SDK.php');
require (dirname(__FILE__) .'/vesu/SDK/Gw2/Gw2Exception.php');
use \vesu\SDK\Gw2\Gw2SDK;
use \vesu\SDK\Gw2\Gw2Exception;
// Request a new instance of the API
$gw2 = new Gw2SDK(dirname(__FILE__).'/cache/items/', 604800);
// End of code header
function refreshCache($gw2){
$i=0;
$items = $gw2->getItems();
#var_dump($items);
foreach($items as $itemId){
var_dump($itemsId);
$item = $gw2->queryItemDetails($itemId);
var_dump($item);
$itemName = $item->name;
echo "writing " . $itemId . "," . $itemName . "to the cache";
$i++;
}
echo "Added " . $i . " Items to the cache.";
}
refreshCache($gw2);
?>
答案 0 :(得分:1)
您正在呼叫var_dump($itemsId);
。
你的foreach循环是$itemId
(最后没有s!)
答案 1 :(得分:0)
复制调试代码时,你犯了一个错误:
var_dump($items);
到第二个地方,然后你把它变成:
var_dump($itemsId);
^- copied but forgotten to remove "s" from earlier
因此,下次复制和粘贴代码时,需要更加小心。从你自己的错误中学习你倾向于走的问题。
并var_dump()
发现调试失败,请使用步调试器和单元测试。