【问题标题】:insert data and array multidimensional插入数据和数组多维
【发布时间】:2011-11-28 12:11:02
【问题描述】:

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

我有这个数组:

当我 print_r($students) 它的结构是这样的:

Array ( [0] => stdClass Object ( [lastname] => en [firstname] => estudianten [code] => U0009876 [id_estud] => 5 ) [1] => stdClass Object ( [lastname] = > Euno [名字] => estudiante| [代码] => 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 对象,模型中的最后一个代码对我来说效果很好。

我的错误是什么?

感谢您的帮助。

【问题讨论】:

  • 您看到哪个错误?你做 foreach ($student['dates'] as $key => $value) 但在数组中没有 'dates'...
  • 感谢您的回答。还有一个名为 dates_data 的数组,其中为每个学生注册了每个日期的许多值。
  • 你试过下面的答案了吗?
  • 是的,我正在尝试。非常感谢。

标签: codeigniter multidimensional-array


【解决方案1】:

实际上你有一个 stdObject 数组。在 foreach 的每次迭代中,您都会处理一个对象。所以如果你想访问它的属性,你必须这样做

'field1' => $student->property,

而不是

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

【讨论】:

    【解决方案2】:

    你可以这样做:

    foreach ($students 作为 $student) { 回声$学生->姓氏; //等等 }

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      • 1970-01-01
      • 2013-03-10
      • 2021-03-07
      • 2019-12-03
      相关资源
      最近更新 更多