<?php
$value="Hello";
echo '
<table border="1">
<tr>
<td>Row $value, cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>
';
?>
爲什麼我沒有得到你好而不是$值。 如何使之成爲可能。HTML中的PHP代碼本身是封閉在PHP中
<?php
$value="Hello";
echo '
<table border="1">
<tr>
<td>Row $value, cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>
';
?>
爲什麼我沒有得到你好而不是$值。 如何使之成爲可能。HTML中的PHP代碼本身是封閉在PHP中
您只能在雙引號中打印Php變量,而不能在單個引號中打印。
或者
echo '
<table border="1">
<tr>
<td>Row '.$value.', cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>
';
?>
您可以使用類似雙引號內的變量,但不能使用單引號。做到這一點,而不是:
echo '
<table border="1">
<tr>
<td>Row '.$value.', cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>';
或者你也可以做到這一點,逃避你的字符串引號:
echo "
<table border=\"1\">
<tr>
<td>Row $value, cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>";
不過,我建議,因爲它更高效和更清潔的代碼做了第一種方式。
基本的PHP解析規則:用單引號('
)包圍的字符串是不是由PHP解析器評估,其中的任何變量都被忽略爲文字文本。嘗試
echo "
...
$value
...
";
改爲。請注意使用雙引號("
)。
此外,請不要使用多線回聲。他們很難維護。如果您必須執行多行輸出或分配,請考慮使用HEREDOC代替。
here文檔刪除需要引用的報價,讓你的迴音變爲:
echo <<<EOL
<table border="1">
...
$values
...
</table>
EOL;
原因是,如果你會使用單引號,然後解析器不會看在它的變量。 爲此,您需要使用雙引號或將變量放在單引號之外。
<?php
$value="Hello";
echo '
<table border="1">
<tr>
<td>Row '. $value .', cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>
';
?>
OR
<?php
$value="Hello";
echo "
<table border='1'>
<tr>
<td>Row $value, cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>
";
?>
<?php
$value="Hello";
echo '
<table border="1">
<tr>
<td>Row ' . $value . ', cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>';
?>
使用字符串多行的從來都不是我一個很好的解決方案。我喜歡heredoc:
$value="Hello";
echo <<<EOD
<table border="1">
<tr>
<td>Row {$value}, cell 1</td>
<td>Row 1, cell 2</td>
</tr>
</table>
EOD;
因爲你使用單引號(字符串文字) –