strtr 과 str_replace함수 차이
Language/PHP 2010. 8. 2. 15:49PHP 에서는 두가지 함수가 있는데
strtr과 str_replace함수이다.
str_replace함수는 ASP의 Replace와 같은 역활을 하는데
사용법은
str_replace("찾을문자열","변경할문자열","문자열 원본")
예) $string ="This is a BIG test with SMALL RESULT";
echo str_replace("BIG","SMALL",$string);
결과값: This is a SMALL test with SMALL RESULT
원본 위치만다르고 쓰는 방식은 같다.
특이한 것은 strtr함수인데
이것은 1:1 바꿔주는 역활을 하는 함수이다.
사용법은
strtr("문자열","변경할문자열","변경할 문자열")
예)$string ="This is a BIG test with SMALL RESULT";
echo strtr($string,"BIG","SMALL");
결과값: This is a SMA test with SMALL RESULT
변경할 문자열의 length만큼 바뀌는 성실이 있다.
만약 다음 처럼 한다면
$string ="This is a big test with small result";
echo strtr($string,"big","small");
결과값:Thms ms a sma test wmth small result
보는 봐와 같이 b -> s, i -> m, g -> a로
치환이 되어 버린다. 이것을 str_replace처럼 쓰고 싶으면 배열을 이용해서 사용해도 된다.
< ?
$string = "This is a BIG test with SMALL RESULT\n";
$repl = array('BIG' => 'SMALL', 'SMALL' => 'BIG');
echo str_replace(array_keys($repl), array_values($repl), $string);
echo strtr($string, $repl);
? >
이것의 결과값은
This is a SMALL test with BIG RESULT
이런 식으로 변환이 된다.
'Language > PHP' 카테고리의 다른 글
fsockopen (0) | 2010.08.14 |
---|---|
Variable 함수 (0) | 2010.08.10 |
php.ini Session 옵션 (0) | 2010.08.02 |
Warning: main(): URL file-access is disabled in the server (0) | 2010.08.01 |
정규표현식 (0) | 2010.07.27 |