使用 & 获取 $_SESSION 位置
Posted
技术标签:
【中文标题】使用 & 获取 $_SESSION 位置【英文标题】:Get $_SESSION position with & 【发布时间】:2011-05-01 22:25:36 【问题描述】:为什么这段代码不起作用?
public function get($key)
return isset($_SESSION[$key]) ? &$_SESSION[$key] : false;
错误
Parse error: syntax error, unexpected '&' in C:\Arquivos de programas\Easyphp-5.3.3\www\myphpblog\code\sessionstorage.class.php on line 12
谢谢。
【问题讨论】:
如果您想允许$_SESSION[$key]
以前被设置为null
,请使用array_key_exist($key, $_SESSION)
。
【参考方案1】:
三元运算符实际上是三个expressions,例如expr1 ? expr2 : expr3;
见Notes in Returning References:
如果您尝试使用以下语法从函数返回引用:
return ($this->value);
这将不起作用,因为您尝试通过引用返回表达式的结果,而不是变量。您只能通过函数引用返回变量 - 仅此而已。
【讨论】:
【参考方案2】:在 PHP 中返回引用的语法是&<function name>() return <referece>
另外,Only variable references should be returned by reference
所以,你应该重写它:
function &get($key)
$a = false;
if( isset($_SESSION[$key]) )
return $_SESSION[ $key ];
return $a;
【讨论】:
这……很有趣。我真的不知道在 PHP 中返回对局部变量的引用会做什么,因为我从未尝试过。在大多数其他语言中,这是一个严重的逻辑错误。【参考方案3】:只需删除 & 即可。嗯……
【讨论】:
以上是关于使用 & 获取 $_SESSION 位置的主要内容,如果未能解决你的问题,请参考以下文章
getBoundingClientRect()来获取页面元素的位置”
如何正确发送 $_FILES 到 $_SESSION 变量?