Изучаю 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
, поэтому число нечетное.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Laravel выводит ошибку которая четко говорит что нельзя вызывать member функцию first() на массиве