PHP:包含语句中的三元运算符,变量未定义
我正在检查一个包含语句中带有三元运算符的变量,但该变量未定义:PHP:包含语句中的三元运算符,变量未定义,php,variables,include,ternary-operator,Php,Variables,Include,Ternary Operator,我正在检查一个包含语句中带有三元运算符的变量,但该变量未定义: <?php include('../partials/' . isset($altnav) ? $altnav . '.php' : '_nav.php'); ?> 操作顺序。将三元运算括在括号中: include('../partials/'.(isset($altnav) ? $altnav.'.php' : '_nav.php')); 如果没有括号,它会在检查前将“../partials/”连接到isset($
<?php include('../partials/' . isset($altnav) ? $altnav . '.php' : '_nav.php'); ?>
操作顺序。将三元运算括在括号中:
include('../partials/'.(isset($altnav) ? $altnav.'.php' : '_nav.php'));
如果没有括号,它会在检查前将“../partials/”连接到isset($altnav)的结果?三元运算符。由于另一个答案中所示的运算符优先级,您的代码没有达到预期效果,但假设您使用三元运算符是为了简洁起见,下面还有几点
include
不是一个函数,因此它们不是必需的include('../partials/'.(isset($altnav) ? $altnav.'.php' : '_nav.php'));
include '../partials/' . ($altnav ?? '_nav') . '.php';