回调函数return return($ var& 1)? [英] callback function return return($var & 1)?

查看:170
本文介绍了回调函数return return($ var& 1)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经阅读了有关 array_filter

<?php
function odd($var)
{
    // returns whether the input integer is odd
    return($var & 1);
}

function even($var)
{
    // returns whether the input integer is even
    return(!($var & 1));
}

$array1 = array("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5);
$array2 = array(6, 7, 8, 9, 10, 11, 12);

echo "Odd :\n";
print_r(array_filter($array1, "odd"));
echo "Even:\n";
print_r(array_filter($array2, "even"));
?>

我什至在这里看到结果:

Even I see the result here :

Odd :
Array
(
    [a] => 1
    [c] => 3
    [e] => 5
)
Even:
Array
(
    [0] => 6
    [2] => 8
    [4] => 10
    [6] => 12
)

但是我对这一行不了解:return($var & 1);有人可以向我解释一下吗?

But I did not understand about this line: return($var & 1); Could anyone explain me about this?

推荐答案

$var & 1-按位与 它检查$var是否为奇数

$var & 1 - is bitwise AND it checks if $var is ODD value

0 & 0 = 0,
0 & 1 = 0,
1 & 0 = 0,
1 & 1 = 1 

因此,仅当$ var为ODD时,第一个回调函数才返回TRUE,第二个-反之亦然(!-是逻辑非).

so, first callback function returns TRUE only if $var is ODD, and second - vise versa (! - is logical NOT).

这篇关于回调函数return return($ var&amp; 1)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆