[英]Ternary Operator - What am I doing wrong?
$profilePic = isset( $userservice->getProfilePic($userid))
? filter($userservice->getProfilePic($userid))
: '<img></img>';
返回错误:
Fatal error: Can't use method return value in write context
我在这做错了什么?
您只能将isset
与变量一起使用,而不能使用函数的返回值,因为isset
不是函数,而是语言构造。
附录 :有一个投票允许将任意表达式参数传递给isset
和empty
,但最终isset
从最终实现中删除。
仅限isset
并且专门用于变量。 你不需要它来实现功能。 你的三元运算符很好。
请参阅PHP的权威指南isset并为空 。
试试:“
$tempPic=$userservice->getProfilePic($userid);
$profilePic = isset($tempPic ) ? filter($userservicegetProfilePic($userid)) : '<img></img>';
“
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.