Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用for each创建关联数组?_Php_Arrays - Fatal编程技术网

Php 如何使用for each创建关联数组?

Php 如何使用for each创建关联数组?,php,arrays,Php,Arrays,我正在选择复选框并希望以当前页码$\u GET['page\u 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] = $thro

我正在选择复选框并希望以当前页码
$\u GET['page\u 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个

注意:$\u GET['page\u no']作为数组返回


不能将数组用作数组索引。您还必须迭代$pageno,例如使用next():


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

不能将数组用作数组索引。您还必须迭代$pageno,例如使用next():


请注意,只有在确保$pageno实际上是一个数组并且包含足够的元素时,此操作才有效。

$pageno
不会递增。为了向数组中添加多个值,需要在循环中增加该值

解决方案如下:

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

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

$pageno
不会递增。为了向数组中添加多个值,需要在循环中增加该值

解决方案如下:

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

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

只有1个值进入,因为您正在替换foreach的每个循环上的$\u SESSION['selected\u 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;
}

只有1个值进入,因为您正在替换foreach的每个循环上的$\u SESSION['selected\u 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;
}

你能澄清“但只有一个值”部分吗?请在html中张贴复选框。@FabianoLothor如果我使用
$\u GET['record\u num']
很明显,我使用
你所期望的是不可能的。一个键不能有多个值。你能澄清“但只有一个值”部分吗?请将你的复选框张贴在html中。@FabianoLothor如果我使用
$\u GET['record\u num']
很明显,我使用
你所期望的是不可能的。一个键不能有多个值。好的,但这会在数组中创建数组并使用递增索引,我能为所有的键保留1吗?谢谢你+1@CreepyFrog:数组每个键只能有一个值。你们想要的是不可能的。好吧,但这会在一个数组中创建一个数组,并使用递增索引,我能为所有人保留1吗?谢谢你+1@CreepyFrog:数组每个键只能有一个值。你想要的是不可能的。不可能用1索引所有。。。(和我一起思考)如果所有的索引都在同一个键中,你怎么能访问一些值?正如您所期望的,with value可能返回$\u SESSION['selected\u val'][1]?不可能使用1对所有会话进行索引。。。(和我一起思考)如果所有的索引都在同一个键中,你怎么能访问一些值?正如您所期望的,with value可能会返回$\u SESSION['selected\u val'][1]?我正在使用foreach,因此返回的值不是数组:),但您不会在$pageno上使用foreach,并说这是一个数组。现在我明白你的期望了,这是不可能的。键是唯一的。我正在使用foreach,因此返回的值不是数组:),但您不能在$pageno上使用foreach,并说这是一个数组。现在我明白你的期望了,这是不可能的。钥匙是独一无二的。