게시판 검색함수에 대해서 궁금한점이 있습니다. 채택완료
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개
함수에서 return 값을 0으로 리턴하는 거는
php에서 1은 true 가 되고 0은 false가 됩니다.
function 을 0으로 리턴을 하면 해당하는 함수의 값을 안쓰게 된다는걸 의미합니다.
말로 설명하려니 두서가 좀 없기는 한데 이해하셨으리라 봅니다.
예를 들면
function abs(){
return 0;
}
$a = abs();
이렇게 $a 라는 변수에 함수를 담으면
$a 는 0을 반환하니 false 가 됩니다.
즉
if(!$a){
echo "출력";
} else {
echo "출력하지않음";
}
이런용도로 쓰실 수 있어요.
검색함수를 이용하는 변수쪽을 보면 이해하기 쉬우시리라 판단됩니다^^
도움이 되셨다면 채택 부탁드릴게요 ~
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인