这是:
$_GET['value'] = isset($_GET['value']) ? $_GET['value'] : '';
同样如下:
$_GET['value'] = isset($_GET['value']) ? $_GET['value'] : false;
或者最好先做一次?这段代码还有其他变种吗? 谢谢你的建议!
答案 0 :(得分:1)
不。他们不是一回事。
如果未设置value
GET参数,则第一个将返回空字符串,如果已设置,则返回参数。
如果未设置参数,则第二个将返回false。
所以你要更改原来的$_GET
数组,这不是一个好主意。
另一种语法是null coalesce运算符(??
),可以将代码转换为:
$variable = $_GET['value'] ?? ''; //or false, if you want to stick with the boolean.
??
运算符基本上在左表达式上运行isset()
并返回truthy表达式的第一个出现。
如果您需要检查空字符串,则应使用empty
代替isset
。