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

Форум PHP

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

 

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

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

тема: Оператор безусловного перехода
 
 автор: Евгений Петров   (22.06.2005 в 13:37)   письмо автору
 
 

Есть ли в PHP отператор goto?

   
 
 автор: cheops   (22.06.2005 в 13:46)   письмо автору
 
   для: Евгений Петров   (22.06.2005 в 13:37)
 

Ключевое слово GOTO является зарезервированным, но сам оператор не реализован.

http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=979

   
 
 автор: Jackson   (22.06.2005 в 13:53)   письмо автору
 
   для: Евгений Петров   (22.06.2005 в 13:37)
 

Помоему нет. Что-то подобное - break - но это только команда "стоп". Если выполняется цикл и стоит специальное условие, то с помощью этой команды происходит выход из цыкла. А вот насчет перехода - я такого не встречал.

   
 
 автор: Евгений Петров   (22.06.2005 в 13:56)   письмо автору
 
   для: Jackson   (22.06.2005 в 13:53)
 

Мне не надо из цикла выходить, мне надо "перескочить" через пару операторов вниз.

   
 
 автор: cheops   (22.06.2005 в 14:03)   письмо автору
 
   для: Евгений Петров   (22.06.2005 в 13:56)
 

Из цикла выйти можно при помощи ключевого слова break
<?php
$flag 
false;
for()
{
  if(
что-то)
  {
     
$flag true;
     break;
  }
}
if(!
$flag)
{
  
// Операторы которые нужно пропустить 
}
?>

А для пропуска использовать флаг.

   
 
 автор: Евгений Петров   (22.06.2005 в 15:05)   письмо автору
 
   для: cheops   (22.06.2005 в 14:03)
 

Я по другому выкрутился, у меня там switch был. По идее если бы код писался на С++, то он бы выглядел так:

<?
switch($status)
{
  case 
"register":
  {
    
// код
  
} break;
  case 
"authorize":
  {
    if(
/*условие*/ != 0)
      
// код 1
    
else goto label;
    if(
/*условие*/ != 0)
    {
      
// код 2
    
}
    else
    {
label:
      
// код 3
    
} break;
}
?>

(я тут скобки операторные от PHP добавил, чтобы синтаксис подсвечивался :) )
А я сделал так:

<?
switch($status)
{
  case 
"register":
  {
    
// код
  
} break;
  case 
"authorize":
  {
    if(
/*условие*/ != 0)
    {
      
// код 1
      
if(/*условие*/ != 0)
      {
        
// код 2
        
break;
      }
    }
    
// код3
  
} break;
}
?>

Помоему даже короче получилось.

   
Rambler's Top100
вверх

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