使用json_decode从数组中提取

时间:2016-03-25 05:02:15

标签: php arrays json

{
"line1": 12,
"line2": 4,
"line3": 66,
"line4": false,
"line5": true,
"line6": [
    {
        "line7": "false",
        "line8": "true"
    },
    {
        "line9": "false",
        "line10": "false"
    }
],
"line11": 0,
"line12": 0,

使用json_decode,我可以使用以下方法从数组中提取元素:

  

$ showline1 = $ obj-> line1;

     

$ showline2 = $ obj-> line2;

但是如何提取line7,line8,line9和line10?我尝试使用:

  

$ showline7 = $ obj-> line6-> line7;   但它没有奏效。

4 个答案:

答案 0 :(得分:1)

如果仔细观察“line6”里面有多个元素,那么基本上你在用json_decode解码时会得到数组。简而言之,你需要使用$ data-> line6 [0]。要获得所有内部元素,您需要显然使用循环。

答案 1 :(得分:0)

line6是一个数组,因此您需要目标索引 尝试

$showline7 = $obj->line6[0]->line7;

希望它有所帮助:)

答案 2 :(得分:0)

你有没有尝试过:

json_decode($your_json_string,true);

这将返回一个数组而不是object,你可以得到这样的line7值:

$obj["line6"][0]["line7"]

或者作为您的对象,您可以获得如下的line7值:

$obj->line6[0]->line7

答案 3 :(得分:0)

我想在这里添加另一个答案,因为代码很长。

这是我的测试,它运行正常。请看一下。

MyModel.forge()
     .query(function(qb) {
        qb.whereRaw("end_time >= now()")
     })