2011-08-24 4 views
1

이 IF를 만드는 방법을 알아내는 데 도움이 필요합니다. 기본적으로 IF 첫 번째 조건과 두 번째 또는 세 번째 조건 중 하나가 참인지를 확인합니다. 오히려 비교 연산자보다PHP,이 중 하나 또는 그, 어떻게?

IF (($a=1) && ($b=2 || $c=3) ) { 
    echo "match found"; 
}; 

답변

2

: 여기

사업자에 대한 몇 가지 PHP 문서에 대한 링크입니다. 현재 모든 변수를 각각 1, 2, 3으로 설정하고 있습니다. 이로 인해 각 명령문은 항상 true로 평가됩니다.

올바른 comparisson 연산자는 ==

2

그럼 난 당신이 당신의 IF 문에서 변수를 할당하는 것을 볼 수있는 문제가

IF (($a==1) && ($b==2 || $c==3) ) { 

6

당신은 이중 같음 (비교를해야 더 잘 작동 할 수있다 연산자)는 IF a, b 및 c가 1,2 및 3과 동등하다는 것을 알 때 표시합니다.

if(($a==1) && ($b==2 || $c==3)) 
{ 
    echo "match found"; 
} 

또한, 올바른 구문을 사용하기 위하여는 소문자의 IF를 작성하고 if 문 끝에 세미콜론을 제거하는 것이 좋습니다 것입니다.

+0

으로 넘어 가고 대문자로 된 IF와 손상된 세미콜론은 모두 잘못된 스타일이며 실제로 기능적 문제가 발생하지 않습니다. –

+0

그래서 그 사람에게 알려주지 않는 것이 더 낫다는 말입니까? 솔직히 나는 왜이 답변이 두 개의 downvotes를받을 자격이 있는지 모르겠다. – corecase

+0

더 중요한 기능적 문제를 설명 한 후에 만, 그것들을 언급 할 가치가있다 : 할당과 비교 연산자를 혼란스럽게한다. –

3
if (1 === $a && (2 === $b || 3 === $c)) { 
    echo 'Match found'; 
} 

왜 이런 방식으로 작성 했습니까?

먼저 값을 넣고, 값에 대한 바르를 확인 :

  1. 가 쉽게 실수로 == 대신 =를 사용하는 경우 코드 은 (논란의 여지가)
  2. 오류가 트리거 탈지-읽을 수 있습니다 또는 ===

는 업데이트 : 차이에 대해 읽으려면 수 트위스트 ===== 연산자는 php == vs === operator

+0

"yoda 조건"에 대해 +1하지만'==='를 사용하면 설명을 사용할 수 있습니다. $ a $ b 또는 $ c에 문자열 값이 포함되어 있으면 '=='이 더 적절할 수 있습니다. –

+0

@ 프랑크 하, "yoda 조건". 전에 그들이 그것을 부른 적이. * 좋아해요. * – adlawson

+0

정말로 선명도가 좋다면, ((1 === $ a) && ((2 === $ b) || (3 === $ c))? 오전 3시에 코드를 읽을 때 도움이됩니다. –

관련 문제