strtr 과 str_replace함수 차이

Language/PHP 2010. 8. 2. 15:49

PHP 에서는 두가지 함수가 있는데

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

이런 식으로 변환이 된다.


출처 - http://blog.daum.net/pepmanager/6023108

'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
: