如何使用PHP回显多维数组变量?

时间:2013-05-30 18:22:58

标签: php arrays multidimensional-array foreach

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

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

这是我目前的代码

//$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 />';

    }

我遇到的问题是:

  

注意:未定义索引:必需

     

未定义的索引:名称

     

未定义的索引:回答

为什么会出现此错误?我该如何解决?

1 个答案:

答案 0 :(得分: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;

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