如何使用 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_encode
和 json_decode
做同样的事情
【讨论】:
当我使用序列化数组时,数据变为 0,用户反序列化,然后数据存储 a:15:s:18:"electricity_backup";s:18:"electricity backup";s:15:"空调";s:15:"空调";s:22:"djcredit_card_accepted"; 我不确定您的意思,但您可以将该序列化字符串保存到数据库中以上是关于如何使用 PHP 在 Mysql 中存储数组的主要内容,如果未能解决你的问题,请参考以下文章
如何将 localstorage 数组存储到 MySQL 数据库中?