php – 使用嵌套三元运算符

我一直在尝试以如下所示的嵌套形式使用isset():

isset($_POST['selectedTemplate'])?$_POST['selectedTemplate']:isset($_GET['selectedTemplate'])?$_GET['selectedTemplate']:0

但似乎我错过了一些东西.任何人都可以帮我怎么办?

最佳答案
将其括在括号中:

$selectedTemplate = isset($_POST['selectedTemplate'])
                  ? $_POST['selectedTemplate']
                  : (
                       isset($_GET['selectedTemplate'])
                       ? $_GET['selectedTemplate']
                       : 0
                  );

或者更好的是,使用适当的if / else语句(为了可维护性):

$selectTemplate = 0;

if (isset($_POST['selectedTemplate'])) {
    $selectTemplate = $_POST['selectedTemplate'];
} elseif (isset($_GET['selectedTemplate'])) {
    $selectTemplate = $_GET['selectedTemplate'];
}

但是,正如其他人所指出的那样,使用$_REQUEST更简单:

$selectedTemplate = isset($_REQUEST['selectedTemplate'])
                  ? $_REQUEST['selectedTemplate']
                  : 0;

转载注明原文:php – 使用嵌套三元运算符 - 代码日志