是否有任何取消$data
的目的?如果它包含大数据,我应该取消它吗?
<?php
require 'db.php';
class Test{
public $id = 0;
public $name;
public function __construct()
{
$this->getUserInfo();
echo $this->name;
}
private function getUserInfo()
{
global $db;
$query = $db->prepare('SELECT id,name FROM users WHERE group = :g LIMIT 1');
if ($query->execute(array('g' => 'admin')))
{
$data = $query->fetch(); // <--
$this->id = $data[0];
$this->name = $data[1];
return true;
}
}
}
(new Test);
?>
答案 0 :(得分:2)
没有必要。当函数返回时,变量自行消失。
即使你取消了它,你仍然可以引用它$this->name
和<table class="sep-table">
中包含的值,因此它们的记忆力不会被回收。你回收的唯一记忆是指向它们的微小数组对象。
执行作业时,PHP不会制作副本。字符串和数字是不可变的,因此不需要复制它们。通过引用复制对象。并且数组使用写时复制技术,因此如果旧引用仍然存在,它只会在以后复制它们,然后您可以修改副本。