【问题标题】:Saving Array of Array in Mysql using Active Record Code Igniter使用 Active Record Codeigniter 在 Mysql 中保存数组
【发布时间】:2015-06-24 11:08:33
【问题描述】:

我正在尝试在 Mysql 中保存表单数据。但是嵌套数组引起了问题。

Array ( [name] => Custom Project 
        [number] => 08883 
        [key] => Array ( [0] => Server Cost 
                         [1] => Domain Cost 
                         [2] => Design Charges, 
                       ) 
        [value] => Array ( [0] => 098 
                           [1] => 765 
                           [2] => 787 
                          ) 
      ) 

我正在使用$this->db->insert('invoice',$array),它可以在没有嵌套数组的情况下正常插入数据。

那么有没有办法可以将这个嵌套数组从上面的数组中分离出来,然后将这个嵌套数组保存到另一个只有两列 key 和 value 的表中

【问题讨论】:

    标签: php mysql arrays codeigniter


    【解决方案1】:

    您可以只使用array_combine 来创建密钥对值:

    function save_value($array)
    {
        $key_value = array_combine($array['key'], $array['value']);
        $this->db->insert('table_name', $key_value);
    }
    

    【讨论】:

    • 它没有帮助,但我自己想通了
    【解决方案2】:

    我使用了非常简单的方法,我将一个数组推送到另一个数组,因为结果要在 Codeigniter 插入方法中处理。

    //Item description
            $description=$_POST['key'];
    
            //item amount
            $amount=$_POST['value'];
    
            $big_array=array();
    
            for($i=0; $i<sizeof($description); $i++){
    
                    $small_array=array('description'=>$description[$i],'amount'=>$amount[$i]);
    
                    array_push($big_array,$small_array);
                }
    
            //adding data into model
            $this->my_Model->InsertData($big_array);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 1970-01-01
      • 2013-04-11
      • 2014-12-24
      相关资源
      最近更新 更多