2016-08-08 85 views
1

第一個代碼示例上this page,這是第二個最後函數調用。函數free()在PHP中做什麼?

評論說它釋放結果集,但我無法理解釋放結果集究竟意味着什麼?結果集是一個對象,那麼釋放它是什麼意思?

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

你的問題說「這個頁面」?哪一頁?沒有鏈接。 – Gordon

+0

@戈登http://php.net/manual/en/mysqli-result.fetch-assoc.php對不起 – Jesss

回答

4

結果集的創建是動態內存分配的一種形式,幾乎可以肯定做的是執行一個SQL查詢時,是這樣的:

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

由於意圖是爲你,然後使用那個結果集,它不能作爲查詢本身的一部分被釋放。

因此,一旦查詢運行並返回結果集,當您完成該操作後,將返回,負責釋放該內存。

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

  • 從某處獲取結果集。
  • 使用它。
  • 返回源代碼(這是free位)。