所以我正在愚弄API而我正在使用文本文件来存储数据。尝试在foreach循环中读取这些文件的内容时,有时它不起作用。这是我正在使用的代码:
$allCampaigns = listCampaigns();
$userCampaings = campaignsForUser($_SESSION['usertoken']);
$allCampaigns = array_diff($allCampaigns, $userCampaings);
$joinedCampaigns = array();
$otherCampaigns = array();
foreach($userCampaings as $value)
{
$info = campaignInfo($value);
$joinedCampaigns[] = $info;
}
foreach($allCampaigns as $key =>$value)
{
echo " $key => $value <br />";
$info = campaignInfo($value);
if($info['joinable'] != 0)
$otherCampaigns[] = $info;
else
continue;
}
foreach($userCampaigns as $value)
完美无缺,它遍历所有项目。当我进入foreach($allCampaigns as $key =>$value)
时,它只会迭代一次,无论$allCampaigns
中有多少项。 echo " $key => $value <br />";
仅打印一次。
CampainInfo功能:
function campaignInfo($campaign)
{
$file_name = "data/campaigns/$campaign.txt";
$fp = file_get_contents($file_name) or die ("Could not open $file_name");
$arr = json_decode($fp);
return $arr;
}
永远不会打印“无法打开$ file_name”行。所有这些文件中的数据都是相同的,我可以在文本编辑器中打开它们。
想法?
编辑:期间没有打印错误或警告。它似乎在if($info['joinable'] != 0)
失败但是可连接键总是0或1 .... ???