PHP If 语句之前

发布于 2024-12-07 21:20:32 字数 626 浏览 0 评论 0原文

我想在 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>

I want call a BEFORE in PHP

my code so far:

<?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;
}
}?>

EDIT
I edited the code above as it is already nested with IF and ELSE. I want it to echo. something like

<ul>
<li>2</li>
<li>before</li>
<li>3</li>
<li>4</li>
</ul>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

无法言说的痛 2024-12-14 21:20:32

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

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

不过,由于您在 2 处开始 for 循环,因此当 i=2 时,只会输出“before 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_read() 的使用。使用它来检查文件的存在/可读性比尝试打开文件更容易。另外,请注意用于输出列表元素的 HEREDOC,而不是常规回显。

That's just a basic if():

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

Though, since you're starting your for loop at 2, this would only ever output "before 3" once, when i=2. So it'd be more efficient to do:

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

instead and save yourself the useless if() check.


given your code sample update:

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>";

Note the use of is_readable(). It's easier to check for a file's existence/readability using that than trying open the file. As well, note the HEREDOC used to output the list element, rather than a regular echo.

你好,陌生人 2024-12-14 21:20:32

您可以检查$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
    }
}

You can check $i, to find out at which position in the loop you currently are. On the first run, $i will be 0, the second one 1, etc. You can then use a simple if-statement to find out if you're under run #3. Using break you can "break out" of a loop.

for( $i = 0; $i <= 6; $i++ ) {
    if( $i < 3 ) {
        // Code to execute if $i < 3
    } else {
        // Code to execute if $i >= 3
    }
}
留一抹残留的笑 2024-12-14 21:20:32

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

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

如果我正确理解你的问题。

Do a check if $i is less than or equal to 3:

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

If i understand your question correctly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文