2015-08-14 6 views
0

я новичок в PHP и кодирование старой школыможно ли использовать инструкцию 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 
    } 
} 
?> 

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

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

Фатальная ошибка: «Goto» в оператора цикла или переключателя отвергается в

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

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

спасибо.

+4

** DONT USE GOTO ** Где вы были с 70-х годов! – RiggsFolly

+0

Я также пробовал, если ($ i == -2) {echo "sr kg"; goto a; } но все равно такая же фатальная ошибка .. PLS руководство, что еще я должен попробовать – Gunnrryy

+0

Но просто из интереса, где находится ярлык ** a: ** – RiggsFolly

ответ

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 
    } 
} 
?> 
Смежные вопросы