-1
我們在生成多維數組時遇到了問題。將80k個別數組推入多維數組,在PHP中引發500錯誤
我們試圖從數據庫中獲取80k記錄,並使用以下格式推入數組。
while($singleArray = $resultSet->FetchRow())
{
$multiArray[$singleArray['id']]['field1'] = $singleArray['field1'];
$multiArray[$singleArray['id']]['field2'] = $singleArray['field2'];
$multiArray[$singleArray['id']]['field3'] = $singleArray['field3'];
$multiArray[$singleArray['id']]['field4'] = $singleArray['field4'];
}
$ multiArray是一個多維數組,$ singleArray是結果集中的單個記錄。
我們使用while循環來生成最終數組($ multiArray)。執行進入該循環後,服務器發送500錯誤。我們沒有得到任何錯誤,直到結果集大小爲15k。
爲了克服這個錯誤,我們在腳本的頂部添加了以下行。
ini_set('memory_limit', '1024M');
這是正確的解決方案嗎?請讓我知道,謝謝。
你是否真的需要一次在內存中的所有內容? – 2016-11-30 09:33:27
爲什麼在同一時間需要PHP中的很多條目?通常最好只是獲取數據庫中所需和/或聚合的條目。 – Sirko