if, else, endif

  • Автор темы Автор темы shefeduard
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
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;
 
shefeduard
кто тебе сказал, что можно использоватьодновременно
if без ничего и if с двоеточием?
 
всмысле?
if с двоеточием - эта главныйусловный оператор...
в него вложенны другие... - if c двоеточием if(1111)
но я его закрыл - endif;
а потом идет новый условный опер if(22222) - без двоеточия...
но ему ненадо двоеточие - я расчитывал что он выполнит только оператор после него...
а else: он будет относить к более главному условному оператору, а тут наверно он его относит к if(2222)
 
хотя, вообщем, да, это смешивание видов.... согласно мануалу.. хотя alternative syntax там описан лишь приблизительно(на примерах)
 
кто тебе сказал, что можно использовать одновременно
if без ничего и if с двоеточием?
 
а почему нельзя?
PHP:
if()
{
           if()
           {
                     ####
           } else {
                     ####
           }
}
-----------------
if()
           if():
                      ####
           else:
                      ####
           endif;

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

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