如何将PHP数组转换成JSON保存在数据库中


How to save PHP array in database by converting array into JSON?

这是我的PHP数组。我想把它转换成JSON。在转换为JSON之后。之后我想把它保存在数据库中,我怎么能做到这一点?

Array
(
    [0] => 6:30pm
    [1] => 
)
Array
(
    [0] => 8:00pm
    [1] => 
)

json_encode() -返回值的JSON表示。

返回一个包含value的JSON表示形式的字符串。

一个数字索引的PHP数组被转换成JSON字符串中的数组文字。如果您希望将数组作为对象输出,则可以使用JSON_FORCE_OBJECT选项:

一个例子:

<?php
$ar = array('apple', 'orange', 'banana', 'strawberry');
echo json_encode($ar,JSON_FORCE_OBJECT); 
?>
输出:

{"0":"apple","1":"orange","2":"banana","3":"strawberry"} 

两个例子:

<?php
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
?>
输出:

{"a":1,"b":2,"c":3,"d":4,"e":5}

在您需要获取数据后,您需要json_decode(),如下所示。

json_decode() -解码JSON字符串

获取JSON编码字符串并将其转换为PHP变量。

以适当的PHP类型返回json编码的值。值true、false和null分别返回true、false和null。如果json无法解码或编码的数据深度超过递归限制,则返回NULL。

例子:

<?php
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
?>
输出:

object(stdClass)#1 (5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}
array(5) {
    ["a"] => int(1)
    ["b"] => int(2)
    ["c"] => int(3)
    ["d"] => int(4)
    ["e"] => int(5)
}

如果您确实需要在数据库中存储json,您可以使用json_encodejson_decode

使用json_encode($array),它会给你一个json字符串,然后你可以将它保存到一行