CodeIgniter:在阵列中使用阵列
我正在跟踪分页,并将POST输入存储为数据库中的查询字符串。到目前为止,一切都正常工作,直到,假设我得到一个数组作为POST输入,我无法循环通过它并获得所有数组值并存储到query_数组中(即,在数组中存储数组) 下面是一些片段:CodeIgniter:在阵列中使用阵列,codeigniter,Codeigniter,我正在跟踪分页,并将POST输入存储为数据库中的查询字符串。到目前为止,一切都正常工作,直到,假设我得到一个数组作为POST输入,我无法循环通过它并获得所有数组值并存储到query_数组中(即,在数组中存储数组) 下面是一些片段: $query_array = array( 'gender' => $this->input->post('gender'), 'minage' => $this->input->post('minage'), 'maxage' =
$query_array = array(
'gender' => $this->input->post('gender'),
'minage' => $this->input->post('minage'),
'maxage' => $this->input->post('maxage'),
'Citizenship' => $this->input->post('citizenship'), // checkboxes with name citizenship[]
);
这将仅返回最近一次存储的数组值
输出阵列:
Array ( [gender] => 1 [minage] => 18 [maxage] => 24 [Citizenship] => 2 )
将查询字符串设置为:
&gender=1&minage=18&maxage=24&Citizenship=2
但是,我的要求是获取“公民身份”数组的所有值,而不是最后存储的值
生成查询字符串所需的输出:
Array ( [gender] => 1 [minage] => 18 [maxage] => 24 [Citizenship] => 2 [Citizenship] => 4 [Citizenship] => 6 )
查询字符串:
&gender=1&minage=18&maxage=24&Citizenship[]=2&Citizenship[]=4&Citizenship[]=6
谢谢你的帮助
谢谢。看起来,code Ignitter不支持未命名的多维数组作为输入,而无需任何黑客攻击 如果可以访问原始$\u POST数据,请尝试替换
$this->input->post('citizenship')
与
也可以向post数据添加键:
&gender=1&minage=18&maxage=24&Citizenship[0]=2&Citizenship[1]=4&Citizenship[2]=6
我自己修的。我只是在POST数组中循环,得到了各个数组的键和对值
foreach($_POST['Citizenship'] as $k => $v) {
$Citizenship[$v] = $v;
}
希望这能帮助那些面临类似问题的人
foreach($_POST['Citizenship'] as $k => $v) {
$Citizenship[$v] = $v;
}