为什么在第一个foreach循环后我的变量数据被丢弃?

达蒙

我正在使用CodeIgniter在数据库中插入记录。一切工作正常,但我似乎无法理解为什么嵌套数组的值在第一个foreach循环后会丢失其值。

的PHP

// $data is all data (array) passed from controller method.
public function create($data)
{
    $my_data = array(
        'name' => $data['name'],
        ....
    );

    if ($this->db->insert('myTable', $my_data)) {
        $insert_id = $this->db->insert_id();

        // $data['mySecondCheckbox'] has value here

        foreach ($first_data['myFirstCheckbox'] as $cb1) {
            $first_data = array(
                'fk_foo_id' => $insert_id,
                'fk_cb_id' => $cb1
            );

            $this->db->insert('mySecondTable', $first_data);
        }

        // $data['mySecondCheckbox'] has no value here

         foreach ($data['mySecondCheckbox'] as $cb2) {
            $second_data = array(
                'fk_foo_id' => $insert_id,
                'fk_cb_id' => $cb2
            );

            $this->db->insert('myThirdTable', $second_data);
        }

        return $insert_id;
    } else {
        return false;
    }

}

解决方案

谢谢@约翰!睡觉后很明显。当时,我以为$ data特定于每个each范围。

的PHP

// $data is all data (array) passed from controller method.
public function create($data)
{
    $my_data = array(
        'name' => $data['name'],
        ....
    );

    if ($this->db->insert('myTable', $my_data)) {
        $insert_id = $this->db->insert_id();

        // $data['mySecondCheckbox'] has value here

        foreach ($data['myFirstCheckbox'] as $cb1) {
            $first_data = array(
                'fk_foo_id' => $insert_id,
                'fk_cb_id' => $cb1
            );

            $this->db->insert('mySecondTable', $first_data);
        }

        // $data['mySecondCheckbox'] has no value here

         foreach ($second_data['mySecondCheckbox'] as $cb2) {
            $data = array(
                'fk_foo_id' => $insert_id,
                'fk_cb_id' => $cb2
            );

            $this->db->insert('myThirdTable', $second_data);
        }

        return $insert_id;
    } else {
        return false;
    }

}
约翰

foreach循环的第一行是在循环“ $ data”中重置主题。重命名变量,你应该很好

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在第一个foreach循环后我的变量数据丢失了?

来自分类Dev

为什么我的程序在For循环的第一个循环后跳过cin>>?

来自分类Dev

为什么我的 jQuery show() 函数在 php foreach 循环中仅适用于第一个元素

来自分类Dev

为什么for循环会更改for循环中的列表后跳过第一个元素?

来自分类Dev

为什么该程序在第一个循环后崩溃?

来自分类Dev

为什么变量只传递jQuery中for循环的第一个值?

来自分类Dev

为什么变量只传递jQuery中for循环的第一个值?

来自分类Dev

为什么第一个是无限循环?

来自分类Dev

Selenium / Python:为什么在我的for循环迭代中找到第一个元素后,为什么Selenium find_element_不再通过查找元素了?

来自分类Dev

为什么我的 for 循环只抓取第一个元素?

来自分类Dev

为什么我的cfloop在插入第一个ID后停止?

来自分类Dev

为什么在第一个断点后我的媒体查询无法正常工作?

来自分类Dev

为什么在未应用第一个规则集后我的CSS?

来自分类Dev

为什么我的简单链表在第一个节点后不起作用?

来自分类Dev

为什么我只处理第一个变量?

来自分类Dev

为什么我的第一个加载数据axios是返回404 Vue Js?

来自分类Dev

为什么我的 OpenFlow 匹配与第一个数据包不匹配?

来自分类Dev

为什么我的读取函数在第二次调用时会丢弃第一个字符?

来自分类Dev

为什么循环浏览元组会给我字符串的第一个字符?

来自分类Dev

为什么我不能在Angular ngFor循环中设置第一个单词的样式?

来自分类Dev

为什么循环浏览元组会给我字符串的第一个字符?

来自分类Dev

为什么这个程序在我输入第一个单词时结束并且不循环

来自分类Dev

为什么第一个类型不针对我的第一个脚注?

来自分类Dev

AngularJS:为什么我传递给指令的第一个绑定显示变量而不是值

来自分类Dev

嵌套JavaScript“ for”循环-为什么第一个循环没有遍历整个长度?

来自分类Dev

为什么我的代码片段总是从列表中返回/打印第一个记录数据?

来自分类Dev

为什么我在集合视图上的第一个单元格总是显示错误的数据?

来自分类Dev

Parallel.ForEach的第一个循环

来自分类Dev

Foreach循环不显示第一个条目

Related 相关文章

  1. 1

    为什么在第一个foreach循环后我的变量数据丢失了?

  2. 2

    为什么我的程序在For循环的第一个循环后跳过cin>>?

  3. 3

    为什么我的 jQuery show() 函数在 php foreach 循环中仅适用于第一个元素

  4. 4

    为什么for循环会更改for循环中的列表后跳过第一个元素?

  5. 5

    为什么该程序在第一个循环后崩溃?

  6. 6

    为什么变量只传递jQuery中for循环的第一个值?

  7. 7

    为什么变量只传递jQuery中for循环的第一个值?

  8. 8

    为什么第一个是无限循环?

  9. 9

    Selenium / Python:为什么在我的for循环迭代中找到第一个元素后,为什么Selenium find_element_不再通过查找元素了?

  10. 10

    为什么我的 for 循环只抓取第一个元素?

  11. 11

    为什么我的cfloop在插入第一个ID后停止?

  12. 12

    为什么在第一个断点后我的媒体查询无法正常工作?

  13. 13

    为什么在未应用第一个规则集后我的CSS?

  14. 14

    为什么我的简单链表在第一个节点后不起作用?

  15. 15

    为什么我只处理第一个变量?

  16. 16

    为什么我的第一个加载数据axios是返回404 Vue Js?

  17. 17

    为什么我的 OpenFlow 匹配与第一个数据包不匹配?

  18. 18

    为什么我的读取函数在第二次调用时会丢弃第一个字符?

  19. 19

    为什么循环浏览元组会给我字符串的第一个字符?

  20. 20

    为什么我不能在Angular ngFor循环中设置第一个单词的样式?

  21. 21

    为什么循环浏览元组会给我字符串的第一个字符?

  22. 22

    为什么这个程序在我输入第一个单词时结束并且不循环

  23. 23

    为什么第一个类型不针对我的第一个脚注?

  24. 24

    AngularJS:为什么我传递给指令的第一个绑定显示变量而不是值

  25. 25

    嵌套JavaScript“ for”循环-为什么第一个循环没有遍历整个长度?

  26. 26

    为什么我的代码片段总是从列表中返回/打印第一个记录数据?

  27. 27

    为什么我在集合视图上的第一个单元格总是显示错误的数据?

  28. 28

    Parallel.ForEach的第一个循环

  29. 29

    Foreach循环不显示第一个条目

热门标签

归档