首頁  >  文章  >  後端開發  >  array_filter裡這個$var & 1 這語法什麼意思啊

array_filter裡這個$var & 1 這語法什麼意思啊

WBOY
WBOY原創
2016-10-22 00:14:302135瀏覽

&& 是並且 ,一個是什麼意思 好像不是引用傳遞啊,然後 結果是3 沒太懂,誰能給小弟講2句,謝謝

<code><?php
function test_odd($var)
{
return($var & 1);
}

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

打印结果Array ( [3] => 3 )</code>

回覆內容:

&& 是並且 ,一個是什麼意思 好像不是引用傳遞啊,然後 結果是3 沒太懂,誰能給小弟講2句,謝謝

<code><?php
function test_odd($var)
{
return($var & 1);
}

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

打印结果Array ( [3] => 3 )</code>

php的 位元運算子 -位元與,test_odd是一個判斷奇數的函數。

array_filter裡這個$var & 1 這語法什麼意思啊

不過這段中有段很重要的話是英文的, 我翻譯一下:

如果&, |, ^的兩個操作數都是字串, 那會先把字串轉換成對應的ascii碼然後再進行位操作, 如果是其它情況, 那就把它們都轉換成整數再進行位元操作.

所以雖然a的ascii碼是97, 但是還是會被過濾掉.

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn