定义索引时未定义的索引

时间:2015-06-30 19:07:47

标签: php arrays undefined

我遇到了数组和未定义索引的问题:

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。

有谁知道发生了什么事?

1 个答案:

答案 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
}

祝你好运