Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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
JSON-PHP查询_Php_Json - Fatal编程技术网

JSON-PHP查询

JSON-PHP查询,php,json,Php,Json,我有一个关于查询使用嵌套对象的JSON结构的问题。为了解释,我将使用一些例子 例如,变量$json是一个json文件: movies [{"name":"good movie", "poster":"link"}] 通常,在对json文件使用json\u decode()函数之后,我可以执行以下操作 $newFiles = $json["movies"]; foreach ($newFiles as $file) { $name = $file["name"]; } 但是,假设我有这个

我有一个关于查询使用嵌套对象的JSON结构的问题。为了解释,我将使用一些例子

例如,变量$json是一个json文件:

movies [{"name":"good movie", "poster":"link"}]  
通常,在对json文件使用json\u decode()函数之后,我可以执行以下操作

$newFiles = $json["movies"];

foreach ($newFiles as $file) {
$name = $file["name"]; }
但是,假设我有这个JSON文件:

movies[{"name":"good movie", "poster": {"original":"link", "smaller":"link"}}]
我如何获得“原创”
的价值,我已经尝试过这样做:

$newFiles = $json["movies"];

foreach ($newFiles as $file) {
$poster = $file["poster" -> "original"]; }

然而,这是行不通的。我找不到合适的语法来查询这个。感谢您的帮助,提前谢谢

使用解码json时,将第二个参数设置为true,如下所示:

<?php
$movies = '[{"name":"good movie", "poster": {"original":"link", "smaller":"link"}}]';
$movieArray = json_decode($movies,true);

foreach($movieArray as $movie){
    print_r($movie['poster']['original']);
}
?>


这将允许您将返回的对象转换为关联数组。因此,可以做一些类似于
$movie['poster']['original']

的事情。提供的答案是否回答了这个问题?