PHP保存数组到MySQL的方法
数组是PHP开发中使用最多的数据类型之一,对于结构化的数据尤为重要。
很多时候我们需要把数组保存到数据库中,实现对结构化数据的直接存储和读取。
其中一个案例就是,对于Form提交的多选checkbox数据,PHP后端就收到的数据就是一个数组,而且有可能还是多维数组。例如,如下一个员工数组:
$staff=array
(
array("name"=>"洪七","number"=>"101","sex"=>"男","job"=>"总经理","mobile"=>array("01234567890","9876543210")),
array("name"=>"郭靖","number"=>"102","sex"=>"男","job"=>"开发工程师"),
array("name"=>"黄蓉","number"=>"103","sex"=>"女","job"=>"产品经理"),
);
对于这样的数据,MySQL数据库是无法直接写入的,那么有什么办法呢?
有,但是需要稍微转换一下,不过也很简单。就是使用PHP自带的serialize()或者json_encode()函数序列化数据成字符串:
//写入数据库之前 $staff_serialize=serialize($staff);//序列化成字符串 $staff_json=json_encode($staff);//JSON编码数组成字符串 //读取数据库后 $staff_restore=unserialize($staff_serialize);//反序列化成数组 $staff_dejson=json_decode($staff_json,true);//JSON解码成数组
之后从数据库里面读出来的数据还是字符串格式的,用unserialize()和json_decode()函数转换成数组就可以了。
效率上来说,使用JSON方法会快1.3~1.4倍。
热门推荐
10 对患者生日祝福语简短
11 结婚祝福语简短装备
12 周岁祝福语学生文案简短
13 订婚领证祝福语简短精辟
14 导师获奖祝福语大全简短
15 新婚购房祝福语简短精辟
16 牛年祝福语简短的爱人
17 送芒果的祝福语简短
18 送给学长毕业祝福语简短