Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вопрос про foreach()
 
 автор: casper   (01.04.2005 в 00:20)   письмо автору
 
 

Здравствуйте,
у меня есть следующий код:

$file = file("text.txt");
foreach($file as $k => $s) {
        if(isset($delete[$k]) && isset($choose[$k])) unset($file[$k]);
        else {
                $str[$k] = "<input type='checkbox' name='choose[$k]'><input type='submit' name='delete[$k]' value='Удалить'>"."$s";
                echo "$str[$k]";
                }
        }

Мне нужно что бы то, что находится после else:

$str[$k] = "<input type='checkbox' name='choose[$k]'><input type='submit' name='delete[$k]' value='Удалить'>"."$s";
                echo "$str[$k]";

выполнялось только один раз. То есть, есле это условие уже выполнилось один раз, то что бы не выполнялось больше. Неподскажите как такое можно сделать ?

Зарание спасибо!

   
 
 автор: cheops   (01.04.2005 в 00:44)   письмо автору
 
   для: casper   (01.04.2005 в 00:20)
 

А цикл должен при этом продолжать работу или нет? Если нет, то можно просто выйти из цикла досрочно при помощи оператора break
<?php
$file 
file("text.txt"); 
foreach(
$file as $k => $s) { 
        if(isset(
$delete[$k]) && isset($choose[$k])) unset($file[$k]); 
        else { 
                
$str[$k] = "<input type='checkbox' name='choose[$k]'><input type='submit' name='delete[$k]' value='Удалить'>"."$s"
                echo 
"$str[$k]"
                break;
                } 
        }
?>

Если необходимо продолжить работу, то следует ввести дополнительный флаг, который отслеживает - был вывод в окно браузера или нет
<?php
$flag 
false;
$file file("text.txt"); 
foreach(
$file as $k => $s)

  if(isset(
$delete[$k]) && isset($choose[$k])) unset($file[$k]); 
  else
  {
    if(!
$flag)
    { 
      
$str[$k] = "<input type='checkbox' name='choose[$k]'><input type='submit' name='delete[$k]' value='Удалить'>"."$s"
      echo 
"$str[$k]"
      
$flag true;
    }
  } 
}
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования