strstr과 strpos는 사용예 자체가 다릅니다. "어떤 문자나 문자열이 해당문자열에 포함 되어있는지 확인할" 때 strstr을 쓰는 건 낭비입니다. 원래 그 목적으로 쓰는 게 아니거든요. 무조건 쓰고 안쓰고가 아니라어떤 목적으로 쓰느냐를 아시는게 먼저인것 같습니다.
다음은 strstr을 사용하는 예입니다.
<?php
$email = 'name@example.com';
$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 "있습니다.";
?>
댓글 12개
뭐 제가 웹프로그래밍 시작한지 1달도 안됬으니 이해해주세요..
다음은 strstr을 사용하는 예입니다.
<?php
$email = 'name@example.com';
$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을 쓰는 좋은 경우는 언제인가요?
문자가 들어있는지만 판별 할때는 무조건 strpos...
그누보드 wiew.php write.php에 보면 html옵션 판별에 strstr을 사용하는 곳이 더러 보입니다
if (strstr($view[wr_option], "html1")) $html = 1;
이런 건 strpos 로 바꾸면 좋지않을까 합니다
균이님,,감사합니다.
감사합니다.