Переменная теряется в условии? Или что это?

Есть нечто подобное:
global $user_lk;

$a = ... ;

foreach($a as $b){

        $id = ... ;
        $user_id = ... ;
        $author_id = ... ;

        if ( $id != 0 ) { 
          
            if ( $user_id != $author_id ) { 
                // Условие выполняется — true — все работает. $user_id выводится.	 
            } elseif ( $user_id == $user_lk ) { 
                // Здесь же никак не выполняется. Ставил elseif (true) { но $user_id и вообще ничего не выводится }
                $var[] = $link;
            } 

        } elseif ( ... ) { 
           ...
        }    
    
}


Что за ерунда такая?
  • Вопрос задан
  • 70 просмотров
Пригласить эксперта
Ответы на вопрос 2
if ( $user_id != $author_id ) всегда true? Так а чего вы хотите от ветки, которая должна выполниться при false?
Ответ написан
@oxidmod
Возможно выполнение только одной ветки из if - elseif
А возможно и не одной, так как нет финального else

xDebug вам в помощь, чтобы понять что происходит
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
от 2 000 до 4 000 usd.
Teamlead Краснодар
До 100 000 руб.
HTML Academy Санкт-Петербург
от 130 000 до 140 000 руб.
17 авг. 2018, в 17:10
15000 руб./за проект
17 авг. 2018, в 16:58
60000 руб./за проект
17 авг. 2018, в 16:55
10000 руб./за проект