如何将此变量封装到字符串中?

时间:2011-07-26 17:33:14

标签: php

我想将此变量封装到字符串中,但我总是收到错误:

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

4 个答案:

答案 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可以采用以列分隔的多个参数。这节省了连接所消耗的时间和内存。在短期内没有多少保存,但随着时间的推移,改善将加起来。它减少了对连接内容的混乱,以及传递给输出的内容。