Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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解码中获取_id_Php_Json_Mongodb - Fatal编程技术网

Php 如何从json解码中获取_id

Php 如何从json解码中获取_id,php,json,mongodb,Php,Json,Mongodb,这是我从mongodb获得的json: object(stdClass)[6] public '572453d55addfab49090ea71' => object(stdClass)[7] public '_id' => object(stdClass)[8] public '$id' => string '572453d55addfab49090ea71' (length=24) public '

这是我从mongodb获得的json:

object(stdClass)[6]
  public '572453d55addfab49090ea71' => 
    object(stdClass)[7]
      public '_id' => 
        object(stdClass)[8]
          public '$id' => string '572453d55addfab49090ea71' (length=24)
      public 'location' => 
        array (size=2)
          0 => float 24.8615
          1 => float 67.0099
为了访问位置,我必须在php中使用以下语句

$lat= $j->{'572453d55addfab49090ea71'}->location[0]; 
我想通过首先获取_id,然后使用上面的语句来实现通用性。我尝试了以下所有返回错误的语句:

 echo $arr= json_encode(iterator_to_array($cursor));
     echo var_dump(json_decode($arr));
$j = json_decode($arr,false);
     $lat = $j->_id->id;
    $lng = $j->id->location[1];

请告诉我如何解决这个问题

使用另一个参数
true
json\u decode()
,然后您将得到php数组格式的结果

使用下面的代码打印数组并将结果粘贴到此处,然后我会让您知道如何打印您的_id

$jsonDecode = json_decode($yourJson, true);
echo "<pre>"; print_r($jsonDecode);
最后使用:


你能显示你的json格式吗?@Irfan{“572453d55addfab49090ea71”:{“\u id”:{“$id”:“572453d55addfab49090ea71”},位置:[24.8615,67.0099]}echo var_dump(json_decode($arr))的输出是什么?尝试访问
id
作为
$j->{'''u id'}->{'$id'}@Alex不工作一行代码可以在注释中完成。你可以在上面看到。没关系,我下次会处理这件事。。谢谢你我为什么这么说,因为你可能会面临一些-ve标记,很多时候我都看到了它。@Anant,但我不得不添加一些关于
json_decode()
的解释,并且进一步写了一行,这就是为什么,我把这个放在了答案中。这里是:Array([572453d55addfab49090ea71]=>Array([\u id]=>数组([$id]=>572453d55addfab49090ea71)[位置]=>数组([0]=>24.8615[1]=>67.0099]))
 Array ( 
        [572453d55addfab49090ea71] =>
                 Array ( 
                        [_id] => 
                                Array ( 
                                        [$id] => 572453d55addfab49090ea71 
                                      )

                         [location] => Array ( [0] => 24.8615 [1] => 67.0099 ) 
                       ) 
        )
$_id = array_column($jsonDecode, '_id');
echo $_id[0]['$id'];