PHP While循环,echo问题


PHP While loop, echo Issues

必须有一种更简单的方法。。。我一直在第二行买这个。

分析错误:语法错误,意外的";"

while($row = mysql_fetch_array($result)){
    echo ("'$MAP_OBJECT->addMarkerByCoords";
          "('"";
          $row['longitude'];
          ",";
          $row['latitude'];
          ",'"";
          $row['routername'];
          "-";
          $row['desc'];
          "'", '"";
          $row['routername'];
          "-";
          $row['desc'];
          "<br><a href='"./div/";
          $row['routername'];
          "'">Site Info</a>'");
    echo "<br />";
}

您必须与.组合,而不是与; 组合

echo ("'$MAP_OBJECT->addMarkerByCoords" . 
      "('"" .
      $row['longitude'] .
      ....

查看手册:http://php.net/manual/en/language.operators.string.php

如果您试图连接以下字符串,则大多数;应该是.

while($row = mysql_fetch_array($result)){
    echo ("'$MAP_OBJECT->addMarkerByCoords" .
          "('"" .
          $row['longitude'] .
          "," .
          $row['latitude'] .
          ",'"" .
          $row['routername'] .
          "-" .
          $row['desc'] .
          "'", '"" .
          $row['routername'] .
          "-" .
          $row['desc'] .
          "<br><a href='"./Ldiv/" .
          $row['routername'].
          "'">Site Info</a>'"); // Here's the actual end of the statement
    echo "<br />";
}

有了HEREDOC:,这会整洁得多

echo <<<ROW
$MAP_OBJECT->addMarkerByCoords(
   {$row['longitude']},
   {$row['latitude']},
   "{$row['routername']}-{$row['desc']}",
   "$row['routername']}-{$row['desc']}"<br>
    <a href="./Ldiv/{$row['routername']}">Site Info</a>
)
ROW;

尽管如此,由于上一个报价没有结束,<br>之前似乎缺少了一些内容。

您试图执行的语法是错误的。

PHP中的;本质上是一个结束语句。您告诉PHP停止执行第一行echo ("'$MAP_OBJECT->addMarkerByCoords" ;上的echo,这不是您想要的。

相反,用.的替换所有;,除了最后一个回显语句

while($row = mysql_fetch_array($result)){
echo "'$MAP_OBJECT->addMarkerByCoords" .
      "('"" .
      $row['longitude'] .
      "," .
      $row['latitude'] .
      ",'"" .
      $row['routername'] .
      "-" .
      $row['desc'] .
      "'", '"" .
      $row['routername'] .
      "-" .
      $row['desc'] .
      "<br><a href='"./Ldiv/" .
      $row['routername']; .
      "'">Site Info</a>'";
echo "<br />";

}