在 PHP 中,可以將陣列儲存在 Cookie 中,以便在後續請求時輕鬆擷取。但是,考慮安全隱患並使用正確的序列化技術至關重要。
要將陣列轉換為cookie 相容格式,您可以選擇以下方法:
<code class="php">setcookie('your_cookie_name', json_encode($info), time()+3600);</code>
此方法對於僅由整數組成的陣列有效:
<code class="php">$encodedArray = implode(',', $info); setcookie('your_cookie_name', $encodedArray, time()+3600);</code>
注意:由於潛在的安全風險,請避免使用序列化/反序列化。
另一個選擇是將陣列元素單獨儲存在單獨的cookies:
<code class="php">setcookie('my_array[0]', 'value1' , time()+3600); setcookie('my_array[1]', 'value2' , time()+3600); setcookie('my_array[2]', 'value3' , time()+3600);</code>
當您列印$_COOKIE 變數時,它將包含以下數組:
<code class="php">echo '<pre class="brush:php;toolbar:false">'; print_r( $_COOKIE ); die();</code>
<code class="html"><b>Array ( [my_array] => Array ( [0] => value1 [1] => value2 [2] => value3 ) )</b></code>
這種非序列化方法是一個已記錄的PHP 功能,將cookie 名稱儲存為數組名稱,允許在PHP 腳本中作為數組進行檢索。
以上是如何在 cookie 中儲存 PHP 陣列以及安全性和序列化的最佳實踐是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!