Maison  >  Article  >  développement back-end  >  array_filter里这个$var & 1 这语法什么意思啊

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

WBOY
WBOYoriginal
2016-10-22 00:14:302177parcourir

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

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn