1

我编写了以下循环,因为我必须重复相同/相似的代码 25 次。我可能需要重复更多,但现在是 25。

<?php
for ($i = 0; $i <= 24; $i++) {
  echo "<div class=\"";
  if ($i = 0) {
    echo "overlay";
  } else {
    echo "layer"+$i;
  }
  echo "\">code</div>\n";
}
?>

当上传到我的网站时,它需要永远加载然后从我的计算机中提取资源并最终使计算机变慢。

4

4 回答 4

12

尝试改变:

if ($i = 0) {

到:

if ($i == 0) {

您在每次迭代中将 $i 设置为 0,而不是比较它。

于 2012-06-20T16:59:53.027 回答
2

你可能想要 if ($i == 0)

我怀疑您每次通过 if 循环时都会将 $i 重置为 0。

于 2012-06-20T17:00:03.867 回答
1

更好的简化:

echo '<div class="overlay">code</div>';
for ($i = 1; $i <= 24; $i++) {
   echo <<<EOL
<div class="layer$i">code</div>

EOL;
}

假设code在循环内没有改变。另请注意,您的

echo "layer"+$i;

是不正确的。PHP 中的字符串连接是用.. 您正在添加一个数学加法,因此 PHP 将转换"layer"0并且您最终将有效地仅输出$i.

于 2012-06-20T17:22:32.960 回答
0
<?php
for ($i = 0; $i <= 24; $i++) {
  echo "<div class=\"";
  if ($i = 0) {
    echo "overlay";
  } else {
    echo "layer"+$i;
  }
  echo "\">code</div>\n";
}
?>

您没有使用比较操作 (==),而是使用了赋值运算符 (=)。

采用,

if($i == 0){
   echo "// your code  ";
   }
于 2012-06-20T17:26:58.063 回答