通过Ajax调用PHP变量生命周期

Swa*_*der 0 php ajax scope memory-management lifetime

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

现在,我对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));
}
?>
Run Code Online (Sandbox Code Playgroud)

包括......会更好吗?

unset($someClass);
unset($someArray);
Run Code Online (Sandbox Code Playgroud)

...在die()调用之前?这会节省记忆吗,不管多少?

干杯

Joh*_*hnP 5

PHP部分是在它为您的AJAX请求提供服务的那一刻完成的,直到页面重新加载.是否将其保存在JS变量中并不重要.它们没有连接.