나는 언제 strtr
더 str_replace
좋을지 또는 그 반대의 경우인지 이해하는 데 어려움을 겪고 있습니다 . 부분 문자열이 바뀌는 순서가 반대로되어 있지만 두 함수를 사용하여 똑같은 결과를 얻을 수있는 것 같습니다. 예를 들면 :
echo strtr('test string', 'st', 'XY')."\n";
echo strtr('test string', array( 's' => 'X', 't' => 'Y', 'st' => 'Z' ))."\n";
echo str_replace(array('s', 't', 'st'), array('X', 'Y', 'Z'), 'test string')."\n";
echo str_replace(array('st', 't', 's'), array('Z', 'Y', 'X'), 'test string');
이 출력
YeXY XYring
YeZ Zring
YeXY XYring
YeZ Zring
구문 외에도 다른 하나를 사용하면 이점이 있습니까? 원하는 결과를 얻기에 충분하지 않은 경우가 있습니까?
strtr
때문에 쉽게 잘못 읽을 수 있습니다strstr
. 내가 난독증이라고 생각하기 시작했습니다. str_replace로 그 실수를하지 않을 것입니다.