Изучаю PHP функцию array_filter, на сайте w3school наткнулся на непонятный код,
function test_odd($var)
{
return($var & 1);
}
$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
после фильтрации непонятно почему возвращается
Array ( [3] => 3 )
Что делает строка return($var & 1); ?
В чем предназначение оператора & ?
Если можно ответе подробно , потому что это совсем незнакомый синтаксис.
Функция выполняет побитовую операцию. В процедуре проверяется нечетность. Все нечетные числа имеют младший бит 1, четные числа - 0. Выполняется AND двух числел. Например, 3 представляется как 11 в двоичном коде. 11 & 01 = 01, 1 это true, поэтому число нечетное.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости