大括号中的变量 - PHP编码问题

时间:2011-08-24 17:08:56

标签: php mysql variables syntax echo

这是我的PHP / MySQL脚本:

<?php
    mysql_connect('localhost', 'root', 'test') or die (mysql_error());
    mysql_select_db('info1') or die (mysql_error());
    $result = mysql_query("SELECT * from automobiles");

    //Table starting tag and header cells
    while($row = mysql_fetch_array($result)){
        //Display the results in different cells
        echo "<dd><dl><img src=' " . $row['image'] . " '>" . $row['manufacturer'] ." " . $row['model'] . "</dd></dl>";
        echo "<dd><dl>" . $row['carinfo'] . "</dd></dl>";
    }

    //Table closing tag
    echo "</table>";
?>

但是,如果我这样做,它会起作用吗?

{$myvariable}

使用大括号对变量进行编码是一个好主意,或者:

echo " . $row['variable']. "

感谢任何帮助,谢谢!

2 个答案:

答案 0 :(得分:8)

你可以这样做:

echo "<dd><dl>{$row['carinfo']}</dd></dl>";

你不能这样做:

echo "<dd><dl>$row['carinfo']</dd></dl>";

这也不行:

echo '<dd><dl>{$row['carinfo']}</dd></dl>';

您的输出实际为:

  

<dd><dl>{$row[一些PHP错误

这是因为使用单引号而不是双引号。而错误将是因为你没有逃避变量中的单引号。

如果你这样做了:

echo '<dd><dl>{$row["carinfo"]}</dd></dl>';

您的输出实际为:

  

<dd><dl>{$row["carinfo"]}</dd></dl>

对于相同的单引号与双引号推理。

答案 1 :(得分:4)

我个人更喜欢使用" " . $row['variable']. " "语法,因为它更容易阅读代码,特别是如果你有一个代码语法高亮显示器。但是使用这种语法是可以接受的:"{$var['field']}"