在 switch 语句 PHP 之外赋值的变量为空

Assigned variable empty outside of switch statement PHP

public function store($feed) 
    {
        switch($feed)
        {
            case 'full':
                $coupons = json_decode(file_get_contents('path-to-json-feed'), true);
                break;
            case 'incremental':
                $coupons = json_decode(file_get_contents('path-to-different-json-feed'), true);
                break;
         }
        var_dump($coupons);die();
        $this->Deal_model->updateAllDeals($coupons);
        echo 'Coupons Updated';     
    }

我正在尝试为 $coupons 赋值,但 var_dump($coupons) returns 是一个空数组。

我建议您添加一个 default,以防 $feed 不是 fullincremental

如果这是你的实际代码,我不确定是否有一个名为 path-to-json-feed 的文件,但它似乎应该是其他东西,比如 JSON file/feed.

path-to-json-feed 替换为实际文件,然后尝试使用以下代码,看看会得到什么。

public function store($feed) 
{
    switch($feed)
    {
        case 'full':
            $coupons = json_decode(file_get_contents('path-to-json-feed'), true);
            break;
        case 'incremental':
            $coupons = json_decode(file_get_contents('path-to-json-feed'), true);
            break;
        default:
            $coupons = json_decode(file_get_contents('path-to-json-feed'), true);
            break;
     }
    var_dump($coupons);
    die(); // DEBUGGING
    $this->Deal_model->updateAllDeals($coupons);
    echo 'Coupons Updated';     
}