Разница между AND [и] && - PullRequest
       11

Разница между AND [и] &&

3 голосов
/ 19 августа 2011

Дано утверждение:

if($value && array_key_exists($value, $array)) {

         $hello['world'] = $value;

        }

Было бы лучше использовать логический оператор AND , а не &&?

Ответы [ 4 ]

11 голосов
/ 19 августа 2011

Самостоятельно они делают то же самое.Так что a && b означает то же самое, что и a and b.Но они не одинаковы, так как && имеет более высокий приоритет, чем and.См. документы для получения дополнительной информации.

Этот пример показывает разницу:

// The result of the expression (false && true) is assigned to $e
// Acts like: ($e = (false && true))
$e = false && true;

// The constant false is assigned to $f and then true is ignored
// Acts like: (($f = false) and true)
$f = false and true;
3 голосов
/ 19 августа 2011

Они одинаковы в условных выражениях, но будьте осторожны в условных присвоениях:

// The result of the expression (true && false) is assigned to $g
// Acts like: ($g = (true && false))
$g = true && false;

// The constant true is assigned to $h and then false is ignored
// Acts like: (($h = true) and false)
$h = true and false;

и

// The result of the expression (false || true) is assigned to $e
// Acts like: ($e = (false || true))
$e = false || true;

// The constant false is assigned to $f and then true is ignored
// Acts like: (($f = false) or true)
$f = false or true;

Из Логические операторы руководство, с которым вы связаны.

3 голосов
/ 19 августа 2011

На ссылке, которую вы предоставили, есть примечание:

Причина двух разных вариаций операторов «и» и «или» заключается в том, что они работают с разными приоритетами. (См. Приоритет оператора.)

В вашем случае, поскольку это единственный оператор, вам решать, но они не точно одинаковы.

1 голос
/ 19 августа 2011

только различие в орфографии. Рекомендуется использовать && вместо AND или и ..

...