我使用的是此代码,但如果我使用array_push()
,则会使用null
插入值,我使用array_push
在数组中输入值
foreach ($_POST['record_num'] as $check_rec_num) {
if(!in_array($check_rec_num, $_SESSION['selected_record'][$pageno])) {
array_push($_SESSION['selected_record'][$pageno][], $check_rec_num);
}
}
但是当我使用它时,它会自动在数组中添加值,而不使用array_push
为什么会这样?
foreach ($_POST['rec_num'] as $check_rec_num) {
if(!in_array($check_rec_num, $_SESSION['selected_record'][$pageno])) {
$_SESSION['selected_record'][$pageno][] = $check_rec_num;
}
}
第一个例子
Array ( [1] => Array ( [0] => 36 [1] => 35 ) [2] => )
第二个例子(没有小节括号)
Array ( [1] => Array ( [0] => 36 [1] => 35 [2] => 34 ) [2] => Array ( [0] => ) )
Array Design第3个示例,没有使用array_push
如何在没有array_push
的数组末尾自动添加值?
Array (
[1] => Array (
[0] => 36
[1] => 35
)
[2] => Array (
[0] => 33
[1] => 32
)
)
答案 0 :(得分:2)
中有额外的
[]
array_push($_SESSION['selected_record'][$pageno][], $check_rec_num);
这样做:
$_SESSION['selected_record'][$pageno] = array();
array_push($_SESSION['selected_record'][$pageno], $check_rec_num);
请参阅array_push
上的手册。
注意:如果第一个参数不是数组,array_push()将发出警告。这与创建新数组的$ var []行为不同。
然而,你应该更好地使用$_SESSION['selected_record'][$pageno][]
,因为
注意:如果使用array_push()向数组添加一个元素,最好使用$ array [] =,因为这样就没有调用函数的开销。
答案 1 :(得分:0)
那是因为额外[]
删除它,它将工作:
array_push($_SESSION['selected_record'][$pageno], $check_rec_num);