Рабочий код перебора чекбоксов:
$tegsAct = [];//активные теги
$tegsAll = [];//все теги
while($enum_fields21 = $dbEl->GetNext()){
$tegsAct[] = $enum_fields21["TEGI_VALUE"];
}
while($enum_fields = $property_enums->GetNext()){
$tegsAll[] = array("ID" => $enum_fields["ID"]," VALUE" => $enum_fields["VALUE"]);
}
foreach($tegsAll as $id => $name){
echo "<input type='checkbox' name='TEGI[]' value='{$id["ID"]}'";
for ($i=0; $i < count($tegsAct); $i++)
{
if($name["VALUE"]==$tegsAct[$i]){
echo "checked";
}
}
echo ">{$name["VALUE"]}<br>";
}
Хотелось бы либо всё сильнее сократить, либо сократить последнюю часть:
foreach($tegsAll as $id => $name){
echo "<input type='checkbox' name='TEGI[]' value='{$id["ID"]}'";
for ($i=0; $i < count($tegsAct); $i++)
{
if($name["VALUE"]==$tegsAct[$i]){
echo "checked";
}
}
echo ">{$name["VALUE"]}<br>";
}
//нерабочий вариант но хотелось бы привести к такому виду
foreach($tegsAll as $id => $name){
for ($i=0; $i < count($tegsAct); $i++)
{
if($name["VALUE"]==$tegsAct[$i]){
$checked = "checked";
} else {
$checked = "";
}
}
echo "<input type='checkbox' name='TEGI[]' value='{$id["ID"]}' {$checked}>{$name["VALUE"]}<br>";
}