Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法读入数组JSON_Php_Arrays_Json - Fatal编程技术网

Php 无法读入数组JSON

Php 无法读入数组JSON,php,arrays,json,Php,Arrays,Json,这是字符串:[{cid:PWER,data:[{156763277000:10541}],sid:780160,units:W,age:5},{cid:PWER_SUB,data:[{1567613272000:384}],sid:780630,units:W,age:10}我无法获取数据的值 我尝试过在数组中循环,但没有成功 $arr = json_decode($j,true); echo $arr[0][0]; 只返回一个错误 我正在尝试获取1567613277000:10541

这是字符串:[{cid:PWER,data:[{156763277000:10541}],sid:780160,units:W,age:5},{cid:PWER_SUB,data:[{1567613272000:384}],sid:780630,units:W,age:10}我无法获取数据的值

我尝试过在数组中循环,但没有成功

$arr = json_decode($j,true);
    echo $arr[0][0];
只返回一个错误


我正在尝试获取1567613277000:10541作为结果。

我将与您共享功能代码,因为您正在努力。不过,这个问题在评论中确实得到了回答。鼓励你也投票给它一个重复的问题,并关闭它

<?php
$json = '[{
    "cid": "PWER",
    "data": [{
        "1567613277000": 10541
    }],
    "sid": "780160",
    "units": "W",
    "age": 5
}, {
    "cid": "PWER_SUB",
    "data": [{
        "1567613272000": 384
    }],
    "sid": "780630",
    "units": "W",
    "age": 10
}]';

$a = json_decode($json, true);

foreach ($a as $k => $v) {
  $foo = $v['data'][0];
  $fooKey = key($foo);
  $fooValue = reset($foo);

  var_dump('key:' . $fooKey, 'value:' . $fooValue);
}

记住var_dump是你的朋友。它只是一个数组,由于嵌套的缘故看起来很复杂。迭代和转储,一步一步,您可以管理任何数组,不管它有多复杂。

因为内部数组是关联数组,而不是数字数组。您是否完成了var_dump$arr;?有助于共享错误消息。您必须尝试此echo$arr[0]['data'][0]['1567613277000'];因为它是一个关联数组。最后一个数字一直在变化,我试图每分钟将其结果写入数据库,我不确定如何读入关联数组,如果我使用$arr[0][0]它会说:注意:未定义的偏移量:第9行/opt/lampp/htdocs/index.php中的0我建议使用它来找出数据数组中的第一个键,然后你可以通过这种方式访问值。非常感谢!!!