首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用php和mysql存储和检索多维数组

使用php和mysql存储和检索多维数组
EN

Stack Overflow用户
提问于 2009-05-21 15:11:36
回答 4查看 14.3K关注 0票数 9

PHP中有一个多维数组,如下所示:

代码语言:javascript
运行
复制
$array = array(
    "Part1" => array(
        "Subpart1" => array(0, 1),
        "Subpart2" => array(1, 0)
    ),
    "Part2" => array(0),
    "Part3" => array(0, 1, 0)
);

现在,我想将这个数组存储在一个MySQL表中,并在另一个PHP页面上再次像这样检索它。

我一直在尝试使用serialize()unserialize()

代码语言:javascript
运行
复制
$array= serialize($array);

然后在另一页

代码语言:javascript
运行
复制
$array= $row['Array'];
$array2 = array();
$array2 = unserialize($array);

但是我似乎做错了什么,起初我得到了bool(false)的var_dump,现在我得到了NULL的var_dump

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-21 15:13:54

你的代码看起来没问题..。

如果您的列太小--如果您使用VARCHAR(255),您的数据可以被截断,并且不会取消序列化。如果添加$row['Array']的值,我可以看到它是否是整体的。

票数 9
EN

Stack Overflow用户

发布于 2009-05-21 15:34:27

使用列类型文本。序列化数据通常不适合VARCHAR(255)。

票数 4
EN

Stack Overflow用户

发布于 2009-05-21 18:19:00

您可以使用json_encode,json_encode($array),并以json表示法获得一个字符串值,这样您就可以存储在数据库中,并检索并执行json_decode($string,true),这样就可以再次在数组中进行转换。如果不将真正的参数传递给json_decode,它将转换为stdClass。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/893461

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档