如何通过将数组转换为JSON来保存数据库中的PHP数组?

时间:2016-10-04 13:04:38

标签: php mysql json

这是我的PHP数组。我想将其转换为JSON。转换为JSON后。比我想在数据库中保存后我怎样才能实现这个目标?

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

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

返回包含值的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)
}

答案 2 :(得分:0)

使用json_encode($array),它会为你提供一个json字符串,而不是将它保存到一行。