PHP foreach循环 - 需要显示的文本

时间:2015-06-05 19:40:44

标签: php arrays loops foreach

我有一个简单的foreach循环如下:

foreach ($d_38 as $value) {
    echo "
        <option value='".$value."'";
            if ($results["q".$i]==$value) echo 'selected="selected"';     
    echo">".$value."</option>
";
}

我目前将信息存储在名为$d_38的数组中,此信息会在options循环期间放入下拉列表的foreach

一切正常。但是,我在$d_38_t中存储了一种不同的语言,我希望在显示该选项的文本时显示该语言,在上面的代码中,这是第三个 $value变量。基本上,用户会看到一种语言的选项,但在这种情况下,数据总是存储在English中。

我不知道如何将这两个数组放在一起,以便我可以在foreach循环中使用它们 - 有人可以提供任何指导吗?

2 个答案:

答案 0 :(得分:3)

假设键是数字并在$d_38$d_38_t之间对齐,您可以使用for循环:

for ($i = 0; $i < count($d_38); $i++)
{
    // ...snip...
    echo ">" . $d_38_t[$i] . "</option>";
}

要保留它,但要注意:这只适用于数字键。 @panther有正确的答案。 ; - )

答案 1 :(得分:3)

key添加到foreach并将其用作$d_38_t的密钥。

foreach ($d_38 as $key => $value) {
    echo "<option value='" . $value . "'";
        if ($results["q".$i] == $value) echo 'selected="selected"';    
    echo ">" . $d_38_t[$key] . "</option>";
}