我正在尝试一个下拉菜单,您可以从3个选项中进行选择。我有以下代码,但是我似乎无法使我的第三个选择起作用。有任何想法吗?

        $_POST['faction'] = ($_POST['faction'] == "s")? "S" : "K";


我想添加第三个选项“ R”,但我无法使用它。

有什么想法吗?

最佳答案

尽管可以在您的语句中添加另一个ternary语句,但我认为这会影响代码的可读性。

使用array将使其更简单。

$option_array = array('r' => 'R', 's' => 'S', 'k' => 'K');

if (array_key_exists($_POST['faction'])) {
    $_POST['faction'] = $option_array[$_POST['faction']]
}


如果array_key_exists包含其他值,则可以选择添加$_POST['faction']以确保不更新$_POST['faction'],但这是您的选择。

与您类似的另一种方法具有多个三元运算:

$_POST['faction'] = ($_POST['faction'] == "s") ? ($_POST['faction'] == "r" ? "R" : "S") : "K";

09-26 13:02