PHP FOREACH ARRAY问题

标签 php mysql arrays foreach

这是我的:

$prevtag = "1,2,5";

$arr;
$arr["1"] = "BOOKS";
$arr["2"] = "MAGAZINES";
$arr["3"] = "PAMPHLETS";
$arr["4"] = "CD'S";
$arr["5"] = "DVD'S";

我需要检查 $arr 中是否存在任何 $prevtag,然后回显 5 个复选框:

foreach ($arr as $key => $value) {
    $checked = in_array($prevtag,$arr) ? '' : 'checked="checked"';
    echo "<input name=\"txtTags".$key."\" type=\"checkbox\" id=\"txtTags".$key."\" value=\"on\" $checked />\n";
    echo "<label for=\"txtTags".$key."\">".$value."</label>\n";
}

但我正在检查所有内容,而不仅仅是 $prevtag 中的那些 - 我做错了什么?

最佳答案

在您的示例中,$prevtag 是一个字符串而不是数组,因此您不能对其使用 in_array()

所以你可以试试:

$prevtag = explode(',', $prevtag);

然后:

foreach ($arr as $key => $value) {
    $checked = in_array($key, $prevtag) ? '' : 'checked="checked"';
    echo "<input name=\"txtTags".$key."\" type=\"checkbox\" id=\"txtTags".$key."\" value=\"on\" $checked />\n";
    echo "<label for=\"txtTags".$key."\">".$value."</label>\n";
}

关于PHP FOREACH ARRAY问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5648544/

相关文章:

php - 删除 SQL 表中所有用户的按钮

javascript - 无法调用未定义node.js的方法 'forEach'

python - 将包含字符串和int对象的列表转换为字节数组以进行套接字通信

java - 将整数读入二维数组

php - alias 可以在 $row 中工作吗?

php - 如何通过sql查询排序?

php - 我如何最好地使用 php 删除 XHTML 认为无效的 unicode 字符?

python - 将 Tastypie REST API 投影到 python 对象中

php - 虽然循环似乎无穷无尽

c - 更改数组数据的函数 - 数据不变。 C