使用php和mysql存储和检索多维数组
我在PHP中有一个多维数组,如下所示:使用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页面上像这样检索它 我
$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);