2014-11-03 2 views
2

방금이 문제를 발견했습니다.이 답변이 4라는 답변을 얻는 방법을 설명해 주시겠습니까? 그럼에도 불구하고 나는 그것이 어떻게 일어 났는지 전혀 모른다.PHP 기본 연산자

echo $a = 20%-8; //4 

답변 :

echo (5 % 3)."\n";   // prints 2 
echo (5 % -3)."\n";   // prints 2 
echo (-5 % 3)."\n";   // prints -2 
echo (-5 % -3)."\n";   // prints -2 
+1

'%'는 모듈로 연산자로 정수 나누기의 나머지 부분입니다. -8으로 20을 나눌 때 정수 나머지는 4입니다. –

답변

2

퍼센트 운영자가 작업의 알림을 떠날 것이다. 즉, $x % $y$x의 나머지 부분을 $y으로 나눈 값이됩니다.

여기서 20을 -8로 나눈 값은 응답 인 미리 알림 4를 남깁니다.

1

@bwaaaaaa이 계수 작업자가 작업의 알림을 줄 것이다,이 사이에는 차이가 없습니다.

Suppose $x % $y, that means that Remainder of $x divided by $y. 

그래서 예를 들어 -8 의지는 당신에게 알림 (4)를 제공하여 20 나누었을 때 너무 출력이 더 많은 정보 4.

이다. 연산자에 관해서는 this

+0

감사합니다! 나는 -8과 혼동했다. 마침내 모듈러스 연산이 무엇인지 이해했습니다. – bwaaaaaa

+0

@ bwaaaaaa, 다행스럽게 도울 수있어! 내 대답이 너에게 정말로 도움이된다면 내 대답을 받아 들일 수 있겠 니? –

0

나머지 연산자는 하나의 피연산자가 두 번째 피연산자로 나뉠 때 남은 나머지를 반환합니다. 모듈러스 연산자 결과는 항상 제수가 아닌 배당의 부호를 취한다는 것을 기억하십시오. 내장 된 모듈러스 함수를 사용하여 var1을 var2로 나눈 정수 나머지 인 결과를 생성합니다.

코드에서 var1은 양의 정수이고 20은 음의 정수 인 -8입니다. 20은 배당이고 -8은 제수입니다.

그래서 우리가 알고있는 모듈 연산자 결과는 제수가 아닌 배당의 부호를 취할 것입니다. 그래서 미리 알림 응답은 4가 될 것입니다. 이제는 분명합니다. 감사합니다.