【问题标题】:How do I put this multidimensional array into a SQL-DB cell?如何将此多维数组放入 SQL-DB 单元?
【发布时间】:2012-03-14 05:39:27
【问题描述】:

我有这个多维数组:

Array
(
    [tennis] => Array
        (
            [3] => Seattle
            [4] => WA
            [5] => 98109
        )

    [Middle East] => Array
        (
            [6] => 2066822513
            [7] => 34740 - Georgetown Keg - 1/2 Manny Pale
            [0] => Hello World
        )

    [Florida] => Array
        (
            [1] => 38380 - Thirteen Coins-Boren
            [2] => 125 Boren Ave N
            [3] => Seattle
        )

)

我正在寻找一种方法来最好地将它存储到我的 SQL-DB 中的一个单元格中。必须保留主阵列(网球、中东、佛罗里达)的键。子数组的其他键可以省略。我该怎么做?

【问题讨论】:

标签: php mysql sql arrays multidimensional-array


【解决方案1】:

我阅读了序列化函数,并实现了它。

解决方法:首先我把数组变成字符串:

$array = 序列化($array);

然后我将字符串存储到 DB 单元中。

为了取回数组,我从 DB 单元中反序列化字符串:

$array = unserialize($array);

我最终得到了相同的数组。简单

【讨论】:

    【解决方案2】:

    查看serialize 函数。

    【讨论】:

    • 谢谢你。我已经做到了,并发布了详细的解决方案
    【解决方案3】:

    我会使用 JSON,因为它更通用。

    <?php
      $json=addslashes(json_encode($array));
      mysql_query("INSERT INTO table (data) VALUES ('$json')");
    ?>
    

    对于非常大的 blob,您可以使用 gzdeflate() 在这种情况下,我建议还保存校验和。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      相关资源
      最近更新 更多