}$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 會被匹配出來.
注: 可以先去 理解二進制的 & ^ | << >> 運算.

catspeake
TA貢獻1111條經驗 獲得超0個贊
test_odd 是測試奇偶數的函數,上面的代碼是找出 $a1 數組中的奇數的元素。& 是按位與運算,將 “a", "b", 2,3,4 轉成二進制,最低位分別和 1 做與運算,11 為 1, 10 為 0,為 1 時是奇數,保留,用 print_r 打印出結果。test_odd 通常用做表格的隔行著色用,奇數行著色,偶數行忽略,這樣看著清晰。
不僅用做表格的隔行著色,還可以在兩種狀態間定時切換用。
- 3 回答
- 0 關注
- 303 瀏覽
添加回答
舉報
0/150
提交
取消