free()函数在PHP中有什么作用?

时间:2016-08-08 05:18:05

标签: php

this page上的第一个代码示例中,这是第二个函数。

评论说它释放了结果集,但我无法理解释放结果集究竟是什么意思?结果集是一个对象,那么解放它是什么意思?

/* free result set */
$result->free();

1 个答案:

答案 0 :(得分:5)

创建结果集是动态内存分配的一种形式,几乎可以肯定在执行SQL查询时完成,如:

$conn = some_connection_to_database();
$rows = $conn->query("select name from etc_passwd where group = 'admin'")

由于您的目的是使用该结果集,因此无法将其作为查询本身的一部分释放。

因此,一旦运行查询并返回结果集,负责在完成后释放该内存。

这就是使用free()的地方。基本思想(英文)是:

  • 从某处获取结果集。
  • 使用它。
  • 将其返回源(这是free位)。