PHP在If语句之前

时间:2011-10-04 15:14:44

标签: loops if-statement

我想在PHP中调用BEFORE

到目前为止我的代码:

<?php
$folder_path = $cdnurl . 'assets/' . $pid . '/';

// Loop from 2 to 5
for ($i = 2; i <= 6; $i++) {

if(@fopen($folder_path . $i . '/large.jpg',"r")){
?>

    <li><a id="<?php echo $i;?>" href="<?php echo $i;?>/large.jpg"><?php echo $i;?></a></li>

<?php } else {
break;
}
}?>

修改 我编辑了上面的代码,因为它已经嵌入了IF和ELSE。我希望它回应。

之类的东西
<ul>
<li>2</li>
<li>before</li>
<li>3</li>
<li>4</li>
</ul>

3 个答案:

答案 0 :(得分:2)

这只是一个基本的if():

for ($i = 2; $i <= 6; $i++) {
   if ($i < 3) {
      echo "before 3"
   } else {
      echo "<li> yada yada yada";
   }
}

尽管如此,因为你在2开始你的for循环,所以当i = 2时,这只会输出一次“3之前”。所以这样做更有效率:

echo "before 3";
for ($i = 3; .......) {
    echo "<li>....";
}

而是保存自己无用的if()检查。


给出您的代码示例更新:

echo "<ul>";
for ($i = 2; $i <= 6; $i++) {
    if ($i == 3) {
        echo "<li>before</li>";
    }
    if (is_readable("{$folder_path}{$i}/large.jpg")) {
        echo <<<EOL
<li><a id="{$i}" href="{$i}/large.jpg">{$i}</a></li>
EOL;
    }
}
echo "</ul>";

请注意is_readable()的使用。使用它来检查文件的存在/可读性比尝试打开文件更容易。同样,请注意HEREDOC用于输出列表元素,而不是常规回声。

答案 1 :(得分:0)

您可以查看$i,了解当前循环中的哪个位置。在第一次运行时,$i将为0,第二次为1,等等。然后,您可以使用简单的if - 语句来查明您是否在运行#3。使用break可以“突破”循环。

for( $i = 0; $i <= 6; $i++ ) {
    if( $i < 3 ) {
        // Code to execute if $i < 3
    } else {
        // Code to execute if $i >= 3
    }
}

答案 2 :(得分:0)

检查$ i是否小于或等于3:

if ($i <=3){
  echo 'before #3';
}

如果我理解你的问题。