[英]Easiest way to check for existence of a value
回顯$result->data['id']
不會拋出錯誤的最簡單方法是什么?
$result = someBackendCall(1, 2, 3);
if($result && isset($result->data) && isset($result->data['id'])){
echo $result->data['id'];
}
它有點主觀,因為有多種方法,有些人發現一種方法比另一種方法容易。 你寫的東西甚至可以被一些人認為是最簡單的。
此外,例如,您可以這樣做:
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']);
我還沒有真正使用過 mini function 方法,所以我不能確定它是否真的更容易,因為它確實掩蓋了你以后閱讀它的代碼。
需要注意的一件事是,isset 可以采用完整的嵌套變量,並且它會逐步檢查。 您不需要在預期值的每個級別上連續調用三個 isset。
if (!empty($result->data['id'])) {
echo $result->data['id'];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.