语法中出现意外的else错误


Unexpected else error in syntax?

下面的代码不断给我一个"意外的else"错误。有人看到我遗漏的语法错误了吗?

<?php
$salesman = json_decode($invoice['salesman'], true);
if(empty($salesman)){
  for($i = 1; $i <= 5; $i++) {
    echo '<input type="checkbox" name="data-invoice-salesman[]" value="'.$i.'"/> '.$i.'<br>';
} else {
  foreach($salesman as $k => $v) {
    $i = $k+1;
    if($v == "checked" {
      echo '<input type="checkbox" name="data-invoice-salesman[]" value="'.$i.'" checked/> '.$i.'<br>'; // if checked, check.
    } else {
      echo '<input type="checkbox" name="data-invoice-salesman[]" value="'.$i.'"/> '.$i.'<br>'; // if not checked, don't check.
    }
  }
}
for($i = 1; $i <= 5; $i++){
            echo '<input type="checkbox" name="data-invoice-salesman[]" value="'.$i.'"/> '.$i.'<br>';

for循环后缺少一个}

更正代码:

<?php
$salesman = json_decode($invoice['salesman'], true);
if (empty($salesman)){
    for($i = 1; $i <= 5; $i++){
        echo '<input type="checkbox" name="data-invoice-salesman[]" value="'.$i.'"/> '.$i.'<br>';
    }
} else {
    foreach($salesman as $k => $v){
        $i = $k+1;
        if ($v == "checked") {
            echo '<input type="checkbox" name="data-invoice-salesman[]" value="'.$i.'" checked/> '.$i.'<br>'; // if checked, check.
        } else {
            echo '<input type="checkbox" name="data-invoice-salesman[]" value="'.$i.'"/> '.$i.'<br>'; // if not checked, don't check.
        }
    }
}

在if条件中,您还错过了$v == "checked"之后的")"。也为你修正了。