PHP раньше во время оператора If - PullRequest
0 голосов
/ 04 октября 2011

Я хочу вызвать ДО в PHP

мой код до сих пор:

<?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 ]

2 голосов
/ 04 октября 2011

Это просто базовое условие if ():

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

Хотя, поскольку вы запускаете цикл for в 2, он будет выводить только «до 3» один раз, когда i = 2.Поэтому было бы эффективнее вместо этого сделать:

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 , используемый для вывода элемента списка, а не на обычное эхо.

0 голосов
/ 04 октября 2011

Проверьте, если $ i меньше или равно 3:

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

Если я правильно понимаю ваш вопрос.

0 голосов
/ 04 октября 2011

Вы можете проверить $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
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...