尽管这使你很难阅读,但你可以在
if
语句,使用三元运算符设置无效值
$_GET['st']
未设置:
if (($status = $_GET['st'] ?: '') != 'ac' && $status != 'ar') { header('Location: notes.php?st=ac'); }
Demo on 3v4l.org
注意,如果使用php7+,则可以使用空合并运算符
??
为了避免通知级别错误,如果
$GET [ ST ]
未设置:
if (($status = $_GET['st'] ?? '') != 'ac' && $status != 'ar') { header('Location: notes.php?st=ac'); }
Demo on 3v4l.org
正如@mickmackusa所指出的,可以使用
in_array
:
if (!in_array($status = $_GET['st'] ?? '', ['ac', 'ar'])) { header('Location: notes.php?st=ac'); }
Demo on 3v4l.org