如果这个问题在 Stackoverflow 中被问了很多次,我深表歉意。
我在下面的 php 代码中的
Line A
处收到以下通知:
"Notice: Undefined index: check7456".
在
Line B
,我们正在检查$list
是否是一个数组。
PHP代码:
foreach ($_POST['rows'] as $AB_CD) {
$data = $dbo->execStmt("SELECT AB_NO, INFO, CAPACITY FROM TABLE_NAME1 WHERE AB_CD = {$AB_CD}");
$document = new Document($db, 'EDR', $data['AB_NO'][0], $data['INFO'][0], $data['CAPACITY'][0]);
$list = $_POST["check{$AB_CD}"]; // Line A
foreach ($values as $name) {
if (is_array($list) && in_array($name, $list)) { // Line B
$document->helloWorld('Good Day', $name);
} else {
$document->removeHelloWorld('Good Day', $name);
}
}
}
问题陈述:
我想知道我需要在上面的 php 代码中做哪些更改才能修复 Notice 问题。
这是我试过的。我添加了
Line Z
并修改了Line A
。让我知道这个解决方案是否有效。
$list = []; // Added Line Z
foreach ($_POST['rows'] as $AB_CD) {
$data = $dbo->execStmt("SELECT AB_NO, INFO, CAPACITY FROM TABLE_NAME1 WHERE AB_CD = {$AB_CD}");
$document = new Document($db, 'EDR', $data['AB_NO'][0], $data['INFO'][0], $data['CAPACITY'][0]);
if(isset( $_POST["check{$AB_CD}"])) $list[] = $_POST["check{$AB_CD}"]; // Line A (modified)
foreach ($values as $name) {
if (is_array($list) && in_array($name, $list)) { // Line B
$document->helloWorld('Good Day', $name);
} else {
$document->removeHelloWorld('Good Day', $name);
}
}
}