strstr 과 strpos 정보
strstr 과 strpos본문
어떤 문자나 문자열이 해당문자열에 포함 되어있는지 확인할 때 사용하는데요
php메뉴얼 에서
needle이 haystack에 존재하는지만을 확인하려 한다면, 더 빠르고 메모리를 적게 쓰는 strpos() 함수를 사용하십시오.
이런 내용을 본 후로 strpos만 사용합니다. 모르신 분들은 참고하시고....
지수만점을 위한 포스팅
추천
0
0
댓글 12개
뭐라는건지 이해가 하나도;;
뭐 제가 웹프로그래밍 시작한지 1달도 안됬으니 이해해주세요..
뭐 제가 웹프로그래밍 시작한지 1달도 안됬으니 이해해주세요..

오늘 알았네요. 하하하
좋은 정보 감사합니다!
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 "있습니다.";
?>
다음은 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 "있습니다.";
?>

strstr함수는 속도면에서는
최악이라고 평가되고 있습니다
최악이라고 평가되고 있습니다

난독증인가 왜 이해가 안가지?
그러면 strstr을 쓰는 좋은 경우는 언제인가요?
그러면 strstr을 쓰는 좋은 경우는 언제인가요?
ststr 은 레츠고리님이 예를 든 메일 주소에서 도메인 부분을 반환해주는 용도이니 좀 다르지요
문자가 들어있는지만 판별 할때는 무조건 strpos...
그누보드 wiew.php write.php에 보면 html옵션 판별에 strstr을 사용하는 곳이 더러 보입니다
if (strstr($view[wr_option], "html1")) $html = 1;
이런 건 strpos 로 바꾸면 좋지않을까 합니다
문자가 들어있는지만 판별 할때는 무조건 strpos...
그누보드 wiew.php write.php에 보면 html옵션 판별에 strstr을 사용하는 곳이 더러 보입니다
if (strstr($view[wr_option], "html1")) $html = 1;
이런 건 strpos 로 바꾸면 좋지않을까 합니다

문자열 길이가 기껏해야 10~20자인데 별 차이는 없지 않을까요?
문자열 길이가 작아서 별 차이는 없지만 쓰는 것 자체가 습관이 됩니다. "균이"님 의견에 동의합니다.

전 그보다는 sql에서 처리하는 걸 더 선호합니다.

한번 응용해봐야겠습니다.
균이님,,감사합니다.
균이님,,감사합니다.
찾던 자료인데 유용하게 적용했습니다.
감사합니다.
감사합니다.