回答$result->data['id']
的最简单方法是什么?它不会抛出错误?
$result = someBackendCall(1, 2, 3);
if($result && isset($result->data) && isset($result->data['id'])){
echo $result->data['id'];
}
答案 0 :(得分:1)
if (!empty($result->data['id'])) {
echo $result->data['id'];
}
答案 1 :(得分:1)
它有点主观,因为有各种各样的方式,有些人发现一种方式比另一种更容易。你写的内容甚至可以被一些人认为是最简单的。
另外,例如,您可以这样做:
echo (isset($result->data['id'])?$result->data['id']:'');
或者,您可以将其置于标准if块中:
if (isset($result->data['id'])) { echo $result->data['id']; }
另一种方法是,制作一个小的辅助函数,浮动你重复使用的函数:
function echoVar(&$input=null) { if (isset($input)) { echo $input; } }
echoVar($result->data['id']);
echoVar($result->data['name']);
我并没有真正使用迷你功能方法,因此我无法确定它是否真的更容易,因为它实际上模糊了您以后阅读它的代码。
需要注意的一点是,isset可以采用完整的嵌套变量,并且它会在步骤中检查。您不需要在预期值的每个级别上连续创建三个issets。