为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

PHP C
大话西游666 2022-05-19 16:15:26
}$a1=array("a","b",2,3,4);print_r(array_filter($a1,"test_odd"));?>
查看完整描述

3 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

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

查看完整回答
反对 回复 2022-05-23
?
心有法竹

TA贡献1866条经验 获得超5个赞

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

查看完整回答
反对 回复 2022-05-23
?
catspeake

TA贡献1111条经验 获得超0个赞

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

查看完整回答
反对 回复 2022-05-23
  • 3 回答
  • 0 关注
  • 354 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号