php中的foreach只迭代第一个JSON

php中的foreach只迭代第一个JSON,php,json,loops,foreach,Php,Json,Loops,Foreach,请看一下:对于json $json = json_decode($raw_json); //print_r($json); $count = count($json->response->results); $i = 0; foreach($json->response->results as $item){ echo($item->entries[$i]->displayname);echo "<br>"; echo($item-&g

请看一下:对于json

$json = json_decode($raw_json);
//print_r($json);
$count = count($json->response->results);

$i = 0;
foreach($json->response->results as $item){

  echo($item->entries[$i]->displayname);echo "<br>";
  echo($item->entries[$i]->location->street);echo " "; echo($item->entries[$i]->location->streetnumber);echo "<br>";
  echo($item->entries[$i]->location->zipcode);echo " ";
  echo($item->entries[$i]->location->city);echo "<br>";echo "<br>";
  echo($item->entries[$i]->phonenumbers[0]->area);echo "/"; echo($item->entries[$i]->phonenumbers[0]->number);echo "<br>";
$i++;
}
$json=json\u decode($raw\u json);
//打印(json);
$count=count($json->response->results);
$i=0;
foreach($json->response->results as$item){
echo($item->entries[$i]->displayname);echo“
”; echo($item->entries[$i]->location->street);echo“”;echo($item->entries[$i]->location->streetnumber);echo“
”; echo($item->entries[$i]->location->zipcode);echo“”; echo($item->entries[$i]->location->city);echo“
”echo“
”; echo($item->entries[$i]->phonenumbers[0]->区域);echo“/”echo($item->entries[$i]->phonenumbers[0]->数字);echo“
”; $i++; }
问题是只打印第一个元素。如果我用1手动更改$i,则得到第二个

我已经找了3个小时了,找不到解决办法。如果是初学者的错误,请原谅我

谢谢

更新:
感谢大家的快速帮助

您应该这样回应:

echo $item->entries[$i]->displayname . "<br>";
echo$item->entries[$i]->displayname。“
”;
连接字符串。另外,
echo
不使用任何
()

更改

foreach($json->response->results as $item){

这些线呢

echo($item->entries[$i]->displayname);echo "<br>";
echo($item->entries[$i]->displayname);回声“
”;

echo$item->displayname。“
”;
因此,您的代码将如下所示:

foreach($json->response->results->entries as $item){

  echo "{$item->displayname}<br />";
  echo "{$item->location->street} {$item->location->streetnumber}<br />";
  echo "{$item->zipcode}<br />";
  echo "{$item->location->city}<br /><br />";
  echo "{$item->phonenumbers[0]->area}/{$item->phonenumbers[0]->number}<br />";
}
foreach($json->response->results->entries as$item){
回显“{$item->displayname}
”; 回声“{$item->location->street}{$item->location->streetnumber}
”; 回显“{$item->zipcode}
”; 回声“{$item->location->city}

”; echo“{$item->phonenumbers[0]->area}/{$item->phonenumbers[0]->number}
”; }
尝试使用for循环而不是foreach:

$json = json_decode($raw_json);
//print_r($json);
$count = count($json->response->results);

foreach($json->response->results->entries as $item){
  echo($item->displayname);echo "<br>";
  echo($item->location->street);echo " ";
  echo($item->location->streetnumber);echo "<br>";
  echo($item->location->zipcode);echo " ";
  echo($item->location->city);echo "<br>";echo "<br>";
  echo($item->phonenumbers[0]->area);echo "/"; echo($item->phonenumbers[0]->number);echo "<br>";
}
$json=json\u decode($raw\u json);
//打印(json);
$count=count($json->response->results);
foreach($json->response->results->entries as$item){
echo($item->displayname);echo“
”; echo($item->location->street);echo“”; 回声($item->location->streetnumber);回声“
”; echo($item->location->zipcode);echo“”; 回声($item->location->city);回声“
”回声“
”; echo($item->phonenumbers[0]->区域);echo“/”echo($item->phonenumbers[0]->编号);echo“
”; }
…或在foreach中包含for循环:

$json = json_decode($raw_json);
//print_r($json);
$count = count($json->response->results);

foreach($json->response->results as $item){

  for ($i = 0; $i < count($item->entries); $i++) {

    echo($item->entries[$i]->displayname);echo "<br>";
    echo($item->entries[$i]->location->street);echo " ";
    echo($item->entries[$i]->location->streetnumber);echo "<br>";
    echo($item->entries[$i]->location->zipcode);echo " ";
    echo($item->entries[$i]->location->city);echo "<br>";echo "<br>";
    echo($item->entries[$i]->phonenumbers[0]->area);echo "/";
    echo($item->entries[$i]->phonenumbers[0]->number);echo "<br>";
  }
}
$json=json\u decode($raw\u json);
//打印(json);
$count=count($json->response->results);
foreach($json->response->results as$item){
对于($i=0;$ientries);$i++){
echo($item->entries[$i]->displayname);echo“
”; echo($item->entries[$i]->location->street);echo“”; echo($item->entries[$i]->location->streetnumber);echo“
”; echo($item->entries[$i]->location->zipcode);echo“”; echo($item->entries[$i]->location->city);echo“
”echo“
”; echo($item->条目[$i]->电话号码[0]->区域);echo“/; echo($item->entries[$i]->phonenumbers[0]->number);echo“
”; } }
你是想像这样迭代结果吗

foreach($json->response->results as $item) {
  for ($i = 0; $i < count($item->entries); $i++) {
    echo($item->entries[$i]->displayname);echo "<br>";
    echo($item->entries[$i]->location->street);echo " ";
    echo($item->entries[$i]->location->streetnumber);echo "<br>";
    echo($item->entries[$i]->location->zipcode);echo " ";
    echo($item->entries[$i]->location->city);echo "<br>";echo "<br>";
    echo($item->entries[$i]->phonenumbers[0]->area);echo "/"; 
    echo($item->entries[$i]->phonenumbers[0]->number);echo "<br>";
  }
}

试试这个,它能用我测试过:

foreach($json->response->results[0]->entries as $item){
  echo($item->displayname);echo "<br>";
  echo($item->location->street);echo " ";
  echo($item->location->streetnumber);echo "<br>";
  echo($item->location->zipcode);echo " ";
  echo($item->location->city);echo "<br>";echo "<br>";
  echo($item->phonenumbers[0]->area);echo "/"; echo($item->phonenumbers[0]->number);echo "<br>";
}
foreach($json->response->results[0]->条目作为$item){
echo($item->displayname);echo“
”; echo($item->location->street);echo“”; 回声($item->location->streetnumber);回声“
”; echo($item->location->zipcode);echo“”; 回声($item->location->city);回声“
”回声“
”; echo($item->phonenumbers[0]->区域);echo“/”echo($item->phonenumbers[0]->编号);echo“
”; }
您不需要带有echo语句的
()
foreach($json->response->results as $item) {
  for ($i = 0; $i < count($item->entries); $i++) {
    echo($item->entries[$i]->displayname);echo "<br>";
    echo($item->entries[$i]->location->street);echo " ";
    echo($item->entries[$i]->location->streetnumber);echo "<br>";
    echo($item->entries[$i]->location->zipcode);echo " ";
    echo($item->entries[$i]->location->city);echo "<br>";echo "<br>";
    echo($item->entries[$i]->phonenumbers[0]->area);echo "/"; 
    echo($item->entries[$i]->phonenumbers[0]->number);echo "<br>";
  }
}
foreach($json->response->results as $item) {
  for ($i = 0; $i < count($item->entries); $i++) {
    echo $item->entries[$i]->displayname.'<br>';
    echo $item->entries[$i]->location->street.' ';
    echo $item->entries[$i]->location->streetnumber.'<br>';
    echo $item->entries[$i]->location->zipcode.' ';
    echo $item->entries[$i]->location->city.'<br><br>';
    echo $item->entries[$i]->phonenumbers[0]->area.'/';
    echo $item->entries[$i]->phonenumbers[0]->number.'<br>';
  }
}
foreach($json->response->results[0]->entries as $item){
  echo($item->displayname);echo "<br>";
  echo($item->location->street);echo " ";
  echo($item->location->streetnumber);echo "<br>";
  echo($item->location->zipcode);echo " ";
  echo($item->location->city);echo "<br>";echo "<br>";
  echo($item->phonenumbers[0]->area);echo "/"; echo($item->phonenumbers[0]->number);echo "<br>";
}