if, else, endif

Статус
В этой теме нельзя размещать новые ответы.

shefeduard

Guest
PHP:
if($update == 0):  
    if(1111):  
        #### 
    elseif():  
        ####  
    endif;  
    if(22222) // двоеточния нету, значит читается только одна операция #### 
        #### 

else: // относится к if($update == 0):
# Хотя он тут относится по человеческим мышлению
к if($update == 0)
PHP наверно думает что он принадлежит к if(22222)
но if(22222) - БЕЗ ДВОЕТОЧИЯ - вот он и выдает ошибку...
это явна ошибка программистов PHP - они неправельно обрабатывают условия

ДУМАЮ у них после выполения
f(22222)
ОПЕРАТОР

ждет else, и обрабатывает на ошибки else:

хотя он не запоминает что было вверху и есть условный оператор if($update == 0):

PHP:
    if(33333)  
        #### 
endif;
 

Фанат

oncle terrible
Команда форума
shefeduard
кто тебе сказал, что можно использоватьодновременно
if без ничего и if с двоеточием?
 

shefeduard

Guest
всмысле?
if с двоеточием - эта главныйусловный оператор...
в него вложенны другие... - if c двоеточием if(1111)
но я его закрыл - endif;
а потом идет новый условный опер if(22222) - без двоеточия...
но ему ненадо двоеточие - я расчитывал что он выполнит только оператор после него...
а else: он будет относить к более главному условному оператору, а тут наверно он его относит к if(2222)
 

mani13

Новичок
хотя, вообщем, да, это смешивание видов.... согласно мануалу.. хотя alternative syntax там описан лишь приблизительно(на примерах)
 

Фанат

oncle terrible
Команда форума
кто тебе сказал, что можно использовать одновременно
if без ничего и if с двоеточием?
 

shefeduard

Guest
а почему нельзя?
PHP:
if()
{
           if()
           {
                     ####
           } else {
                     ####
           }
}
-----------------
if()
           if():
                      ####
           else:
                      ####
           endif;
равносильные записи...
 

shefeduard

Guest
мда...
на других бы языках... даже на Paskal бы все норм было бы...

там разрешаетсяиспользовать упрощенный вариант когда надо чтобы после условия выполнялась бы только одна операция...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху