下面的代码似乎并不像我期望的那样工作,虽然$_GET‘’friendid‘= 55返回NULL
<?PHP
$_GET['friendid'] = 55;
$friendid = (!isset($_GET['friendid'])) ? $_GET['friendid'] : 'empty';
echo $friendid;
exit;
?>
发布于 2009-08-08 13:24:24
卸下!
。你不想否定这个表达式。
$friendid = isset($_GET['friendid']) ? $_GET['friendid'] : 'empty';
发布于 2015-03-06 00:45:01
从PHP 7's release开始,您可以使用空合并操作符(双"?")为此:
$var = $array["key"] ?? "default-value";
// which is synonymous to:
$var = isset($array["key"]) ? $array["key"] : "default-value";
在PHP 5.3+中,如果你检查的只是一个"truthy“值,你可以使用"Elvis运算符”(注意这不会检查isset)。
$var = $value ?: "default-value";
// which is synonymous to:
$var = $value ? $value : "default-value";
发布于 2012-02-06 07:18:42
如果你是懒惰和危险的,你可以使用error control operator @和ternary operator的缩写。
$friendid = @$_GET['friendid']?: 'empty';
https://stackoverflow.com/questions/1248864
复制相似问题