我想在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>
答案 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';
}
如果我理解你的问题。