toggle 関数内で id の有無をなぜ確認するのですか?

バグの少ないプログラムを書くための一般的な作法です。
2021年9月12日
ユーザー

先生のコードでは、toggleTodo 関数内で

if (empty($id)) {
    return;
  }

と書いています。
toggleTodo が発動するのは、チェックボックスにチェックをした時、すなわち、id の送信が必ず発生するかと思うのですが、empty($id) === ture となる事は考えられるのでしょうか?

先生のコード

function toggleTodo($pdo)
{
  $id = filter_input(INPUT_POST, 'id');
  if (empty($id)) {
    return;
  }

  $stmt = $pdo->prepare("UPDATE todos SET is_done = NOT is_done WHERE id = :id");
  $stmt->bindValue('id', $id, PDO::PARAM_INT);
  $stmt->execute();
}

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(7)