Heim  >  Artikel  >  Backend-Entwicklung  >  array_filter里这个$var & 1 这语法什么意思啊

array_filter里这个$var & 1 这语法什么意思啊

WBOY
WBOYOriginal
2016-10-22 00:14:302132Durchsuche

&& 是并且 ,一个是什么意思 好像不是引用传递啊,然后 结果是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, 但是还是会被过滤掉.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn