테스트 사이트 - 개발 중인 베타 버전입니다

게시판 검색함수에 대해서 궁금한점이 있습니다. 채택완료

훈훈훈훈훈 7년 전 조회 1,718

common.lib.php 파일에서

게시판 검색에 사용되는 get_sql_search() 함수가 있는데요?

 

</p>

<p>// 검색 구문을 얻는다.

function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and')

{

    global $g5;</p>

<p>    $str = "";

    if ($search_ca_name)

        $str = " ca_name = '$search_ca_name' ";</p>

<p>    $search_text = strip_tags(($search_text));

    $search_text = trim(stripslashes($search_text));</p>

<p>    if (!$search_text) {

        if ($search_ca_name) {

            return $str;

        } else {

            return '0';

        }

    }</p>

<p>    if ($str)

        $str .= " and ";</p>

<p>    // 쿼리의 속도를 높이기 위하여 ( ) 는 최소화 한다.

    $op1 = "";</p>

<p>    // 검색어를 구분자로 나눈다. 여기서는 공백

    $s = array();

    $s = explode(" ", $search_text);</p>

<p>.........................................</p>

<p>

 

여기부분에서

</p>

<p>    $str = "";

    if ($search_ca_name)

        $str = " ca_name = '$search_ca_name' ";</p>

<p>    $search_text = strip_tags(($search_text));

    $search_text = trim(stripslashes($search_text));</p>

<p>    if (!$search_text) {

        if ($search_ca_name) {

            return $str;

        } else {

            return '0';

        }

    }</p>

<p>    if ($str)

        $str .= " and ";</p>

<p>

이부분이 엄청 이해가 안됩니다.

우선은 처음에는 값이 없는 $str 변수를 선언합니다. 그리고 카테고리(분류)가 있다면 $str 변수에 쿼리스트링 ca_name = '$search_ca_name' 을 추가합니다. 이후에 $search_text (검색어)변수에 있는 검색어를 가공합니다.

마지막으로 if (!$search_text) >>> 검색어가 없다면 실행합니다.

즉 검색어가 없는 경우는 분류를 클릭했을 경우 분류 검색을 위해서죠? 그리고나서 if ($search_ca_name) { >>>> 분류가 있다면 이전에 $str 변수에 쿼리스트링을 추가한 문자열을 리턴합니다.     return $str; } else { >>>> 여기에서 첫번째 질문입니다. else는 0을 리턴하는데 0을 리턴하는 의미가 무엇인가요???     return '0'; }

 

else는 0을 리턴하는데 0을 리턴하는 의미가 무엇인가요???

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

답변 1개

채택된 답변
+20 포인트
g
7년 전

함수에서 return 값을 0으로 리턴하는 거는

php에서 1은 true 가 되고 0은 false가 됩니다.

 

function 을 0으로 리턴을 하면 해당하는 함수의 값을 안쓰게 된다는걸 의미합니다.

 

말로 설명하려니 두서가 좀 없기는 한데 이해하셨으리라 봅니다.

 

예를 들면 

 

function abs(){

   return 0;

}

 

$a = abs();

 

이렇게 $a 라는 변수에 함수를 담으면

 

$a 는 0을 반환하니 false 가 됩니다.

 

즉 

 

if(!$a){

   echo "출력";

} else {

   echo "출력하지않음";

}

 

이런용도로 쓰실 수 있어요.

 

검색함수를 이용하는 변수쪽을 보면 이해하기 쉬우시리라 판단됩니다^^

 

도움이 되셨다면 채택 부탁드릴게요 ~

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

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

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

로그인