PhP Html 内部字符串导致错误

PhP Html Inside String Causing Error

PHP 意外的 Parese 错误 > 并且未打印数组变量

PHP

    <?php

    if(isset($_POST['myData'])){
            $obj = $_POST['myData'];
            $debug_export = var_export($obj, true);
            for ($row = 0; $row < sizeof($obj); $row++) {

             //echo $obj[$row]['place'].$obj[$row]['Distance'];
                $strRow = "<tr><td> <a href=\"#\" class=\"SResult\" onClick=\"initializePopBefore(this);return false;\">$obj[$row]['place']</a><input type=\"hidden\" id=\"Lat$row\" value=\"$obj[$row]['Lat']\"/><input type=\"hidden\" id=\"Lng$row\" value=\"$obj[$row]['Lng']\"/></td><td>$obj[$row]['Distance']</td></tr>";
              echo  $strRow;
         }
            $myfile = fopen("newfile.txt", "w") ;
            $txt = "John Doe\n";
            fwrite($myfile, $debug_export);
            fclose($myfile);
   }else{
           echo "File Working";
   }
?>

没能找到我做错了什么坚持了几个小时

如果您使用 PHP HEREDOC,这将更容易阅读和维护,它使用如下语法:

$strRow = <<<AROW
<tr>
   <td>
     <a href="#" class="SResult" onClick="initializePopBefore(this);return false;">
       $obj[$row]['place']
     </a>
     <input type="hidden" id="Lat$row" value="$obj[$row]['Lat']"/>
     <input type="hidden" id="Lng$row" value="$obj[$row]['Lng']"/>
   </td>
   <td>$obj[$row]['Distance']</td>
</tr>
AROW;

see the offical HEREDOC documentation

切勿使用 html 的转义,但对字符串使用单引号:

$strRow = '<tr><td><a href="#" class="SResult" onClick="initializePopBefore(this);return false;">' . $obj[$row]['place'] . '</a><input type="hidden" id="Lat$row" value="' . $obj[$row]['Lat'] . '"/><input type="hidden" id="Lng$row" value="' . $obj[$row]['Lng'] . '"/></td><td>' . $obj[$row]['Distance'] . '</td></tr>';

其次,在引号外使用 php 变量!