Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php和mysql存储和检索多维数组_Php_Mysql_Sql_Serialization - Fatal编程技术网

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

使用php和mysql存储和检索多维数组,php,mysql,sql,serialization,Php,Mysql,Sql,Serialization,我在PHP中有一个多维数组,如下所示: $array = array( "Part1" => array( "Subpart1" => array(0, 1), "Subpart2" => array(1, 0) ), "Part2" => array(0), "Part3" => array(0, 1, 0) ); 现在,我想将这个数组存储在一个MySQL表中,并在另一个PHP页面上像这样检索它 我

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

$array = array(
    "Part1" => array(
        "Subpart1" => array(0, 1),
        "Subpart2" => array(1, 0)
    ),
    "Part2" => array(0),
    "Part3" => array(0, 1, 0)
);
现在,我想将这个数组存储在一个MySQL表中,并在另一个PHP页面上像这样检索它

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

然后在另一页

$array= $row['Array'];
$array2 = array();
$array2 = unserialize($array);
但我似乎做错了什么,一开始我得到了bool(false)的
var\u dump
,现在我得到了NULL的
var\u dump

你的代码看起来不错


有一件事可能会让你大吃一惊,那就是如果你的列太小——如果你使用VARCHAR(255),你的数据可能会被截断,并且不会取消序列化。如果您添加
$row['Array']
的值,我可以查看它是否完整。

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

您可以使用json编码、json_编码($array),您将获得一个json表示法中的字符串值,以便存储在数据库中,然后检索并执行json_解码($string,true),以便再次在数组中转换。如果不将true参数传递给json_解码,它将转换为stdClass。

详细信息 数量 费率 金额 金额 其他 其他金额 税 全部的 这是我的php/html表格。
我需要以单独的表格格式存储和检索php细节(p)、数量(q)、比率(r)

只要一个小注释,您就可以将非序列化代码从这3行简化为一行:$array2=unserialize($row['Array']);我现在觉得自己非常愚蠢。。先生,你是我的上帝!我只知道这件事因为我自己做过。。。不止一次!
$array= $row['Array'];
$array2 = array();
$array2 = unserialize($array);