我想将此变量封装到字符串中,但我总是收到错误:
for($i = 0; $i < $_POST['rows']; $i++) {
echo "<tr>"
for($j = 0; $j < $_POST['columns'] $j++) {
echo "<td>$_POST['row{$i}column{$j}']</td>"; // << I get an error. Please help me encapsulate this.. I'm so confused.
}
}
错误是:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
答案 0 :(得分:5)
for($i = 0; $i < $_POST['rows']; $i++) {
echo '<tr>';
for($j = 0; $j < $_POST['columns'] $j++) {
echo '<td>' . $_POST['row' . $i . 'column' . $j] . '</td>';
}
echo '</tr>';
}
答案 1 :(得分:2)
for($i = 0; $i < $_POST['rows']; $i++) {
echo "<tr>"
for($j = 0; $j < $_POST['columns'] $j++) {
echo '<td>'.$_POST['row'.$i.'column'.$j].'</td>';
}
}
只需将String连接到。操作
答案 2 :(得分:0)
首先你缺少“;”在echo "<tr>"
之后
第二,你错过了“;”在$_POST['columns']
之后
这是你的解决方案
for($i = 0; $i < $_POST['rows']; $i++) {
echo "<tr>";
for($j = 0; $j < $_POST['columns']; $j++) {
echo "<td>{$_POST['row{$i}column{$j}']}</td>"; // << I get an error. Please help me encapsulate this.. I'm so confused.
}
}
答案 3 :(得分:0)
这个问题已得到解答,但我想指出一个关于echo的鲜为人知的事实。
echo '<td>' . $_POST['row'.$i.'column'.$j] . '</td>';
在此代码中,正在进行两个连接,
'row'。 $ i。 '专栏'。 $ j和
'&LT; td&gt;' 。 $ _POST [...]。 “&LT; / td&gt;'
连接需要在堆栈上创建临时变量,将值传输到变量中,然后传入temp var,在本例中为数组引用或echo构造。
为节省时间和记忆,请尝试以下方法:
echo '<td>', $_POST['row'.$i.'column'.$j], '</td>';
echo可以采用以列分隔的多个参数。这节省了连接所消耗的时间和内存。在短期内没有多少保存,但随着时间的推移,改善将加起来。它减少了对连接内容的混乱,以及传递给输出的内容。