질문/조언질답게시판
Extra Form
PHP PHP 7.4
CMS Rhymix 2.x

 

 

cond="$comment->get('member_srl') == 4"
 

 

 

위처럼 cond를 사용할 때 member_srl 값으로 4가 아닌 다른 srl값도 몇개 더 넣기 위해선 

 

cond="$comment->get('member_srl') == 4" || cond="$comment->get('member_srl') == 100246"

 

이렇게 만들어 줘야 하나요? 좀 더 간단한 방법이 없는지 궁금합니다.

 

그리고 추가로 '4'인것과 그냥 4인것과 어떤 차이가 있나요? 결과적으론 큰 차이가 없는듯 해서요.

 

 

  • profile

    1. PHP에서는 ''따옴표사이에 있는 문자는 문자열으로 인식합니다. 문자열은 구글에 검색하세요.
    2. 따옴표가 없는 숫자는 일반 정수로 통합니다.

    if 문을 사용할 때 연산자 비교할때 보통 '' 가 문자열이니 따옴표있는 숫자는 문자열의 숫자로 통용되지만

    if(문자열 숫자 == 정수숫자)

    도 참으로 인식하지만

    if(문자열 숫자 === 정수 숫자)

    는 거짓으로 인식합니다.

     

    단 따옴표없이 숫자는 정수로 인식하지만 따옴표없는 영어는 문제가 발생됩니다.

     

    그리고 html 파일이지만 최종 변환은 PHP이기 때문에 PHP문법을 이해하시고 배우시면 이런 의문이 도움이 됩니다.

     

  • profile profile
    감사합니다 깔끔한 설명 덕분에 한번에 이해가 되었습니다.
  • profile

    cond 은 if 와 같다고 보시면 되는데요.
    조건을 OR 조건을 쓰시려고 || 를 쓰신거라면 member_srl 이 4 이거나 100246 이거나 일때 조건을 통과시키겠다는 구문이 됩니다.

    그런데 cond || cond 으로 쓰시는게 아니고 cond="조건 || 조건" 이런식으로 사용해야 합니다.
    cond="$comment->get('member_srl') == 4 || $comment->get('member_srl') == 100246"
    위와 같이 쓰셔야 합니다.

    추가가 될때 마다 같은 것을 반복하면 좀 귀찮아지는데요. 이때 배열이라는 것을 공부하시면 좀 편해집니다.

    cond="in_array($comment->get('member_srl'), array(1,100246))
    이렇게 작성하시면 나중에 회원번호만 추가하면 됩니다.

    OR 조건절을 계속 쓰는것과 같은 결과과 됩니다.
    $comment->get('member_srl') 의 값이 배열(array) 중에 하나와 일치하면 참이 됩니다.

    숫자가 아닌 문자가 들어갈때는 'A' 를 쓰시면 됩니다.

  • profile profile
    와! 정말 감사합니다.

    코드가 너무 길어져서 고민이었는데 완전 줄일 수 있게되었습니다.
  • profile profile

    " 마지막에 누락되었네요. 혹시 몰라 알려드려요. 빼먹고 실행하면 페이지 에러가 납니다. ㅜㅡ

    cond="in_array($comment->get('member_srl'), array(1,100246))"

  • profile profile
    세심한 부분까지 신경 써주셔서 감사합니다. 소스코드가 확 줄어서 가독성이 너무 좋네요. ^______^
  • profile

    참고로 그냥 배열을 선언할 때는 array(...) 를 [...] 로 줄여쓸 수 있습니다.
    코드도 간결해지고, 괄호가 연달아 나올 때 서로 다른 모양으로 구분하는 데도 도움이 되지요.

    이건 목록이야!! 함수가 아니라 목록이라규!! 라고 아주 분명하게 알려주니까요. ㅎㅎ

    cond="in_array($comment->get('member_srl'), [4, 5, 6, 7, 8])"

  • profile profile

    php 들여다 보기 전에는 코드를 보다가 두가지가 섞여서 등장하면 다른 것 처럼 보였네요 ㅋ
    이래서 정석으로 배워야 하는거죠.

    $array = array();
    $array = [];

  • profile profile
    array는 많은 분들이 작성하신 코드에서 종종 봤는데 앞으로는 어떤 의미로 쓰여졌는지 확실히 이해할 수 있을듯 합니다. 답변 감사합니다!
  • profile profile
    배열이라는 좋은걸 배웠습니다. ^^
    cond="$logged_info->group_list[1] ||$logged_info->group_list[2] ||$logged_info->group_list[3]"
    위와 같이 []에 들어간 애들은 어떻게 써야 할까요?