在很多时候,我们需要把数字保存到数据库,实现对于结构化数据的直接存储以及读取。
有一个经典用法就是,表单中的复选框checkbox叫多项数据提交给PHP后端,那PHP接收到的就是一个数组,且在很多情况下,有可能还是一个多维数组。例如求职信息中的期望就职的行业是多选的,每个行业中的职位也是多选的,那提交上来的数据是这样的:
[PHP] 纯文本查看 复制代码
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 | $job = array( array( "name"=>"IT服务/系统集成", "subcate"=>array( "产品经理专员", "网站策划", "网站运营" ), ), array( "name"=>"互联网电子商务", "subcate"=>array( "软件工程师", "测试工程师" ) ),); |
对于这样的数据,MySQL数据库是没有办法直接写入的,那么我们首先考虑到的就是将数据拆分处理,可是这项工作既繁杂,又很容易出错,很难对应,所以,我们需要另辟蹊径,将数据进行转换,操作起来简单。
1.使用PHP提供的序列化函数serialize()
[PHP] 纯文本查看 复制代码
1 | $job_serialize = serialize($job); // 序列化成字符串 |
接下来就是将这个字符串存入数据库即可,当我们将数据读取出来时,再将这个字符串进行反序列为数组即可
[PHP] 纯文本查看 复制代码
1 | $job_restore = unserialize($job_serialize); // 反序列化为数组 |
2.使用PHP提供的函数json_encode()
[PHP] 纯文本查看 复制代码
1 | $job_json = json_encode($job); // 将数组转换为json格式的字符串 |
接下来就是将这个字符串存入数据库即可,当我们将数据读取出来时,再将这个字符串进行转换为数组即可
[PHP] 纯文本查看 复制代码
1 | $job_dejson = json_decode($job_json,true); // 将json字符串转换为数组 |












IP短视频
C/C++
狂野架构师
AI智能应用开发(Java)
AI大模型开发(Python)
AI鸿蒙开发
AI嵌入式+机器人开发
前端开发
AI大数据开发
AI运维
AI测试
AI设计
AI视频创作与直播运营
C/C++
产品经理
拍摄剪辑+短视频制作
PMP项目管理认证
电商运营
Go语言与区块链
大数据
PHP工程师
Android+物联网
iOS
.NET




