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