[英]PHP - what is the point of using isSet() and checking for truthy value?
我今天在我的代碼庫中看到了這一點:
if (isset($purchase_data['buyer_tracking_address_id']) && $purchase_data['buyer_tracking_address_id']) {
// do something
}
為什么需要同時檢查這兩個條件? 僅使用第一個子句還不夠嗎?
僅使用第一個子句還不夠嗎?
編輯我看到你的問題的上下文在我輸入這個答案時發生了變化。 我認為 aynber 的評論回答了您的問題。
isset
實際上只是在下一個操作嘗試訪問它之前檢查數組鍵buyer_tracking_address_id是否存在。 如果它不存在, isset將返回 false 並阻止下一個條件運行。
如果沒有isset
,如果您嘗試訪問數組鍵buyer_tracking_address_id並且它不存在,PHP 會發出警告。
警告:未定義的數組鍵“buyer_tracking_address_id”
以下代碼將在 PHP 7 中引發通知, 在 PHP 8 中引發警告。
<?php
$purchase_data = [
'buyer_tracking_address_id' => '12345'
];
if ($purchase_data['doesnt_exist']) {
// do something
}
閱讀和理解三元運算符和空合並運算符也很值得,因為它們通常用於訪問未知的數組鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.