【问题标题】:Save and retrieve a php array through mysql通过mysql保存和检索一个php数组
【发布时间】:2013-05-09 08:39:58
【问题描述】:

我想在 mysql 数据库中保存一个长数组,当我从 mysql 数据库中读取该数组时,我希望该数组以正确的数组格式返回。这可能吗?

其他线程建议使用序列化和爆炸将数组转换为字符串。但是他们会帮助我找回正确的阵列吗? 谢谢。

【问题讨论】:

  • 你的数组有什么格式?简单的键值?
  • 一个普通的数组,array('something'=>'value',.....)

标签: php mysql arrays


【解决方案1】:

你可以自己试试。

作为serailize() 的替代品,您可以使用json_encode()

旁注: serialize() 的反面是 unserialize(),而不是 explode()

旁注: json_encode() 的反面是 json_decode()

旁注:非常值得一读:Discussion of json_encode() vs serialize()

【讨论】:

    【解决方案2】:

    通常,serializeunserialize 函数用于此类目的。

    使用序列化,您可以将数组转换为字符串,然后通过对从序列化获得的字符串应用反序列化来获取数组。

    关于爆炸:你也可以使用它,但是你需要使用 implode 函数来序列化数组。但它只适用于最简单的一维数组:

    implode(",", array("val1", "val2", "val3")) = "val1,val2,val3"
    

    【讨论】:

    • 同意implode() 对非常简单的数组很有帮助,但它不处理包含, 的数组元素,这会产生不需要的结果。不过,serialize()json_encode() 是首选。
    猜你喜欢
    • 2012-04-20
    • 2015-08-23
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    • 2018-03-10
    • 1970-01-01
    • 2017-04-18
    • 2021-12-07
    相关资源
    最近更新 更多