2014-10-19 69 views
-1

我有一個數組,看起來像:PHP將字符串轉換成數組使用序列化和反序列化

Array ([0] => Array ([names] => somename [rating] => 10) [1...]=>...) 

而且我通過這種方式將他帶到一個字符串保存在他的數據庫:

$array_string=mysql_escape_string(serialize($list)); 

然後我把他推入數據庫。

然後,我採取這一陣列(串在數據庫中)在我的網頁,和我做反序列化是這樣的:

$list= unserialize($query_row['list']); 

然後我這樣轉換這個字符串到數組:

$arr=explode("|", $list); 

現在我有一個問題,當我通過var_dump($ arr)進行檢查時;打印我:

array(1){[0] => string(422)「Array([0] => Array([names] => e [rating] => 5)[1] =>數組([names] => d [rating] => 4)[2] =>數組([names] => c [rating] => 3)[3] => Array([names] => b [rating ] => 2)[4] => Array([names] => a [rating] => 1))「}

我不知道如何轉換數組中的字符串(string(422 ))到數組中。 任何人有想法? 謝謝。

+2

正如您在[其他問題]的意見中所建議的(http://stackoverflow.com/questions/26449973/convert-array-to-string-and-get-it-back-to-array-in-php ),請提供[Short,Self Contained,Correct Example](http://sscce.org/)以解決您的問題。沒人理解你在說什麼。 – georg 2014-10-19 16:34:13

回答

0

如果您的目標是在反序列化之後以數組的形式返回數據,那麼您不必爆炸,只需通過反序列化,它就會以數組的形式返回到其原始狀態。
引述PHP文件:The converted value is returned, and can be a boolean, integer, float, string, array or object.

那麼簡單,

$list = unserialize($serialized_array); 

$列表將是在這種情況下一個數組,您可以使用,就像它是序列化之前。

+0

不知道誰低估了我的答案,但我再次編輯它,這是我的糟糕,因爲我混合反序列化和json_decode之間。 – Ali 2014-10-19 16:38:54

+0

這不是我低調,你是對的 - 但這不是我問的。看看我的帖子中的大膽亮點。 – 2014-10-19 16:54:36

相關問題