php 提交后保持选中动态生成的单选按钮

php keep dynamically generated radio button checked after submit

我知道还有其他主题涉及此内容,但我通读了它们,尝试了解决方案,但仍然 运行 遇到问题。

我有一个数组 $genderValues,我循环遍历它以在表单内回显两个单选按钮。该表单还有其他经过验证的输入。当用户选中男性或女性时,我希望当他们尝试提交表单但未能满足其他验证时,该单选按钮保持选中状态,而不是让它自行清除。

$genderValues = ['Male','Female'];

function ending ($genderVal) {

        if (isset($_POST['gender']) && ($_POST['gender'] == $genderVal)) {
            $ending = " checked />";
                return $ending;
        }
        else{
            $ending = "/>";
            return $ending;
         }
    }

    foreach($genderValues as $genderVal){

        echo "<label class='radio' for=" . $genderVal . ">" . $genderVal . "</label>
        <input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal);

    }

更改此行:

<input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal);

为此:

<input type='radio' name='gender' id=" . $genderVal . " value='" . $genderVal . "' " . ending($genderVal);