2015-06-13 40 views
-2
$record['field'] = null; 

if (isset($record['field']) || is_null($record['field'])) { 
    // When $record['field'] is set and not null, OR, when $record['field'] = null 
    // Basically, when $record['field'] is defined as $record['field'] = whatever, even null. 
} else { 
    // When $record['field'] is not defined at all, not even null 
} 

我的意圖是檢查是否定義了$record['field'],甚至是null區別沒有設置和空?

但是每次$record['field']沒有被設置在所有(如註釋掉$紀錄[「場」] = NULL;),它給了我這個錯誤:

Undefined index: field 

萬一有人會問,這是因爲當NULL值變得有意義時,例如在SQL查詢中爲timestamp列指定NULL值將使MySQL使用當前時間戳更新它。

什麼辦法可以做到這一點?

+1

注意「未定義指數」是一個通知,而不是一個錯誤,你可以選擇,如果你想忽略它。 – IMSoP

回答

1

因爲你在這裏不僅僅是一個變量而且是一個關聯數組,你可以使用array_key_exists()來檢查數組是否包含一個帶有該名稱的字段,而不管它的值如何。

相關問題