我需要同时使用 isset() 和 $post_variable="value" 吗?为什么不只是后者?

Do I need to use both isset() and $post_variable="value"? Why not just the latter?

在 W3Schools 的 PHP 教程中,他们这样做是为了确保在用户提交错误表单后表单上的性别按钮仍处于选中状态:

<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="female") echo "checked";?>
value="female">Female
<input type="radio" name="gender"
<?php if (isset($gender) && $gender=="male") echo "checked";?>
value="male">Male

注意 isset()$gender="the_gender" 的使用。我仅通过检查性别就设法获得了相同的功能:

<input type="radio" name="gender" value="male" <?php if ($gender=="male") echo "checked";?>>Male

所以我的问题是,为什么 W3Schools 费心使用 isset() 功能?

isset()函数检查变量是否存在。如果您没有 $gender 并使用它,则会导致警告说 $gender 未定义。