strstr 과 strpos > 자유게시판

자유게시판

strstr 과 strpos 정보

strstr 과 strpos

본문

어떤 문자나 문자열이 해당문자열에 포함 되어있는지 확인할 때 사용하는데요
php메뉴얼 에서
needlehaystack에 존재하는지만을 확인하려 한다면, 더 빠르고 메모리를 적게 쓰는 strpos() 함수를 사용하십시오.
 
이런 내용을 본 후로 strpos만 사용합니다. 모르신 분들은 참고하시고....
지수만점을 위한 포스팅
 
 
추천
0

댓글 12개

strstr과 strpos는 사용예 자체가 다릅니다. "어떤 문자나 문자열이 해당문자열에 포함 되어있는지 확인할" 때 strstr을 쓰는 건 낭비입니다. 원래 그 목적으로 쓰는 게 아니거든요. 무조건 쓰고 안쓰고가 아니라어떤 목적으로 쓰느냐를 아시는게 먼저인것 같습니다.

다음은 strstr을 사용하는 예입니다.
<?php
$email  = '*** 개인정보보호를 위한 이메일주소 노출방지 ***';
$domain = strstr($email, '@');
echo $domain; // @example.com을 출력한다.

$user = strstr($email, '@', true); // As of PHP 5.3.0
echo $user; // name을 출력한다.
?>

참고적으로 strpos는 스트링의 위치를 말하므로 맨처음 있는 경우 0이 값이 됩니다. (예: anything에서 any) 그러므로 if 식에서 사용시 False값과 비교하셔야 합니다. 예:
<?php
if (strpos('anything', 'any') !== FALSE) echo "있습니다.";
?>
ststr 은 레츠고리님이 예를 든 메일 주소에서 도메인 부분을 반환해주는 용도이니 좀 다르지요
문자가 들어있는지만 판별 할때는 무조건 strpos...

그누보드 wiew.php write.php에 보면 html옵션 판별에 strstr을 사용하는 곳이 더러 보입니다
if (strstr($view[wr_option], "html1"))    $html = 1;

이런 건 strpos 로 바꾸면 좋지않을까 합니다
전체 196,490 |RSS
자유게시판 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT