检查值是否存在的最简单方法

时间:2017-10-16 01:07:41

标签: php

回答$result->data['id']的最简单方法是什么?它不会抛出错误?

$result = someBackendCall(1, 2, 3);
if($result && isset($result->data) && isset($result->data['id'])){
    echo $result->data['id'];
}

2 个答案:

答案 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。