мы можем использовать оператор goto внутри оператора switch? в переполнении стека

я новичок в php и кодирование старой школы

<?php
for($i=-2; $i<count($s2)-1;$i++){ ?>
<tr>
<td>
<?php
switch ($i) {
case '-2':
echo "JR KG";
goto a;
break;

case '-1':
echo "SR KG";
break;

case '0':
echo "Nursery";
break;

default:
echo $i;
?>
</td>
<?php foreach($a2 as $aaa){  a: ?>
<td>
<input type="checkbox" name="<?php echo $aaa.'['.$i.']'; ?>" >
</td>
<?php
}
?>
</tr>
<?php
}
}
?>

по приведенному выше коду я хотел отобразить список стандартов и установить флажок для каждого подразделения (a-h). после печати стандартного я хочу отображать сетку, как флажки. это работает для i = 1 до 12 .. терпит неудачу для -2, -1,0 из-за break ();

поэтому я попытался добавить goto a; но получаю следующую ошибку

Неустранимая ошибка: ‘goto’ в цикл или оператор switch запрещен в

любые предложения, как получить флажки для каждого подразделения для первых трех полей.

с циклом «i» я начинаю строку, отображающую стандарт, а с циклом «foreach ($ a2)» я хочу добавить число флажков foreach divison в $ a2 .. хочу создать как сетку. не удается добавить флажки в первые 3 строки из-за break ()

Благодарю.

0

Решение

Я до сих пор не совсем уверен, что понимаю.

Но если вы хотите сделать что-то другое в трех особых случаях, попробуйте эту общую идею.

<?php
function add_checkboxes($i, $a2) {
// do the checkbox processing in here
if ( $i == -2 ) {
foreach($a2 as $aaa){  a: ?>
echo '<td>';
echo  '<input type="checkbox" name="' . $aaa . '['.$i.'] .'" >';
echo '</td>';
}
}
}


for($i=-2; $i<count($s2)-1;$i++){
?>
<tr>
<td>
<?php
switch ($i) {
case '-2':
echo "JR KG";
add_checkboxes($i, $a2);
break;

case '-1':
echo "SR KG";
add_checkboxes($i, $a2);
break;

case '0':
echo "Nursery";
add_checkboxes($i, $a2);
break;

default:
echo $i;
?>
</td>
</tr>
<?php
}
}
?>
0

Другие решения

Других решений пока нет …