我注意到我的array_push有问题。
所以我在做什么。: 我有一个网站,那里有一些带有特定值的按钮。
每个值都从数据库中获取。
我有一个称为test的会话,该会话被转换为一个数组(以在同一数组中存储多个)
每次单击其中一个按钮时,该特定按钮的值就会被推送到数组中。
但是,我只能看到它已经在第二次尝试中被推了。
[test] => Array( [0] => 21304 )
这是我看到的,经过第二次尝试。但是我的数组数表示该数组中有2个元素。
这是我的代码:
if(isset($_POST['process'])) {
if(!isset($_SESSION['test'])) {
$_SESSION['test'] = array();
$array_merge = array_push($_SESSION['test'], $_POST['process']);
}
}
$_POST['process']
是具有唯一值的按钮。
有人可以看到我在做什么错吗?
亲切的问候
答案 0 :(得分:1)
如果先前未设置$_SESSION['test']
,则仅添加到$_SESSION['test']
数组中。
因此,您需要始终将一个事件添加到会话数组,并且仅在之前未设置会话数组的情况下才初始化
session_start();
// ...
if(isset($_POST['process'])) {
if(!isset($_SESSION['test'])) {
$_SESSION['test'] = array();
}
$_SESSION['test'][] = $_POST['process'];
}
从手册中注意
如果使用array_push()将一个元素添加到数组中,则最好使用$ array [] =,因为那样就没有调用函数的开销。