File_get_contents导致foreach循环提前退出

时间:2011-06-09 16:55:01

标签: php foreach file-get-contents

所以我正在愚弄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 .... ???

0 个答案:

没有答案