Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.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/4/json/13.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_Json_Decode - Fatal编程技术网

如何在PHP中从JSON编码中获取值?

如何在PHP中从JSON编码中获取值?,php,json,decode,Php,Json,Decode,我搜索了又搜索,但我不知道从JSON编码中获取值的错误在哪里,你能帮我吗?请不要杀我,我是新手:) 我的php: <?php $data = json_decode("document.json", true); $getit = $data["likes"]; 编辑 谢谢你的帮助,这是现在工作 对于json\u decode您必须传递json字符串,而不是文件名。使用file\u get\u contents获取JSON内容,然后对其进行解码 $data = json_decode(

我搜索了又搜索,但我不知道从JSON编码中获取值的错误在哪里,你能帮我吗?请不要杀我,我是新手:)

我的php:

<?php
$data = json_decode("document.json", true);
$getit = $data["likes"];
编辑


谢谢你的帮助,这是现在工作

对于
json\u decode
您必须传递json字符串,而不是文件名。使用
file\u get\u contents
获取JSON内容,然后对其进行解码

$data  = json_decode(file_get_contents('document.json'), true);
$getit = $data[0]['likes'];

对于
json\u decode
您必须传递json字符串,而不是文件名。使用
file\u get\u contents
获取JSON内容,然后对其进行解码

$data  = json_decode(file_get_contents('document.json'), true);
$getit = $data[0]['likes'];

JSON是一个对象数组,首先需要访问数组的第一个元素:

$data[0]
然后,您可以访问所需的密钥:

$getit = $data[0]['likes'];
另外,正如上面的注释所述,您需要向json encode传递一个字符串,下面是一个代码示例,它应该适合您的需要:

<?php
$data = json_decode(file_get_contents('document.json'), true);

$getit = $data[0]["likes"];

您的JSON是一个对象数组,您首先需要访问数组的第一个元素:

$data[0]
然后,您可以访问所需的密钥:

$getit = $data[0]['likes'];
另外,正如上面的注释所述,您需要向json encode传递一个字符串,下面是一个代码示例,它应该适合您的需要:

<?php
$data = json_decode(file_get_contents('document.json'), true);

$getit = $data[0]["likes"];

json_decode
需要一个字符串,而不是文件名-因此您必须首先获取给定文件的内容。这可以通过
file\u get\u contents
轻松实现

您当前的json结构包含一个数组(当前只有一个元素),其中包含一个对象。因此,如果需要likes,则必须读取结果数组的第一个元素以及该数组(关联数组)的第一个元素likes

$data = json_decode(file_get_contents($filename), true);
$likes = $data[0]['likes'];
如果给定json文件中有多个对象,可以使用
foreach

foreach ($data as $element) {
    echo "likes of {$element['title']}: {$element['likes']}\n";
}

json_decode
需要一个字符串,而不是文件名-因此您必须首先获取给定文件的内容。这可以通过
file\u get\u contents
轻松实现

您当前的json结构包含一个数组(当前只有一个元素),其中包含一个对象。因此,如果需要likes,则必须读取结果数组的第一个元素以及该数组(关联数组)的第一个元素likes

$data = json_decode(file_get_contents($filename), true);
$likes = $data[0]['likes'];
如果给定json文件中有多个对象,可以使用
foreach

foreach ($data as $element) {
    echo "likes of {$element['title']}: {$element['likes']}\n";
}

json\u decode()
将json编码的字符串作为参数。不是文件名。因此,您需要使用正常的文件处理操作来读取文件内容,然后对其进行解码。我建议您首先阅读您想要使用的工具的文档:如果是这种情况,那么它应该是
$data[0]['likes']]
您还需要更新访问$data的方式,查看您得到的每个答案和@Thamilan comment。您是否可以添加错误报告(E_ALL);和ini设置(“显示错误”,true);在脚本顶部并发布输出?
json\u decode()
将json编码的字符串作为参数。不是文件名。因此,您需要使用正常的文件处理操作来读取文件内容,然后对其进行解码。我建议您首先阅读您想要使用的工具的文档:如果是这种情况,那么它应该是
$data[0]['likes']]
您还需要更新访问$data的方式,查看您得到的每个答案和@Thamilan comment。您是否可以添加错误报告(E_ALL);和ini设置(“显示错误”,true);在脚本的顶部并发布输出?