通过ajax调用将变量推送到数组

时间:2016-06-19 14:55:25

标签: javascript php arrays ajax session-variables

我想做什么
我有一个PHP脚本,每次通过我的主javascript通过Ajax函数调用它。使用该功能,变量' userID' (只有一个号码)被发送。每次调用这个Ajax函数时,变量可能都不同,我希望将它们保存到一个名为userBack的数组中,然后将它们保存为会话cookie。

所以,举个例子:

首次运行脚本时,数组为: 1
下次运行脚本时: 14
下次它是: 142 ,依此类推。

问题
但是,似乎我的脚本只保存发送的第一个变量而不添加子序列变量,因此表现得像普通变量而不像数组,我想要它。

PHP

$userBack = array();
array_push($userBack, $_POST['userID']);
$_SESSION["userBack"] = $userBack;

1 个答案:

答案 0 :(得分:0)

您的问题是,每次运行代码时都要清除$ userBack数组,而不是将其设置为保存的值。你应该做的是:

$userBack = isset($_SESSION["userBack"]) ? $_SESSION["userBack"] : array();
array_push($userBack, $_POST['userID']);
$_SESSION["userBack"] = $userBack;

如果您使用的是PHP7,则可以将第一行简化为:

$userBack = $_SESSION["userBack"] ?? array();