在php和codeigniter中使用switch和case

在php和codeigniter中使用switch和case,php,codeigniter,switch-statement,case,Php,Codeigniter,Switch Statement,Case,我想在php和codeigniter库中使用开关和案例,我尝试如下代码,但没有收到输出。我该怎么办 演示: 我认为您的echo也需要在开关之外。。。检查以验证 是的,回声应该在外面。在比较时,实际上应该强制该类型 <?php $s = '5'; switch ($s) { case 5: echo "Foo\n"; break; default: echo "Bar\n"; break; } echo $

我想在php和codeigniter库中使用
开关
案例
,我尝试如下代码,但没有收到输出。我该怎么办

演示:


我认为您的
echo
也需要在
开关之外。。。检查以验证

是的,回声应该在外面。在比较时,实际上应该强制该类型

<?php

$s = '5';

switch ($s) {
    case 5:
        echo "Foo\n";
        break;
    default:
        echo "Bar\n";
        break;
}

echo $s;
举个例子:

<?php

function indicators() {
    $Year = '1355';
    $Month = '03';

    switch ($Year) {
        case 1354:
            $key=array('0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6');
            $output = $key[$Month-1];
            break;
        case 1355:
            $key=array('0.6','0.7','0.2','0.4','0.7','0.1','0.7','0.2','0.5','0.9','0.4','0.8');
            $output = $key[$Month-1];
            break;
    }
    echo $output; // The output should be: 0.7
}

indicators();
根据代码,这是正确的<代码>'03'-1==2
<代码>$key[2]=='0.2'


正如@vstm在下面的评论中指出的那样,“开关/机箱进行松散比较。”

回波
移出
开关
-块?是的,
开关
进行“松散比较”,如。
Foo
5
<?php

function indicators() {
    $Year = '1355';
    $Month = '03';

    switch ($Year) {
        case 1354:
            $key=array('0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6','0.6');
            $output = $key[$Month-1];
            break;
        case 1355:
            $key=array('0.6','0.7','0.2','0.4','0.7','0.1','0.7','0.2','0.5','0.9','0.4','0.8');
            $output = $key[$Month-1];
            break;
    }
    echo $output; // The output should be: 0.7
}

indicators();
0.2