<?php
$value = $_POST['value']; //line 1
/* Some piece of code which really takes some time to execute */
echo "Value is :" .$value; // line 1000
?>
在上面的php代码中,我有一个变量$ value,它保存用户输入值。 假设这个特定页面一次被多个用户访问,变量的值如何不受特定用户的影响? 让我明白我的问题。 假设用户'A'访问我的页面并将变量$ value的值设置为10(第1行), 当执行第1000行时,他应该得到他输入的值作为输出显示。 我知道从第1行到第1000行到达编译器不会花费太多时间,但考虑到最坏的情况 如果第1行和第1000行之间的代码需要一些时间来执行(例如2秒),那么另一个用户“B”登录并且 将变量$ value的值设置为99(第1行),第二个用户的值是否会影响第一个用户的值? 我试过这个但是没有像我期望的那样得到任何错误。我想知道为什么会这样?
答案 0 :(得分:2)
对特定用户不受影响?
每个php脚本都有自己的线程。
用户无法更改其他用户的内容。
或者假设一个运行两次的PHP脚本无法操纵另一个。
(仅当您使用会话且同一用户在浏览器中两次调用脚本时,每个TAB都没有自己的会话)
有点像你两次开始编程。
答案 1 :(得分:-1)
您做的那一刻:$_POST['value']
$value
的值被复制到$_POST['value']
:不是通过引用而是通过值;因此,即使在$value
之后发生了20,000行,只要没有重新加载页面; $value
仍然包含分配给它的原始/初始数据; 除非您或其他人有权访问 $value = 'new value';
,并执行以下操作: $value
其他那些,(并且只要< / em> $value
未在代码中的任何位置被覆盖:) {{1}} 仍将保留并保留其值直到脚本结束。