通过引用和三元运算符分配变量?
为什么三元运算符不能与引用赋值一起使用?
$obj = new stdClass(); // Object to add
$result = true; // Op result
$success = array(); // Destination array for success
$errors = array(); // Destination array for errors
// Working
$target = &$success;
if(!$result) $target = &errors;
array_push($target, $obj);
// Not working
$target = $result ? &$success : &$errors;
array_push($target, $obj);
Why ternary operator doesn't work with assignment by reference?
$obj = new stdClass(); // Object to add
$result = true; // Op result
$success = array(); // Destination array for success
$errors = array(); // Destination array for errors
// Working
$target = &$success;
if(!$result) $target = &errors;
array_push($target, $obj);
// Not working
$target = $result ? &$success : &$errors;
array_push($target, $obj);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在这里,
您的示例还有两个拼写错误
编辑
http://php.net/manual /en/language.operators.comparison.php
我不知道这以前是否有效,但现在不再有效了。如果您不想使用 if 语句,请尝试以下操作:
or 在分隔行上...
Here you go
Also your example has two typos
edit
http://php.net/manual/en/language.operators.comparison.php
idk if this worked before, but it doesn't anymore. if you don't wanna use an if statement, then try this:
or on separated lines ...