你好,实在是不明白 &是什么意思! 结果为什么会是 3?

}
$a1=array("a","b",2,3,4);
print_r(array_filter($a1,"test_odd"));
?>

大话西游666
浏览 357回答 3
3回答

胡子哥哥

& 是二进制 按位与 的意思 1=0000 0001 ;则将每一个值进行二进制转换, 末位 1和1匹配 则返回真, (1匹配的结果为 奇数).如果使用 2 = 0000 0010;则 倒数第二位 为1 会被匹配出来.注: 可以先去 理解二进制的 & ^ | << >> 运算.

心有法竹

&是定义变量的一个符号,结果为3具体要看“test_odd”这个参数的内容,才能知道为什么会是3

catspeake

test_odd 是测试奇偶数的函数,上面的代码是找出 $a1 数组中的奇数的元素。& 是按位与运算,将 “a", "b", 2,3,4 转成二进制,最低位分别和 1 做与运算,11 为 1, 10 为 0,为 1 时是奇数,保留,用 print_r 打印出结果。test_odd 通常用做表格的隔行着色用,奇数行着色,偶数行忽略,这样看着清晰。不仅用做表格的隔行着色,还可以在两种状态间定时切换用。
打开App,查看更多内容
随时随地看视频慕课网APP