PHP의 strtr() 함수는 문자열 내의 특정 문자를 다른 문자로 변환(translate)하거나, 부분 문자열을 다른 문자열로 교체할 때 사용하는 함수입니다.
문법
strtr(string, from, to) 또는 strtr(string, 배열)
strtr() 함수는 두 가지 방식으로 호출할 수 있습니다. 첫 번째는 두 개의 문자열 인자를 이용하는 방식이고, 두 번째는 치환 규칙을 담은 배열 하나를 전달하는 방식입니다.
매개변수
string − 변환할 대상이 되는 원본 문자열입니다.
from − 변경하고 싶은 원래 문자들입니다. 배열을 사용하지 않는 경우 필수 매개변수입니다.
to − from에 해당하는 문자가 바뀔 대상 문자들입니다. 배열을 사용하지 않는 경우 필수 매개변수입니다.
배열(arr) − 변경할 원래 문자를 키(key)로, 변경될 새로운 문자를 값(value)으로 담고 있는 연관 배열입니다.
반환값
strtr() 함수는 문자가 치환된 결과 문자열을 반환합니다.
예제
다음 예제는 strtr() 함수를 사용하여 문자열의 각 문자를 일대일로 치환하는 방법을 보여줍니다.
<?php $mystr = "kom lan"; $str1 = "koml"; $str2 = "tomh"; echo strtr($mystr, $str1, $str2); ?>
위 예제에서 $str1의 각 문자와 $str2의 같은 위치에 있는 문자가 짝을 이루어 치환됩니다. 즉, 'k'→'t', 'o'→'o', 'm'→'m', 'l'→'h' 순서로 매핑되어 적용됩니다.
출력 결과
tom han
참고 사항
strtr() 함수는 문자 단위로 일대일 치환한다는 점에서 str_replace() 함수와 차이가 있습니다. 또한 from과 to 문자열의 길이가 다르면, 더 긴 쪽의 초과 문자들은 무시됩니다. 여러 개의 치환 규칙을 한 번에 적용해야 하는 경우에는 배열 형태를 사용하는 것이 코드를 더 깔끔하게 유지할 수 있습니다.