插入数据和数组多维

时间:2011-11-28 12:11:02

标签: codeigniter multidimensional-array

当我要插入数据库时​​出错。

我有这个数组:

当我print_r($学生)时,它的结构如下:

数组([0] => stdClass对象([lastname] => en [firstname] => estudianten [代码] => U0009876 [id_estud] => 5)[1] => stdClass对象([lastname] => Euno [firstname] => estudiante | [code] => U00020814 [id_estud] => 6))

在我的模型中,我有这段代码:

function insert_register_students($students) {
        foreach ($students as $student) {
            foreach ($student['dates'] as $key => $value) {
                $data = array(
                    'field1' =>$student['id'],
                    'field2' => $key,
                    'field3' => '',
                );
                $this->db->insert('mytable', $data);
            }
        }
    }

在模型中,如何引用$ students是stdClass对象?如果$ students是一个数组但现在有stdClass对象,那么模型中的最后一个代码对我来说效果很好。

我的错误是什么?

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

你可以这样做:

foreach ($students as $student) {
  echo $student->lastname; //and so on
}

希望有所帮助

答案 1 :(得分:1)

实际上你有一个stdObject数组。在foreach中的每次迭代中,您都可以处理一个对象。因此,如果您想访问其属性,则必须执行

'field1' => $student->property,

而不是

'field1' => $student['property']