你是
explode
-使服务成为数组。
Foreach
正在遍历数组(在您的示例中它有两个元素),因此foreach主体中的代码将重复两次。如果你有三个元素,它将被重复三次。等等。
实现你所追求的目标的一种方法是
in_array
检查服务是否在您拥有的数组中。如果它在数组中,则将复选框标记为
checked
.
<?php
$edit_data->service_day = "목,í ";
$service_day = explode(',', $edit_data->service_day);
?>
<input type="checkbox" name="service_day[]" id="checkbox2_1" value="ì"
<?php if(in_array("ì", $service_day)){echo 'checked="checked"';}?>
>
<label for="checkbox2_1">ì</label>
<input type="checkbox" name="service_day[]" id="checkbox2_2" value="í"
<?php if(in_array("í", $service_day)){echo 'checked="checked"';}?>
>
<label for="checkbox2_2">í</label>
<input type="checkbox" name="service_day[]" id="checkbox2_3" value="ì"
<?php if(in_array("ì", $service_day)){echo 'checked="checked"';}?>
>
<label for="checkbox2_3">ì</label>
<input type="checkbox" name="service_day[]" id="checkbox2_4" value="목"
<?php if(in_array("목", $service_day)){echo 'checked="checked"';}?>
>
<label for="checkbox2_4">목</label>
<input type="checkbox" name="service_day[]" id="checkbox2_5" value="ê¸"
<?php if(in_array("ê¸", $service_day)){echo 'checked="checked"';}?>
>
<label for="checkbox2_5">ê¸</label>
<input type="checkbox" name="service_day[]" id="checkbox2_6" value="í "
<?php if(in_array("í ", $service_day)){echo 'checked="checked"';}?>
>
<label for="checkbox2_6">í </label>
<input type="checkbox" name="service_day[]" id="checkbox2_7" value="ì¼"
<?php if(in_array("ì¼", $service_day)){echo 'checked="checked"';}?>
>
<label for="checkbox2_7">ì¼</label>
</td>
另一种方法是:
<?php
//All of the available service days
$available_service_days = ['ì', 'í', 'ì', '목', 'ê¸', 'í ', 'ì¼'];
//Checked service days
$edit_data->service_day = "목,í ";
$service_day = explode(',', $edit_data->service_day);
//Loop through the available service days to generate checkbox
foreach($available_service_days as $key => $available_service_day) {
//Print the checkbox and check it if necessary
?>
<input type="checkbox" name="service_day[]" id="checkbox2_<?php echo $key; ?>" value="<?php echo $available_service_day; ?>"
<?php if(in_array($available_service_day, $service_day)){echo 'checked="checked"';}?>
>
<label for="checkbox2_7"><?php echo $available_service_day; ?></label>
<?php } ?>