>백엔드 개발 >PHP 튜토리얼 >array_filter의 $var & 1 구문은 무엇을 의미합니까?

array_filter의 $var & 1 구문은 무엇을 의미합니까?

WBOY
WBOY원래의
2016-10-22 00:14:302200검색

&& 은 , 은 무슨 뜻인가요? 참조로 전달되지 않은 것 같은데 결과가 3 이네요. 잘 이해가 안 가네요. 감사합니다.

<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 이네요. 잘 이해가 안 가네요. 감사합니다.

<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의 비트 연산자 - 비트 AND, test_odd는 홀수를 판별하는 함수입니다.

array_filter의 $var & 1 구문은 무엇을 의미합니까?

그런데 이 단락에는 영어로 된 매우 중요한 구절이 있습니다.

&, |, ^의 두 피연산자가 문자열인 경우 해당 문자열을 먼저 해당 ASCII 코드로 변환한 후 다른 경우에는 비트 연산을 수행합니다. , 정수로 변환한 후 비트 연산을 수행합니다.

따라서 a의 ASCII 코드는 97이지만 여전히 필터링됩니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.