php存数组到数据库,PHP将数组保存到数据库

本文介绍了在PHP开发中如何处理多维数组,特别是涉及表单提交的复选框数据。当这类数据需要存储到MySQL数据库时,由于数据库无法直接存储数组,可以使用PHP的serialize()或json_encode()函数将数组转换为字符串。存储后,通过unserialize()或json_decode()读取并还原数组。这种方法简化了数据处理,避免了繁杂的拆分和对应错误。
摘要由CSDN通过智能技术生成

PHP开发中,最常用的数据类型算是字符串和数组了,且数组类型的数据通常需要和数据库进行交互,尤其是对于结构化的数据。

​ 在很多时候,我们需要把数字保存到数据库,实现对于结构化数据的直接存储以及读取。

​ 有一个经典用法就是,表单中的复选框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字符串转换为数组

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值