如何使用 PHP 在 Mysql 中存储数组

Posted

技术标签:

【中文标题】如何使用 PHP 在 Mysql 中存储数组【英文标题】:How to Store Array in Mysql Using PHP 【发布时间】:2017-03-30 09:33:37 【问题描述】:

我想将数组存储在 mysql 数据库中。有键有值

以下是我使用的代码

         $name= "prashant";
         $lname= "kumbhar";
         $test = "testing";

        $array = array('fname'=>$name,'lname'=>$lname,'test' =>$testing);

使用 php 将这些 $array 存储在数据库中

【问题讨论】:

mysql中需要使用json来存储数组数据 拜托..你能告诉我怎么做吗 你应该看看serialize 很有趣,如果我用 Google 搜索你的标题,我会看到 this。请告诉我,你怎么找不到这个? 【参考方案1】:

使用 json_encode 将数组转换成 json 格式然后存入数据库,你可以使用 json_decode 将 json 字符串格式转换回数组。示例

  $name= "prashant";
  $lname= "kumbhar";
  $test = "testing";

  $array = array('fname'=>$name,'lname'=>$lname,'test' = $testing);
  $data_for_db = json_endcode($array);

您可以将存储的 json 格式数据转换回普通数组,如下所示

$array = json_decode($data_for_db);

谢谢

【讨论】:

【参考方案2】:

使用json_encode()将数据存储到mysql表中。

<?php
$name= "prashant";
$lname= "kumbhar";
$test = "testing";

$array = array('fname'=>$name,
               'lname'=>$lname,
               'test' => $test
         );

$res = json_encode($array);
echo "Convert from array to json :" .$res;

echo "\n\nFrom json to array:\n";
print_r(json_decode($res));

输出

Convert from array to json :
"fname":"prashant","lname":"kumbhar","test":"testing"

From json to array:
stdClass Object
(
    [fname] => prashant
    [lname] => kumbhar
    [test] => testing
)

在以数组形式检索数据时,然后使用json_decode()

工作演示:Click Here

【讨论】:

我可以直接存储 $result = json_encode($array);像这样 您需要将 $result 数据/输出存储在数据库中【参考方案3】:

您可以序列化数组并将字符串存储在数据库中:

serialize ($array);

如果你想使用它,只需反序列化你从数据库中获得的结果

$array = unserialize ($databaseResult);

如果您更喜欢 json,您可以使用 json_encodejson_decode 做同样的事情

【讨论】:

当我使用序列化数组时,数据变为 0,用户反序列化,然后数据存储 a:15:s:18:"electricity_backup";s:18:"electricity backup";s:15:"空调";s:15:"空调";s:22:"djcredit_card_accepted"; 我不确定您的意思,但您可以将该序列化字符串保存到数据库中

以上是关于如何使用 PHP 在 Mysql 中存储数组的主要内容,如果未能解决你的问题,请参考以下文章

如何在客户端存储一个php数组?

如何将mysql数据的行/列存储在数组中

如何将 localstorage 数组存储到 MySQL 数据库中?

MySQL和PHP:如何在包含ID的数组中获取多个ID [重复]

如何使存储的图像文件夹只能通过 php 代码访问

PHP从mysql中取出多组数据 如何加入数组中并转成JSON数组