2011-02-23 72 views
0

如:将关联数组存储到MySQL中并将其恢复回PHP的方式?

PHP代码:强大的文本

// $files would be stored into mysql db and will retrieve as original 
$files = array('1' => '1,2,4,5', '5' => '4,5,7,23,56','8' => '45,23,56,67'); 

而且数据库表file's allFile[char]

'1' => '1,2,4,5', '5' => '4,5,7,23,56','8' => '45,23,56,67' 

我想我必须在阵列数据转换成字符串,然后存储到数据库,但implode只有array value没有key.S o,我是否应该使用foreach loopkey/value变成字符串?

foreach ($files as $key => $value){ 
    $str .= $key.'=>'.$value.','; // remove the last comma of the $str 
} 

,当我取回$str形式的数据库,我得到:

$files = array($str); 

所以,我是做正确的方法是什么?!

非常感谢!

+0

如果您将数组的结构转换为表格并将这些元素作为行插入,会不会感觉更容易访问?如果您只是要求他将文本块挂在一行上,数据库可能会感觉过分。 – erisco 2011-02-23 06:00:43

回答

2

json_encode/json_decode是一种流行的选择在这里,因为这意味着数据库内容仍然是可读没有PHP。在我的快速测试中,以JSON格式存储也更加高效。

+0

更重要的是,您可以使用'json_encode'来存储宽字符,这是PHP的(un)序列化扼流圈上的。 – meagar 2011-02-23 05:24:18

相关问题