Php 使用json_解码从数组中提取

Php 使用json_解码从数组中提取,php,arrays,json,Php,Arrays,Json,使用json_decode,我可以使用以下方法从数组中提取元素: $showline1=$obj->line1 $showline2=$obj->line2 但是如何提取第7行、第8行、第9行和第10行呢?我尝试使用: $showline7=$obj->line6->line7; 但它不起作用 如果仔细观察,“line6”中有多个元素,那么基本上,当您使用json_decode进行解码时,您将得到数组。简而言之,要获得第7行,您需要使用$data->line6[0]。要获得所有内部元素,显然需要

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

$showline1=$obj->line1

$showline2=$obj->line2

但是如何提取第7行、第8行、第9行和第10行呢?我尝试使用:

$showline7=$obj->line6->line7; 但它不起作用


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

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

希望有帮助:)

您是否尝试过:

$showline7 = $obj->line6[0]->line7;
这将返回一个数组而不是对象,您可以像这样获得line7值:

json_decode($your_json_string,true);
$obj["line6"][0]["line7"]
或者,作为对象,可以按如下方式获取line7值:

json_decode($your_json_string,true);
$obj["line6"][0]["line7"]

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

这是我的测试,效果很好。请看一看

$obj->line6[0]->line7

尝试json_decode(字符串,true),它将返回一个关联数组而不是对象。如果第9行和第10行有动态名称如何?我怎样才能得到这些?我可以使用:$showline7=$obj->line6[1]->line9$showline7=$obj->line6[1]->line9;将适用于当前对象。我正在尝试获取第9行和第10行,但不起作用。我试过:$obj->line6[1]->line9;我不知道为什么,但现在它起作用了。谢谢大家D