我有一个数组,生成起来非常复杂。
因此,希望生成一次,然后作为字符串存储在数据库中。
然后,只要需要,就可以简单地从数据库中检索它作为字符串并声明为数组。有没有一种简单的方法可以在不使用 eval() 函数的情况下在 PHP 上做这样的事情。
所以数据库中的字符串可能是这样的
Array
(
[0] => Array
(
['none'] => Array
(
['none'] => Array
(
['Page'] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
)
)
)
[1] => Array
(
['Volume 1'] => Array
(
[] => Array
(
['Page'] => Array
(
[27] => 18
[28] => 19
[29] => 20
)
)
)
['Volume 2'] => Array
(
[] => Array
(
['Page'] => Array
(
[0] => 1
[1] => 2
[2] => 3
[3] => 4
[4] => 5
[5] => 6
)
)
)
)
)
您可以使用
json_encode
和json_decode
函数。它们将数组序列化为 JSON 字符串或将有效的 JSON 字符串分别反序列化为数组。
使用序列化/反序列化函数可能并不总是一个好主意,因为它们会带来安全问题。代码可能会在反序列化时执行,这是您不打算执行的。如果没有外部用户对序列化对象具有写入访问权限,则应该没问题。
是的,使用序列化和反序列化函数。