0

我正在选择复选框并希望将当前页码$_GET['page_no']作为索引保存在关联数组中,但只有 1 个值进入,为什么没有其他值?

$pageno = $_GET['page_no']; //Say page no is 1
$_SESSION['selected_vals'] = array();
foreach($_POST['record_num'] as $throw_rec_nums) {
    $_SESSION['selected_vals'][$pageno] = $throw_rec_nums;
}

我的期望

$_SESSOION['selected_val'] (
   [1] => 24
   [1] => 46
   [1] => 56
)

但即使选择了 3 个复选框,我也只能得到 24 个

注意:$_GET['page_no'] 作为数组返回

4

3 回答 3

3

$pageno没有增加。为了将多个值添加到数组中,它需要在循环中递增。

解决方案类似于:

$_SESSION['selected_vals'][$pageno][] = $throw_rec_nums;

这样,所有记录号都将保存到指定页码的数组中。

于 2013-02-15T17:09:28.393 回答
2

只有 1 个值进入,因为您要在 foreach 的每个循环中替换 $_SESSION['selected_vals'][$pageno] 值。

尝试创建一个计数器来索引它

这是一个选择

$_SESSION['selected_vals'] = array();
$_SESSION['selected_vals'][$pageno] = array();
foreach($_POST['record_num'] as $throw_rec_nums) {
    $_SESSION['selected_vals'][$pageno][] = $throw_rec_nums;
}
于 2013-02-15T17:10:20.350 回答
0

您不能将数组用作数组索引。您也必须遍历 $pageno,例如使用 next():

$array[current($pageno)] = ...;
next($pageno);

请注意,这仅在您确保 rt $pageno 实际上是一个数组并包含足够的元素时才有效。

于 2013-02-15T17:08:21.150 回答