php foreach只回显第二个值

时间:2014-03-06 03:15:10

标签: php loops foreach

尝试显示图像取决于foreach循环中的值,并且它第二次正确回声,但不是第一次回显。很奇怪,如果我回显它确实显示它的值,但不是图像中的图像一个开关声明......这是代码:

foreach ($myarray as $value ){
    echo $value;
    switch($value){
        case 'value1':
            echo '<img src="something.jpg" />';
            break;
        case 'value2':
            echo '<img src="something-2.jpg" />';
            break;
    }
}

所以如果一个人同时拥有“value1”和“value2”,那么它会回显这两个值,但只回显value2 image..help?

1 个答案:

答案 0 :(得分:1)

我认为你只看到第二个值,因为它覆盖了第一个值。 从理论上讲,你的情况应该只有1:1匹配。

确保您的值类型正确无误。含义“1”(字符串)和1(数字)可能会以不同方式中断。

此外,如果您有时间可以获得两个结果,您可以随时翻倍。

switch ($value) {
    case 'FOO':
        case 'FOOBAR':
        echo '<img >';
    break;
    case 'BAR':
        echo '<img>';
    break;
    default:
      // No match found. 
    break;
}

然而,让1和2在同一个案例中没有多大意义。否则,切换的重点是什么 - 所有值都会产生相同的结果。

希望这有帮助!