看板 PHP 關於我們 聯絡資訊
※ 引述《sum90707 (破褲王)》之銘言: : 各位大大最近小的在學程式上有些疑問 : 就是序列化跟反序列化 : 分開用我可以理解 就像是先整理收好 要用在拿出來還原 : 那像下面這種用法 : unserialize(serialize($A)) : 是什麼樣的概念有大大可以明示一下嗎? 那裡面的變數放$_SESSION 這又是什麼樣的概念@@ 有人能幫我解答嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.96.164 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1478707088.A.5B0.html
MOONRAKER: 不然你的"概念"中"覺得"session是做什麼用的11/10 10:57
※ 編輯: sum90707 (61.230.8.189), 11/10/2016 21:40:48
MOONRAKER: 你到底有改到什麼 11/10 21:44
wilson200106: 是指 $_SESSION['A']=unserialize(serialize($A)) ? 11/11 13:09
sum90707: $A = unserialize(serialize($_SESSION['A'])) 11/11 19:30
sum90707: session不是暫時儲存資料用的嗎 11/11 19:30
wilson200106: 這就只是把SESSION的資料拿出來過濾存到新變數呀@@ 11/11 20:19
sum90707: 我是不懂為什麼要直接做一個正反 @@很好奇 而且網路上也 11/11 22:40
sum90707: 沒什麼看到這種用法 ~~ 11/11 22:40
MOONRAKER: 這個誰知道 你要實際看他變數內容 處理後又有什麼變化 11/12 02:25
MOONRAKER: 有些撇步利用的效果不一定是有明確定義的 php版本一直 11/12 02:27
MOONRAKER: 修改 有可能讓這些方法無效 那不學也罷 11/12 02:27
GALINE: 我會建議把 code 貼到 gist 然後貼上來(如果沒有機敏問題 11/14 08:40
GALINE: 不然這樣問還滿需要通靈能力的....(汗 11/14 08:41
GALINE: 我一下想到幾個可能性: 11/14 08:43
GALINE: - 想確保session不會被改到,但又要取用裡面的「物件」 11/14 08:43
GALINE: - 寫 code 的人不會用 clone 11/14 08:43
GALINE: - 上古時代某些奇怪的class相依性。這在官方文件的使用者 11/14 08:44
GALINE: 註解裡面有看到,但一下沒搞懂這裡發生了什麼 11/14 08:45
GALINE: - 有人只是想把 code 弄亂 11/14 08:45
GALINE: - 那只是個練習用的範例,沒有實際意義 11/14 08:45
GALINE: 沒看到 code 真的不知道是哪種情況... 11/14 08:46
GALINE: 或者,最低限度,至少你知道這不是什麼天天會碰到的手法.. 11/14 08:47
GALINE: 阿,熊熊忘記剛剛試了才想起來, clone 只能複製物件 11/14 08:50
GALINE: 所以複製 array 可以用這招...雖然序列化/反序列化有點慢 11/14 08:51
GALINE: 但是 request 量不大(一秒幾十幾百次之類)的話可以用 11/14 08:52
GALINE: 這是在陣列裡面有物件,又要複製整個陣列時才需要這麼搞 11/14 09:07
GALINE: 如果陣列裡面都是字串數字之類的,用 $a = $b 就是複製了 11/14 09:08
sum90707: 感謝 我好像有點明白了~ 11/15 14:49