Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 插入带有Codeigniter活动记录的阵列_Php_Arrays_Codeigniter - Fatal编程技术网

Php 插入带有Codeigniter活动记录的阵列

Php 插入带有Codeigniter活动记录的阵列,php,arrays,codeigniter,Php,Arrays,Codeigniter,我有一个带有复选框值和id值的数组。复选框可以有多个值,否则id只有一个。我的数组是$data2,打印: Array ( [checkbox] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 8 [5] => 9 [6] => 10 [7] => 21 ) [id] =&

我有一个带有复选框值和id值的数组。复选框可以有多个值,否则id只有一个。我的数组是
$data2
,打印:

Array ( 
  [checkbox] => Array ( 
     [0] => 1 
     [1] => 2 
     [2] => 3 
     [3] => 4 
     [4] => 8 
     [5] => 9 
     [6] => 10 
     [7] => 21 
  ) 
  [id] => 8 
)
模型中的代码是

function checkboxes($data2)
    {
        foreach($data2->result() as $row)
        {
            $data= array(
                  'story'=> $row->checkbox,
                  'id'=>$row->id
                );
               $this->db->insert('stories_to_categories',$data);
        }

    }
问题是因为我在数组中有数组,有人能帮我把这段代码插入数据库吗


我还想插入相同的号码ID和复选框,例如,3 id的值为1,3复选框的值为

这是一个虚拟答案,它将澄清您的概念,即当您使用多维数组时,多维数组首先在codeigniter中运行,因此您需要一个键来跟踪您的记录哪个记录属于哪个键,以便有助于获取到目前为止,我已经专门为您创建了一个简单的虚拟程序,并且也在您的代码中工作过,因此您可能会喜欢我的工作,也希望您的问题能够得到解决。另外,请查看php手册和文档,这将使您更清楚地了解多维数组以及我使用的函数
sizeof()
此函数用于测量对象的大小,可以是其自创对象,也可以是数据库对象。它有助于测量。这里是文档链接,请查看我们如何使用它

这是伪代码

$section = array( 'Clients'=>array('pepsi','cocacola','sevenup'),
    'Services'=>array('Web Design','Graphic Design','DataMigration'),
    'Techonologies'=>array('codeigniter','postgresql','ubuntu')
    );  

      $i=0;
      foreach($section as $key => $row)
      {
          //taking up specific value
          echo $section['Techonologies'][0];
          echo '<pre>';
          //checking the size of the key in array Clients is a key and it has 3 values
          while($i<sizeof($row))
          {
              echo $row[$i].'<br/>';
              $i++; 
          }
          $i=0;
        echo '</pre>';
      }

         echo '<pre>';
          print_r($section);
          echo '</pre>';

    }
$section=array('Clients'=>array('pepsi','cocacola','sevenup'),
“服务”=>array(“Web设计”、“图形设计”、“数据迁移”),
'techonologys'=>array('codeigniter'、'postgresql'、'ubuntu')
);  
$i=0;
foreach($key=>$row的部分)
{
//占比值
echo$section['techonologys'][0];
回声';
function checkboxes($data2)
    {
        $i=0;
        $data=$data2->result();
        foreach($data as $key => $row)
        {
            while($i<sizeof($row))
            {
            $data= array(
                  'story'=> $row[$i],
                  'id'=>$data['id'][0]
                );
               $this->db->insert('stories_to_categories',$data);
               $i++;
            }
        }

    }
//在阵列客户端中检查密钥的大小是一个密钥,它有3个值 而($iresult(); foreach($key=>$row形式的数据) { 而($i$row[$i], 'id'=>$data['id'][0] ); $this->db->insert('stories\u to\u categories',$data); $i++; } } }
您必须将数据变量插入到数据库中,我说得对吗?因此第二个变量是错误的,因为您将值存储在数据变量中,并且将整个对象数据2传递给insert函数,这是错误的。这没有任何意义。什么是$data2?为什么会有结果()我在你原来的数组中看不到这一点。让我们更专注一点,我正在编辑这个问题以便更好地理解ChrisG你同意吗我打印数据数组哪里出了问题,你看到了结构OK你看到了什么错误