通过Ajax调用的PHP变量生存期

通过Ajax调用的PHP变量生存期,php,ajax,memory-management,scope,lifetime,Php,Ajax,Memory Management,Scope,Lifetime,变量通常会被销毁,一旦垃圾收集器认为有必要,它们占用的内存就会被释放。基本上,在当前执行的脚本完成后不久,是吗 现在,我对Ajax检索变量的生命周期感兴趣 由于变量通常在运行它们的脚本完成后被清除,也就是在页面重新加载时,Ajax也属于这一类吗?如果我有一个从PHP接收胖JSON数组的脚本,并且在我使用完它之后只清除带有“arrayVar=null”的JS变量,这就足够了吗?或者我应该取消设置创建返回数组的PHP变量吗?例如: // PHP CODE <? public function

变量通常会被销毁,一旦垃圾收集器认为有必要,它们占用的内存就会被释放。基本上,在当前执行的脚本完成后不久,是吗

现在,我对Ajax检索变量的生命周期感兴趣

由于变量通常在运行它们的脚本完成后被清除,也就是在页面重新加载时,Ajax也属于这一类吗?如果我有一个从PHP接收胖JSON数组的脚本,并且在我使用完它之后只清除带有“arrayVar=null”的JS变量,这就足够了吗?或者我应该取消设置创建返回数组的PHP变量吗?例如:

// PHP CODE
<?
public function some_kind_of_ajax_called_action() {

    $someClass = new MyClass();
    $someArray = $someClass->getRequestedData();
    $arrayForReturning = array();

    foreach ($someArray as $element) {
        ($currentUser == "admin")?($arrayForReturning[] = $element):null;
    }

    die(json_encode($arrayForReturning));
}
?>
…在die()调用之前?这会不会节省内存,不管内存有多少


干杯

PHPs部分在满足您的AJAX请求时完成,直到重新加载页面。是否将其保存在JS变量中并不重要。它们没有连接。

PHPs部分在满足您的AJAX请求时完成,直到重新加载页面。是否将其保存在JS变量中并不重要。它们没有连接。

我看不出有必要这样做的原因,因为AJAX请求与通常的HTTP请求没有区别,只是浏览器对其响应的处理方式不同。

我看不出有必要这样做的原因,因为AJAX请求与通常的HTTP请求没有区别,只是它的响应在浏览器中的处理方式有所不同。

这两个变量都将在脚本末尾取消设置,方式与任何其他页面相同


顺便说一句,您也可以使用unset($someClass,$someArray),因为它需要多个输入

这两个变量都将在脚本末尾以与任何其他页面相同的方式取消设置


顺便说一句,您也可以使用unset($someClass,$someArray),因为它需要多个输入

干杯,这就是我的想法!干杯,我就是这么想的!
unset($someClass);
unset($someArray);