2026, 새로운 도약을 시작합니다.

php 'and' 구문을 잘 모르겠습니다. 채택완료

안녕하세요

Copy

위 구문에서 반복되는 get_header 를 없애고

Copy

이렇게 했는데 잘 안되네요

and 도 안되구요

도움 부탁드립니다.

ps. and 와 && 차이점이 뭔지 모르겠습니다

답변 4개

채택된 답변
+20 포인트

&& = and, || = or 이고요

A and B 는 

A

 결과

 true

 true

true

true

 false

 false

  false

true

 false 

  false

  false

 false

A or B 는

 A

 결과

 true

true

true

true

false

true

false

true

true

false

false

false

is_page 라는 함수는 사용자가 정의한 함수인 것으로 보이고 인자 값을 받아서 어떤 처리를 한다음 

true 나 false 을 리턴해주는 것일텐데요.

if( is_page(1 oror3) ) { 이건은 잘못된 방법입니다. 

인자부분에 저렇게 비교 연산자를 쓰게 되면 인자로 넘어가는건 비교한 결과가 넘어갑니다. 인자로 true 나 false 값이 넘어가는것이죠.


&& , || 둘다 안된다고 하는데 다른부분에서 오류가 있는것은 아닌지?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

자세한 설명 감사합니다

댓글을 작성하려면 로그인이 필요합니다.

is_page()가 몇개의 파라미터를 가지고 있냐에 문제이니

if( is_page(1 && 2 && 3) ) 이렇게 표현할 수는 없고 


블랙캣77님 표현처럼

if( is_page(1) || is_page(2) || is_page(3) ) 이렇게 표현해야 가능하겠죠.


하지만 안된다면 이 표현 외에서 문제가 있기 때문으로 보입니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

if문을 다음처럼 사용해보세요. 

Copy
if ( is_page(1 or 2 or 3) ) {


and,&& : 조건이 모두 참일경우에만
or,|| : 조건중 하나만 참이더라도
* php4에서는 &&나 || 대신 and,or을 사용하세요.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

if문을 저렇게 써도 되는가보군요 배워 갑니다.
감사합니다
그런데 or && || 모두 안되네요...
php는 5.6 사용중입니다
헉.. 잘못알려드렸습니다.
블랙캣77과 평정심님 처럼 하셔야 합니다.
[code]if ( is_page(1) or is_page(2) or is_page(3) ) {[/code]
or
[code]if ( is_page(1) || is_page(2) || is_page(3) ) {[/code]

댓글을 작성하려면 로그인이 필요합니다.

Copy
 

코드를 위와 같이 수정하시면 됩니다. && 랑 AND는 같은 역활을 합니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

감사합니다
아직 잘 안되고 있습니다.ㅜ

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고