Was ich in der Vergangenheit getan habe, um Hunderte von aufgeblähten Zeilen zu vermeiden, ist Folgendes...
Kompilieren Sie zuerst den gesamten HTML-Code in eine Variable, ohne "geprüfte" Instanzen.
$boxes = '';
$boxes .= '<input type="checkbox" name="utility[]" id="utility[]" value="Water" />Water<br />';
$boxes .= '<input type="checkbox" name="utility[]" id="utility[]" value="Cable" />Cable<br />';
$boxes .= '<input type="checkbox" name="utility[]" id="utility[]" value="Electricity" />Electricity<br />';
Jetzt überschreite ich Ihr Array von Feldern, um es zu überprüfen. Ich habe auch hier ein Beispiel-Array bereitgestellt.
$already_checked = array('Water', 'Electricity');
foreach( $already_checked as $ac ) {
$find = 'value="' . $ac . '"';
$replace = $find . ' checked="checked"';
$boxes = str_replace($find, $replace, $boxes);
}
echo $boxes;