PHP FOREACH数组问题

PHP FOREACH数组问题,php,mysql,arrays,foreach,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($p

这就是我所拥有的:

$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";
}
foreach($arr as$key=>$value){
$checked=in_数组($prevtag,$arr)?“”:“checked=”checked“;
回音“\n”;
回显“.$value”。\n”;
}
但我得到了所有检查,而不仅仅是$prevtag中的检查-我做错了什么

$checked = strpos( $prevtag, (string)$key ) ? '' : 'checked="checked"';
$prevtag是字符串而不是数组->数组()中的
将不适用


$prevtag是字符串而不是数组->
在数组中()
将不适用于您的示例中
在数组中,
$prevtag
是字符串而不是数组,因此您不能在其上使用

因此,您可以尝试:

$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";
}
foreach($arr as$key=>$value){
$checked=in_数组($key,$prevtag)?“”:“checked=”checked“;
回音“\n”;
回显“.$value”。\n”;
}

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

因此,您可以尝试:

$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";
}
foreach($arr as$key=>$value){
$checked=in_数组($key,$prevtag)?“”:“checked=”checked“;
回音“\n”;
回显“.$value”。\n”;
}

您正在检查“书籍”或“杂志”等中是否包含“1,2,5”

$prevtag = array(1,2,5);
$checked = in_array($key, $prevtag) ? 'checked="checked"' : ''

您正在检查“1、2、5”是否在“书籍”或“杂志”等中

$prevtag = array(1,2,5);
$checked = in_array($key, $prevtag) ? 'checked="checked"' : ''

$prevtag
设置为一个数组并执行以下操作

$preArray=explode(",",$prevtag);

foreach ($arr as $key => $value) {
    $checked = in_array($key,$preArray) ? 'checked="checked"' : '';
    ...
}

$prevtag
设置为一个数组并执行以下操作

$preArray=explode(",",$prevtag);

foreach ($arr as $key => $value) {
    $checked = in_array($key,$preArray) ? 'checked="checked"' : '';
    ...
}
在数组中($prevtag,$arr)
正在检查数组
$arr
是否包含值
1,2,5

所以你可以这样做:

$checked = in_array($key, explode(',', $prevtag)) ? '' : 'checked="checked"';
在数组中($prevtag,$arr)
正在检查数组
$arr
是否包含值
1,2,5

所以你可以这样做:

$checked = in_array($key, explode(',', $prevtag)) ? '' : 'checked="checked"';