在php foreach中循环json在5次传递后中断

在php foreach中循环json在5次传递后中断,php,json,Php,Json,我有以下代码: echo $response ."<br>"; $yummy=(json_decode($response)); $index_temp=0; foreach ($yummy as $optie ) { echo "TEMP = " . $yummy->measures[$index_temp]->value . "<br>"; $index_temp=$index_temp+2; } 问题是,foreach循环总是在

我有以下代码:

echo $response ."<br>";
$yummy=(json_decode($response));

$index_temp=0;

foreach ($yummy as $optie ) {

    echo "TEMP = " . $yummy->measures[$index_temp]->value . "<br>";
    $index_temp=$index_temp+2;

}
问题是,foreach循环总是在经过5次之后中断

有人知道问题出在哪里吗

谢谢,,
markus

您正在循环外部数组id、firmwareType等。。。它只包含5个项目。似乎要循环度量值属性$yummy->measures:

根据您的评论,要以不同方式输出2个id,您可以执行以下操作:

foreach ($yummy->measures as $optie ) {
    if ($optie->id === "temperature"){
        echo "TEMP = " . $optie->value . "<br>";
    }

    if ($optie->id === "humidity"){
        echo "HUM = " . $optie->value . "<br>";
    }
}

好的,谢谢,很好用。最后一个问题:我如何读取每个的时间戳?如果$optie->id==timestamp{$DATE1=$optie->value;}````这不起作用,```` MarkusDuschek应该可以正常工作。您希望$DATE1会发生什么?好的,谢谢您的帮助。现在我还有一个问题,我想把每个设定的温度,时间戳,湿度写在一个文件中:``文件`放置内容'pusherlog1.txt',$TEMP1。摄氏度$哼。Prozent Luftfeuchte.RAWDATA:.$RAWDATA1。FPort:.$FPORT1。Uhrzeit:.$DATE1。DEVEUI1:.$DEVEUI1。BAT:.$BAT1。\r\n,文件\u追加```@MarkusDuschek为此提出了一个新问题。如果我的帖子解决了你的问题,请接受勾选/勾选
foreach ($yummy->measures as $optie ) {
    echo "TEMP = " . $optie->value . "<br>";
}
TEMP = 14.8125
TEMP = 89
TEMP = 14.6875
TEMP = 89
TEMP = 14.625
TEMP = 90
...
foreach ($yummy->measures as $optie ) {
    if ($optie->id === "temperature"){
        echo "TEMP = " . $optie->value . "<br>";
    }

    if ($optie->id === "humidity"){
        echo "HUM = " . $optie->value . "<br>";
    }
}
TEMP = 14.8125
HUM = 89
TEMP = 14.6875
HUM = 89
TEMP = 14.625
HUM = 90
...