1 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
首先,這些是通知和警告,而不是錯(cuò)誤。如您所見,代碼執(zhí)行將在這些情況下繼續(xù),而腳本執(zhí)行將在出現(xiàn)錯(cuò)誤時(shí)終止。
這里至少有兩個(gè)不同的問(wèn)題:
您正在訪問(wèn)一個(gè)不存在的數(shù)組索引(第 66 行)
您正在對(duì)非數(shù)字值使用算術(shù)運(yùn)算符(第 67 行)
對(duì)于 1,您應(yīng)該在訪問(wèn)數(shù)組之前檢查該鍵是否存在于$_POST
數(shù)組中。我假設(shè)因?yàn)樗谡?qǐng)求中不存在,所以“保存”參數(shù)是可選的。由于它不存在,null
將被分配給$save
,因此大概這是以后邏輯所需的值。array_key_exists
您可以簡(jiǎn)單地使用或添加條件isset
來(lái)阻止通知。如果您使用的是 php 7 或更高版本,則可以使用“null coalesce”operator( ??
)。
$save = array_key_exists($g, $_POST)?$_POST[$g]:null;
或者
$save = $_POST[$g]??null;
對(duì)于 2,我需要更多關(guān)于其價(jià)值和意圖的信息。從加法運(yùn)算符和逗號(hào)替換來(lái)看,您似乎正在接受以某種方式格式化的數(shù)值。在這種情況下,PHP 會(huì)隱式地將數(shù)字字符串轉(zhuǎn)換為數(shù)字。您可能需要?jiǎng)h除進(jìn)一步的格式??赡?a >intval
或floatval
將適用,具體取決于輸入數(shù)據(jù)。最終,您需要從字符串中提取所需的數(shù)字并在執(zhí)行加法之前將它們轉(zhuǎn)換為數(shù)值(除非您嘗試進(jìn)行字符串連接,在這種情況下請(qǐng)參閱運(yùn)算符.
)
- 1 回答
- 0 關(guān)注
- 200 瀏覽
添加回答
舉報(bào)