站长图库

PHP保存数组到数据库

 发布时间 2019-03-20 12:19:11 热度 957

 Tag标签:  PHP数组数据库

数组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()函数转换成数组就可以了。

评论(0)条

    站长图库

    站长素材 - 建站资源分享平台

    猜你喜欢
    全新微信支付宝跑分平台/抢单系统源码/可封装打包APP

    全新微信支付宝跑分平台/抢单系统源码/可封装打包APP

    其他源码 521 2020-06-09

    微信支付宝跑分平台,按照客户需求刚做完,花了10K大洋,分享给大家。大多用于灰色,懂得可以下载玩一下。自行对接商户,可开...

    【完美高仿皮皮果理财农场】H5手机版富贵鸡农场区块链游戏运营级系统网站源码可封装APP

    【完美高仿皮皮果理财农场】H5手机版富贵鸡农场区块链游戏运营级系统网站源码可封装APP

    其他源码 448 2019-12-30

    ★富贵鸡模式控制投机,一轮游,很多抓住先机的投机玩家大单一轮两轮游,富贵鸡拒绝集中排单,人人平等,每人最多养10只鸡,想...

    四合一俊飞商城口红机+打星星+叠乌龟+投篮完美运营源码

    四合一俊飞商城口红机+打星星+叠乌龟+投篮完美运营源码

    其他源码 407 2020-02-09

    这个东西挺好的,源码挺干净,别的就不多说了,这个是过年期间俊飞出的一款源码。这个包含了投篮,口红机,叠乌龟,打星星等游戏...

    jQuery鼠标滑过图片向上弹出放大

    jQuery鼠标滑过图片向上弹出放大

    图片特效 171 2020-01-16

    jQuery鼠标滑过图片向上弹出放大是一款基于jquery+css3实现的鼠标滑过,图片向上滑出放大特效代码。