2014-01-04 3 views

ответ

0

Вам не нужно несколько PHP теги:

<?php 
if($video_id == '1' && $adopted_id == '1'): 
    echo "test"; 
endif; 
?> 
2

Использование:

if($video_id == '1' && $adopted_id == '1'): 

или:

if($video_id == '1' && $adopted_id == $video_id):  

Оператор & не оператор И вы думаете. Вместо этого используйте &&. Кроме того, каждая переменная должна проверяться на свое значение. Вы не можете просто перевести:

видео и усыновитель должен быть равен 1

непосредственно к коду.

+1

Поскольку нет других операторов, это также случай, когда вы можете использовать ключевое слово 'и' вместо' && ', что может предотвратить перебои между побитово и логично. – MrLore

0

вы не можете сделать, как этот

<?php if($video_id & $adopted_id == '1'): ?> // if(true && true?/false?) 

изменения в:

<?php if($video_id == '1' && $adopted_id == '1'): ?> // if(true?/false? AND true?/false?) //logical AND is && 
1

Использование логического and (& &). Вы используете побитовое AND (&)

<?php if($video_id && $adopted_id == '1'): ?> 

Вышеприведенные условие проверяет, если $ video_id имеет значение и $ adopted_id равна 1.

Чтобы проверить, если оба значения 1, вам нужно

<?php if($video_id == '1' && $adopted_id == '1'): ?> 

В качестве проверочного числового значения вам не нужно проверять строку 1.

<?php if($video_id == 1 && $adopted_id == 1): ?> 
+0

'if ($ video_id && $ accepted_id == '1')' означает, что если '$ video_id' установлен, а' $ received_id' равен 1, значит, '$ video_id = 2' будет передано в оператор if. – revo

+0

@revo отредактировал ответ. – chanchal118

0

Попробуйте это, нужно использовать &&

<?php if($video_id==1 && $adopted_id == 1): ?> 

вместо

<?php if($video_id & $adopted_id == '1'): ?> 
0

Один & является побитовое и операции, он смотрит на двух выражений на каждой стороне, ломает их вплоть до уровня бит, и выполняет операцию на каждом бите. Это не очень много программистов, которые используют или нуждаются очень часто.

Вместо этого используйте оператор & &. Это более традиционный логический и. То же самое относится к другому оператору. Использовать || для или, не |, == для сравнения not = (который является присвоением).

Список всех операторов PHP, смотрите здесь: php operators

Кроме того, хотя это имеет смысл для нас, чтобы сказать «а и Ь равны 1», то компилятор не поймет «в & & b == 1 ". Это проверит, является ли «а» истинным сам по себе, а затем, если b == 1. «a» является истинным, сам по себе звучит странно, но представьте, что a было либо значением true, либо false, и это будет иметь больше смысла. Вместо этого вам нужно написать (a == 1 & & b == 1). Если вы проверяете ли $ video_id является 1, так как в противном случае это может быть 0, и вам не придется беспокоиться о других чисел, как 4 или 17 или что-то, вы можете написать следующее:

if ($video_id && $adopted_id): 

Это может выглядите странно, но то, что вы проверяете, когда у вас нет знака ==, является то, что они не являются «0». Этот оператор будет ложным, если любая переменная равна 0.

Смежные вопросы