我遇到了数组和未定义索引的问题:
for ($i = 0; $i < count($response); $i++) {
$table .= "<tr>";
for ($j = 0; $j < count($data); $j++) {
$table .= "<td>".$response[$i][$data[$j]]."</td>";
}
}
所以基本上我的应用程序的这一部分根据用户选择的数据构建表。输出数据时出现问题。
在这种情况下,$ data数组包含以下项:
id,first,last,transType,status,producer,prem,commissionions
现在,如果我手动返回$ data [1],它会在没有引号的情况下踢出“first”。所以如果我然后手动返回$ response [0] [first],它会输出正确的数据。但如果我尝试手动返回: $响应[0] [$数据[1]] 我遇到了那个未定义的索引通知。但手动返回: $响应[0] [$数据[0]] 正确输出id。
有谁知道发生了什么事?
答案 0 :(得分:0)
PHP未定义的索引通知通常使用此方法修复:
if(isset(/* STH */)) // Do sth
所以你的代码将变成这种形状:
for ($i = 0; $i < count($response); $i++) {
$table .= "<tr>";
for ($j = 0; $j < count($data); $j++) {
if(isset($response[$i][$data[$j]]))
$table .= "<td>".$response[$i][$data[$j]]."</td>";
}
$table .= "</tr>"; // Added this to close Table Row
}
祝你好运