我正在研究这个PHP& MySQL书和我遇到的东西完全不同于我用来回应单个引用字符串的多行。
给出的例子是:
echo '<table align="center" cellspacing="0" cellpadding="5" width="75%">
<tr>
<td align="left"><b>This</b></td>
<td align="left"><b>That</b></td>
<td align="left"><b>Then</b></td>
<td align="left"><b>When</b></td>
<td align="left"><b>What</b></td>
</tr>';
显然我可以打破PHP并使用HTML,但这并不总是一种选择。当我没有这个选项时,我通常会打破我的字符串,以便更容易阅读:
echo '<table align="center" cellspacing="0" cellpadding="5" width="75%">' .
'<tr>'
'<td align="left"><b>This</b></td>' .
'<td align="left"><b>That</b></td>' .
'<td align="left"><b>Then</b></td>' .
'<td align="left"><b>When</b></td>' .
'<td align="left"><b>What</b></td>' .
'</tr>';
本书的作者在php社区中受到了很好的尊重,这本书得到了高度推荐,并且得到了很好的评论......所以我的问题是:
他的方法有什么问题,应该实行吗?
答案 0 :(得分:5)
不,它完全没有问题。请注意,引用字符串中的空格,制表符和行返回也将被输出。这很少是一个问题 - 只需记住一些事情。
对我而言,它比你的方式更容易阅读,更容易出错。实际上,您的示例有语法错误。你能找到丢失的点吗?
答案 1 :(得分:5)
还有更多可能性
?>
<table align="center" cellspacing="0" cellpadding="5" width="75%">
<tr>
<td align="left"><b>This</b></td>
<td align="left"><b>That</b></td>
<td align="left"><b>Then</b></td>
<td align="left"><b>When</b></td>
<td align="left"><b>What</b></td>
</tr>
<?php
或
echo <<<HTML
<table align="center" cellspacing="0" cellpadding="5" width="75%">
<tr>
<td align="left"><b>This</b></td>
<td align="left"><b>That</b></td>
<td align="left"><b>Then</b></td>
<td align="left"><b>When</b></td>
<td align="left"><b>What</b></td>
</tr>
HTML;
第一个在每个IDE中被识别为HTML,第二个在PHPStorm中被认为是第二个,因此IDE可以使用HTML语法突出显示突出显示它,这是一个巨大的好处。你的两个示例(旁注:PHPStorm也在字符串中突出显示html,因此它并不坏;)但据我记得它不能在字符串中验证html)
另外,您应该将输出与处理代码分开