我正在做一个应用程序( Swift中的客户端和PHP中的服务器)。我想知道在PHP中是否有任何方法可以像Swift那样:
myInstanceOrNil?.mymethod()
如果myInstanceOrNil不是零,则调用我的方法;如果myInstanceOrNil为零,则返回零。
在我的php服务器中,我必须返回几个可选信息(例如,用户可能有一个与facebook帐户相关联的,也许不是),
$member = new Member($id);
echo json_encode([
"id" => $member->getId(),
"fbId" => $member->getFbInformationsInstanceOrNull()->getFbId()
])
这里的问题是,如果getFbInformationsInstanceOrNull()
由于用户没有关联的fb帐户而返回null,它将产生一个错误,因为null->getFbId()
不存在。在斯威夫特,我只需要做:
$member.getFbInformationsInstanceOrNull?().getFbId()
如何在PHP中轻松地完成这个任务?
发布于 2019-04-22 04:56:53
为此你需要empty
$fbId = $member->getFbInformationsInstanceOrNull();
if(!empty($fbId)){
echo json_encode([
"id" => $member->getId(),
"fbId" => $fbId->getFbId()]);
}
如果没有id关联,代码将不会执行,您可能需要向用户显示一些消息或相应地更新业务。
如果您也想传递null
,您可以这样做:
$fbId = $member->getFbInformationsInstanceOrNull();
echo json_encode([
"id" => $member->getId(),
"fbId" => empty($fbId)?null:$fbId->getId() ]);
}
以下值被认为是空的:
阅读更多关于empty
这里的信息
https://stackoverflow.com/questions/55794753
复制