PHP从字符串还原数组
我有一个数组,生成起来非常复杂 因此,您希望生成它一次,然后将其作为字符串存储在数据库中 然后,无论何时需要它,它都可以作为字符串从数据库中检索并声明为数组。有没有一种简单的方法可以在PHP上执行这样的操作,而不必使用eval()函数 因此,数据库中的字符串可能类似于PHP从字符串还原数组,php,mysql,arrays,Php,Mysql,Arrays,我有一个数组,生成起来非常复杂 因此,您希望生成它一次,然后将其作为字符串存储在数据库中 然后,无论何时需要它,它都可以作为字符串从数据库中检索并声明为数组。有没有一种简单的方法可以在PHP上执行这样的操作,而不必使用eval()函数 因此,数据库中的字符串可能类似于 Array ( [0] => Array ( ['none'] => Array ( ['none
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字符串,或将有效的JSON字符串反序列化为数组
使用序列化/非序列化函数可能并不总是一个好主意,因为它们会带来安全问题。代码可能会在反序列化时执行,这是您不希望执行的。如果外部用户没有对序列化对象的写访问权,那么应该可以。我只是编码和解码了。函数将[0]=>数组更改为[0]=>stdClass对象。i、 数组成为stdClass对象。你知道怎么做吗。我需要它保持一个数组。谢谢,但似乎增加了很多开销,而序列化没有。嗯,我更喜欢安全性而不是开销。Serialize使用二进制格式,JSON是基于ASCII的格式(在各种架构或PHP版本之间传递时不需要额外注意)