[英]PHP: Unidentified Index with NULL value
我已經嘗試了所有方法,但無法使此通知消失。
我有一個text input
,顯示的是$variable
的內容,該內容正在從數據庫中獲取,並且具有NULL值或整數值。
當該值為NULL時,使用此方法,將得到1個未識別索引的錯誤 。
if(isset($data['variable'])) { $variable = $data['variable']; }
else { $variable = numberFormat($data['variable']); }
當該值為NULL時,使用此方法,將得到2個未識別索引的錯誤 。
if($data['variable'] == NULL) { $variable = $data['variable']; }
else { $variable = numberFormat($data['variable']); }
任何人都可以闡明如何擺脫這些“通知”嗎? 謝謝!
您可能想查看$data
變量是否可用。 如果該值為null,則無法訪問不存在的變量中的元素。
if (isset($data)) {
if(isset($data['variable'])) { $variable = $data['variable']; }
else {
//THIS MAKES NO SENSE. $data['variable'] does not exist.
//$variable = numberFormat($data['variable']);
//You can put something else in here, however
$variable = "";
}
}
其次,在$data['variable']
不存在時訪問它是沒有意義的,因為...好吧,我不存在!
我想$data['variable']
不存在。 在第二個示例中,您會遇到2個錯誤,因為您沒有使用isset()
來處理未設置的變量。
不會從MySQL數據庫檢索null
值,因此未設置任何可能包含一個的變量。
在您的第一個代碼段中,您正在對此進行測試,但是無論如何都要繼續分配值,所以您會得到通知。
if(isset($data['variable'])) {
$variable = $data['variable'];
} else {
$variable = numberFormat($data['variable']); // Test for isset() fails, code comes here.
}
您需要在else
子句中為$ variable分配有意義的else
因為未設置$data['variable']
。
嘗試
$variable = (isset($data['variable'])) ? $data['variable'] : 0;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.