Что такое & in return ($ var & 1) в PHP
Возможный дубликат:
Ссылка - что означает этот символ в PHP?
Когда я читал эту страницу php, я не был уверен, что и делает в $var и 1.
function odd($var)
{
// returns whether the input integer is odd
return($var & 1);
}
Это возврат ссылки? Я не уверен.
Если вы можете объяснить это или направить мне php-страницу, я буду признателен.
Спасибо заранее.
Ответы
Ответ 1
Это побитовая операция. Все нечетные числа имеют LSB (младший значащий бит, установленный в 1), четные числа - 0.
Итак, это просто "ANDs" два числа вместе. Например, 5. Он представлен как 101 в двоичном формате. 101 и 001 = 001 = > true, поэтому он нечетный.
Ответ 2
Выполняется побитовое ANDing.
Это побитовый оператор
$a и $b Устанавливаются биты, заданные как в $a, так и в $b.
В этом случае return($var & 1);
будет выполнять побитовое И против 0000....0001
возвращение 1 или 0 в зависимости от последний бит $var
.
Если двоичное представление числа заканчивается на 0, оно равно (в десятичная дробь).
Если двоичное представление числа заканчивается на 1, оно нечетное (в десятичной форме).
Ответ 3
&
является побитовой и оператор. В этом случае он вернет 1
, если $var
нечетно, 0
, если $var
четное.