如何通过会话从文件中获取多个值,该文件在 PHP 中多次 运行
How to get multiple values through session from a file which is running multiple times in PHP
我有一个文件 运行 2 到 3 次 并且有一个变量 $student_name
,我希望该变量可用另一个文件。如何实现?
文件 1.
$info[] = $student_name;
$_SESSION["student_name"] = $info;
文件 2.
for($i = 0 ; $i < count($_SESSION['student_name']) ; $i++) {
echo $_SESSION['student_name'][$i];
}
但我只得到最后分配的值。
如果 file 1
执行了 3 次,那么每次都会在该文件中重新创建空的 $info
- 它不会在不同的脚本执行之间持续存在。那么 $_SESSION["student_name"]
每次都会被这个新的 $info
变量覆盖,大概只包含一个条目。
但是会话变量 在执行之间持续存在,这就是它们的全部意义!因此,只需检查会话变量是否存在,如果存在,则将 $studentname
直接附加到该现有数组。如果没有,则创建包含名字条目的数组。
类似这样的内容(在文件 1 中):
if (isset($_SESSION["student_names"])) $_SESSION["student_name"][] = $student_name;
else $_SESSION["student_names"] = array($student_name);
(请注意,我将会话密钥重命名为 student_names
(复数)更有意义,并反映它可以包含多个值的事实。)
我有一个文件 运行 2 到 3 次 并且有一个变量 $student_name
,我希望该变量可用另一个文件。如何实现?
文件 1.
$info[] = $student_name;
$_SESSION["student_name"] = $info;
文件 2.
for($i = 0 ; $i < count($_SESSION['student_name']) ; $i++) {
echo $_SESSION['student_name'][$i];
}
但我只得到最后分配的值。
如果 file 1
执行了 3 次,那么每次都会在该文件中重新创建空的 $info
- 它不会在不同的脚本执行之间持续存在。那么 $_SESSION["student_name"]
每次都会被这个新的 $info
变量覆盖,大概只包含一个条目。
但是会话变量 在执行之间持续存在,这就是它们的全部意义!因此,只需检查会话变量是否存在,如果存在,则将 $studentname
直接附加到该现有数组。如果没有,则创建包含名字条目的数组。
类似这样的内容(在文件 1 中):
if (isset($_SESSION["student_names"])) $_SESSION["student_name"][] = $student_name;
else $_SESSION["student_names"] = array($student_name);
(请注意,我将会话密钥重命名为 student_names
(复数)更有意义,并反映它可以包含多个值的事实。)