我正在尝试推送数组,然后内爆它们
$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
然后我想推送输入型后马/电机/电视
<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
答案 0 :(得分:0)
您可以使用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));
答案 1 :(得分:0)
我认为您需要在null
中检查$sarana
,因为如果您没有选中名称为sarana[]
的复选框列表中的至少一个,那么$this->input->post('sarana')
会给您null值,所以 -
// 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'):[];
答案 2 :(得分:0)
$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;