在switch语句PHP之外分配的变量为空

时间:2015-04-26 00:05:00

标签: php variables scope switch-statement

ArrayList<StringBuilder> state = new ArrayList<StringBuilder>();
state.add(new StringBuilder("A"));
state.add(new StringBuilder("B"));
state.add(new StringBuilder("C"));
state.add(new StringBuilder("D"));
System.out.println(state.indexOf(new StringBuilder("B"))); //Out: -1

我正在尝试为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会返回一个空数组。

1 个答案:

答案 0 :(得分:0)

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

如果这是您的实际代码,我不确定是否存在名为path-to-json-feed的文件,但它似乎应该是其他内容,例如JSON文件/ 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';     
}