-2

我有一个生成起来非常复杂的数组。

因此,希望生成一次,然后将其作为字符串存储在数据库中。

然后,无论何时需要,都可以简单地从数据库中将其作为字符串检索并声明为数组。有没有一种简单的方法可以在不使用 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
                                )

                        )

                )

        )

)
4

2 回答 2

2

您可以使用json_encodejson_decode功能。它们会将数组序列化为 JSON 字符串或将有效的 JSON 字符串反序列化为数组。

使用序列化/反序列化函数可能并不总是一个好主意,因为它们会带来安全问题。代码可能会在您不希望的反序列化时执行。如果没有外部用户对序列化对象具有写访问权限,那应该没问题。

于 2013-09-12T10:28:55.450 回答
1

是的,使用序列化和反序列化函数。

于 2013-09-12T10:27:46.493 回答