0

这个问题可能非常简单易行,但不幸的是我无法正确回答。

我有一个从数据库中获取的数据集,然后根据条件创建一个新的“数据集”或多维数组,最后我准备好显示最终数组中的内容。我使用第二个数组的原因是因为我需要将它用于其他目的。

这是我当前的代码

//$controllers is a data set returned from a mysql query
        $set_controllers = array();
        foreach($controllers AS $input){
            
            $input_value = '';
            
            if(isset($_POST[$input['name']]) ){
                $input_value = trim($_POST[$input['name']]);
            }
        
            $set_controllers[]['name'] = $input['name'];            //name
            $set_controllers[]['answer'] = $input_value;            //answer
            $set_controllers[]['required'] = $input['required'];    //is required field or not
            
        }

    
    foreach($set_controllers AS $field){
    
        echo $field['name'] . '<br />';
        echo $field['required'] . '<br />';
        echo $field['answer'] . '<br /><br />';
    
    }

我遇到的问题是:

注意:未定义索引:必需

未定义索引:名称

未定义索引:答案

为什么我会收到此错误?我该如何解决?

4

1 回答 1

7

请试试这个:

$tmp = array();
$tmp['name'] = $input['name'];            //name
$tmp['answer'] = $input_value;            //answer
$tmp['required'] = $input['required'];    //is required field or not

$set_controllers[] = $tmp;

使用 [] 您创建一个新索引,我认为您不希望每一行都使用该索引。

于 2013-05-30T18:24:54.290 回答