Home > Backend Development > PHP Tutorial > PHP如何将多维数组插入数据库

PHP如何将多维数组插入数据库

WBOY
Release: 2016-06-06 20:37:50
Original
1907 people have browsed it

<code>php</code><code><?php $staff=array
(
    array("name"=>"洪七","number"=>"101","sex"=>"男","job"=>"总经理"),
    array("name"=>"郭靖","number"=>"102","sex"=>"男","job"=>"开发工程师"),
    array("name"=>"黄蓉","number"=>"103","sex"=>"女","job"=>"产品经理"),
);


</code>
Copy after login
Copy after login

回复内容:

<code>php</code><code><?php $staff=array
(
    array("name"=>"洪七","number"=>"101","sex"=>"男","job"=>"总经理"),
    array("name"=>"郭靖","number"=>"102","sex"=>"男","job"=>"开发工程师"),
    array("name"=>"黄蓉","number"=>"103","sex"=>"女","job"=>"产品经理"),
);


</code>
Copy after login
Copy after login

serialize序列化数组,然后用unserialize反序列化就可以了。

$myArray = array();
$myJson = json_encode($myArray);

$myJson是一个字符串,直接存数据库。

需要读取的时候
$myJson = ....;
$myArray = json_decode($myJson,true);

这样$myArray就是原来的数组。

http://php.net/manual/zh/function.serialize.php
http://php.net/manual/zh/function.json-encode.php

用序列化函数将数组序列化成字符串之后再存储到数据库中

补充上面的答案

如果是单个公司,新建一个staff表,然后把数据foreach进去,每行一个数字
如果是多个公司,新建一个staff表,然后把数据foreach进去,每行一个数字,并且加上公司id字段

这样后期增删查改也许容易点。

这里代码不能格式化么?多维数组 你确定不是数据库的设计有问题么?

serialize 的话如果只给php调用的话
json_encode 考虑多平台多语言

<code>/**
* 将字符串转换为数组
*
* @param    string  $data   字符串
* @return   array   返回数组格式,如果,data为空,则返回空数组
*/
function string2array($data) {
    if($data == '') return array();
    @eval("\$array = $data;");
    return $array;
}
/**
* 将数组转换为字符串
*
* @param    array   $data       数组
* @param    bool    $isformdata 如果为0,则不使用new_stripslashes处理,可选参数,默认为1
* @return   string  返回字符串,如果,data为空,则返回空
*/
function array2string($data, $isformdata = 1) {
    if($data == '') return '';
    if($isformdata) $data = new_stripslashes($data);
    return addslashes(var_export($data, TRUE));
}
</code>
Copy after login

phpcms里面用这种方法,请问和序列化比哪个更好?这是把数组变成字符串保存在数据库中,从数据库中读取就把字符串转换成数组。

"洪七","number"=>"101","sex"=>"男","job"=>"总经理"), array("name"=>"郭靖","number"=>"102","sex"=>"男","job"=>"开发工程师"), array("name"=>"黄蓉","number"=>"103","sex"=>"女","job"=>"产品经理"), ); ?>

Related labels:
php
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template