[英]Passing a large array between pages in PHP
有什么辦法可以完整地在兩個頁面之間傳遞數組嗎?
我正在建立一個龐大的數組,它的結構使用了大量的內存。 我希望能夠完整地存儲數組,然后從另一個頁面重新訪問它?
如果我使用$x = print_r($array,true);
並將其寫入文件,然后又如何將其重建為數組,或者有沒有更好的方法呢?
您可以輕松地將數據存儲在會話中。 像這樣
$_SESSION['serialized_data'] = urlencode(serialize($your_data));
然后在第二頁上:
$your_data = unserialize(urldecode($_SESSION[$serialized_data]));
我經常使用這種方法。
您可以將其存儲在會話中(不確定它的大小)..如果要寫入文件..您可以執行以下操作:
$fp = fopen("file.php" , "w");
fwrite($fp , "<? \$array = ".var_export($array,true).";");
fclose($fp);
然后像加載普通文件一樣在下一頁加載該文件。
通常,在頁面之間傳遞大量數據不是一個很好的決定,但是可能會有例外-您要在這里完成什么?
我不建議使用會話變量。 在許多情況下,如果數據似乎很大,可以在頁面之間傳遞。 在這些情況下,使用數據庫獲取信息並從每個頁面訪問數據庫可能會很有用。
最簡單的方法是使用會話變量。
$_SESSION['big_array']=$big_array;
如果它是高容量站點,則這不是特別可取的做法(因為陣列將一直駐留在內存中,直到會話終止),否則應該沒問題。
您需要確保已啟動會話,如果有必要,可以使用以下方法完成該會話:
session_start();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.