我在编码时遇到问题,出现错误,例如未定义的偏移量: 3.我正在尝试自动选中复选框。请帮助解决此问题。
我的代码
if($sites)
{
$sites2 =explode (',',$sites);
}
else
{
$sites2 ="";
}
//print_r ($sites2);
$usersites = DB::table('sites')->get();
$i=0;
foreach($usersites as $row)
{
$s_id = $row->s_id;
?>
<div class="checkbox checkbox-success checkbox-inline btn btn-default col-sm-10 col-xs-10">
<input name="sites[]" type="checkbox" class="styled" id="inlineCheckbox6<?= $i; ?>" value="<?= $s_id; ?>" <?php if($sites2[$i] == $s_id) { echo "checked"; }?>>
<label for="inlineCheckbox6<?= $i; ?>" style="padding-left:0px;"><?= ucfirst($row->sname); ?> </label>
</div>
<?php
$i++;
}
?>
错误"未定义的偏移量"表示您正在尝试访问不存在的数组的索引。
我最好的猜测是有问题的代码是:
if($sites2[$i] == $s_id){
echo "checked";
}
未定义的偏移量 3 告诉您$sites2[3]
不存在。相反,您可以尝试如下操作:
if(isset($sites2[$i]) && $sites2[$i] == $s_id){
echo "checked";
}