我正在研究一個PHP應用程序,該應用程序具有對程序操作至關重要的一個(多個)數組。我需要保持這個數組的內容在頁面加載之間保持不變。我知道$_POST
可以用來保留頁面加載時的大部分數據類型,但是如何將數組放在數組中?
該陣列是一個簡單的,但它有指數的量取決於用戶的輸入 - 它的範圍可以從1 50.
之間的任何地方,以
有沒有什麼辦法可以保留頁面加載之間的陣列的數據與$_POST
?
我正在研究一個PHP應用程序,該應用程序具有對程序操作至關重要的一個(多個)數組。我需要保持這個數組的內容在頁面加載之間保持不變。我知道$_POST
可以用來保留頁面加載時的大部分數據類型,但是如何將數組放在數組中?
該陣列是一個簡單的,但它有指數的量取決於用戶的輸入 - 它的範圍可以從1 50.
之間的任何地方,以
有沒有什麼辦法可以保留頁面加載之間的陣列的數據與$_POST
?
你的問題不是很清楚。在頁面之間傳遞變量應保存在$_SESSION
而不是$_POST
變量中。在會話變量中存儲數組與將任何變量保存到會話變量相同。
$session_start();
$_SESSION['my_array'] = array('one', 'two', 'three');
foreach($_SESSION['my_array'] as $value) {
echo $value;
}
啊,謝謝!我不知道你可以像這樣的數組設置數組索引的值。我現在就放棄它。 – 2013-03-03 07:01:41
客戶端/服務器開發中的規則1:永遠不要相信客戶端。
你最好將數組存儲在PHP的會話狀態中,或者將它序列化到磁盤上。
幸運的是,它很容易:
$_SESSION['someKey]' = $myArray;
還有一個問題,您將其存儲在頁的建議:如果用戶使用Back按鈕和重新提交或以其他方式破壞你的頁面排序,會發生什麼?通過將狀態存儲在客戶端上,您不能再依賴它了。
您應該使用'$ _SESSION',而不是POST。 – dfsq 2013-03-03 06:54:49