【问题标题】:how to array push and implode codeigniter如何排列推送和内爆codeigniter
【发布时间】:2017-07-01 00:09:47
【问题描述】:

我正在尝试推送数组,然后将它们内爆

$this->input->post('sarana')

这是我的复选框的数组

<input type="checkbox" class="flat" name="sarana[]" id="sarana" value="listrik" />penerangan listrik 
<input type="checkbox" class="flat" name="sarana[]" id="sarana" value="listrik" />penerangan listrik 

然后我想要推送输入类型 post mobil /motor /tv

<input type="text" name="mobil" placeholder="mobil" class="form-control input-sm">

控制器

$tv=$this->input->post('tv');
$motor=$this->input->post('motor');
$mobil=$this->input->post('mobil');
$sarana=$this->input->post('sarana');
array_push($sarana, 'tv=$tv','motor=$motor','mobil=$mobil');
        $data = array(
            'idakun' =>29,
            'kondisirumah' =>$this->input->post('fisikrumah'), 
            'statusrumah' =>$this->input->post('pemilikanrumah'),
            'sarana' =>implode(",", $sarana),
            'ekonomi' =>$this->input->post('ekonomi'),
            'hpkeluarga' =>implode(",",$this->input->post('hpkeluarga')),

            );

但它给出了错误

array_push() 期望参数 1 是数组,给定 null

【问题讨论】:

    标签: php codeigniter


    【解决方案1】:

    您可以使用 array_merge() 函数来做到这一点。

    刚刚更新:

    $sarana=$this->input->post('sarana');
    array_push($sarana, 'tv=$tv','motor=$motor','mobil=$mobil');
    

    与:

    $sarana=$this->input->post('sarana');
    $sarana= array_merge($sarana, array('tv'=>$tv), array('motor'=>$motor), array('mobil'=>$mobil));
    

    【讨论】:

      【解决方案2】:

      我认为你需要在$sarana 中检查null,因为如果你没有从复选框列表中检查至少一个名为sarana[] 的复选框,那么$this-&gt;input-&gt;post('sarana') 会给你空值,所以-

      // this will make $sarana as array even if you did not check any of sarana checkbox list
      $sarana=($this->input->post('sarana'))?$this->input->post('sarana'):[];
      

      【讨论】:

      • 让我知道它是否不适合您...如果有效,请投票并接受作为答案
      【解决方案3】:
      $var= ""; 
            for ($x = 1; $x <= $request->input('cant'); $x++) {
              $array_numerico_indexado = array();
              array_push($array_numerico_indexado, $request->input('cama'.$x));
               foreach($array_numerico_indexado as $numero)
               {
                $var.= $numero.",<br>";
               }
            }
            echo $var;
      

      【讨论】:

      • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
      猜你喜欢
      • 2017-11-11
      • 2015-06-11
      • 1970-01-01
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 2016-10-07
      相关资源
      最近更新 更多