每次我向Php数组发出ajax请求时,它都会被销毁和替换?
点击一个按钮,我的php脚本就会收到一篇ajax文章,其中包含以下代码每次我向Php数组发出ajax请求时,它都会被销毁和替换?,php,ajax,arrays,Php,Ajax,Arrays,点击一个按钮,我的php脚本就会收到一篇ajax文章,其中包含以下代码 <?php $number = $_POST["id"]; $myarray[$number] = $_POST["marker"]; ?> 两个POST条目是id和marker。我希望最终用户每次点击按钮都能构建一个越来越大的数组,称为$myarray,因为$number通常会发生变化 相反,每次单击按钮都会破坏原始的$myarray,并创建一个新的$myarray,其中只有一个数据对(新
<?php
$number = $_POST["id"];
$myarray[$number] = $_POST["marker"];
?>
两个POST条目是id
和marker
。我希望最终用户每次点击按钮都能构建一个越来越大的数组,称为$myarray
,因为$number
通常会发生变化
相反,每次单击按钮都会破坏原始的$myarray
,并创建一个新的$myarray
,其中只有一个数据对(新发送的$number和$\u POST[“marker”]
)
如何对其进行编码,以便通过每次单击按钮构建阵列?HTTP是一种无状态协议,因此服务器无法在每次请求后了解
$my_array
。PHP只是生成一些HTML,服务器为生成的HTML提供服务。
不过,您可以在客户端用javascript存储信息
关于你的评论问题:
不,不会的。解决方案实际上取决于您的用例,如果您需要可供以后使用的信息,则必须将其存储在数据库或文件中。如果仅针对当前浏览页面,请使用javascript将其存储在用户的浏览器中。将其存储为会话变量是另一种选择。HTTP是一种无状态协议,因此服务器无法在每次请求后了解
$my_array
。PHP只是生成一些HTML,服务器为生成的HTML提供服务。
不过,您可以在客户端用javascript存储信息
关于你的评论问题:
不,不会的。解决方案实际上取决于您的用例,如果您需要可供以后使用的信息,则必须将其存储在数据库或文件中。如果仅针对当前浏览页面,请使用javascript将其存储在用户的浏览器中。将其存储为会话变量是另一种选择。您需要将其存储在会话中 基本上
session_start();
$myarray = $_SESSION['myarray'];
//work with $myarray here
//store it back in the session
$_SESSION['myarray'] = $myarray;
您需要将其存储在会话中 基本上
session_start();
$myarray = $_SESSION['myarray'];
//work with $myarray here
//store it back in the session
$_SESSION['myarray'] = $myarray;
使用javascript将数据推送到单击。然后尝试在每次单击时传递整个队列使用javascript在单击时推送数据。然后在每次单击时尝试传递整个队列啊,我不知道。我做了一些快速的谷歌搜索,将数组设置为全局变量或超级全局变量可以解决这个问题吗?如果是这样的话,我该怎么做呢?我明白。在这种情况下,我会将信息存储在cookie中,并在每次单击按钮并进行预匹配时更新cookie。这些信息并不敏感,只是用户在页面上的首选项。@James Nope(回答您的第一条评论)。全局变量也绑定在会话中,它们在会话结束时死亡。如果不想使用JS,可以尝试将数据存储在varialbes@James(第二条评论)Cookies作为解决方案适用于您的场景,并且$\u会话与Cookies相关(请阅读手册)。不管怎样,如果你愿意,你可以带着饼干去。啊,我不知道。我做了一些快速的谷歌搜索,将数组设置为全局变量或超级全局变量可以解决这个问题吗?如果是这样的话,我该怎么做呢?我明白。在这种情况下,我会将信息存储在cookie中,并在每次单击按钮并进行预匹配时更新cookie。这些信息并不敏感,只是用户在页面上的首选项。@James Nope(回答您的第一条评论)。全局变量也绑定在会话中,它们在会话结束时死亡。如果不想使用JS,可以尝试将数据存储在varialbes@James(第二条评论)Cookies作为解决方案适用于您的场景,并且$\u会话与Cookies相关(请阅读手册)。无论如何,如果你愿意,你可以带着饼干去。