<span><span><span class="hljs-comment">// 완전한 코드 샘플</span></span><span>
</span><span><span class="hljs-variable">$example</span></span><span> = </span><span><span class="hljs-string">"PHP문자열 미러"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"원래의: "</span></span><span> . </span><span><span class="hljs-variable">$example</span></span><span> . PHP_EOL;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"반전: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">strrev</span></span><span>(</span><span><span class="hljs-variable">$example</span></span><span>) . PHP_EOL; </span><span><span class="hljs-comment">// 다중 바이트 문자에는 문제가 있습니다</span></span><span>
</span></span>실제 프로젝트에서 멀티 바이트 문자열이 관련된 경우 반전이 올바른지 확인하기 위해 멀티 바이트 스트링 함수를 사용하는 것이 좋습니다.
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">mb_strrev</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$string</span></span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span> = </span><span><span class="hljs-string">'UTF-8'</span></span><span>) {
</span><span><span class="hljs-variable">$length</span></span><span> = </span><span><span class="hljs-title function_ invoke__">mb_strlen</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
</span><span><span class="hljs-variable">$reversed</span></span><span> = </span><span><span class="hljs-string">''</span></span><span>;
</span><span><span class="hljs-keyword">while</span></span><span> (</span><span><span class="hljs-variable">$length</span></span><span>-- > </span><span><span class="hljs-number">0</span></span><span>) {
</span><span><span class="hljs-variable">$reversed</span></span><span> .= </span><span><span class="hljs-title function_ invoke__">mb_substr</span></span><span>(</span><span><span class="hljs-variable">$string</span></span><span>, </span><span><span class="hljs-variable">$length</span></span><span>, </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-variable">$encoding</span></span><span>);
}
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-variable">$reversed</span></span><span>;
}
</span><span><span class="hljs-variable">$mbExample</span></span><span> = </span><span><span class="hljs-string">"PHP문자열 미러"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"多字节반전: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">mb_strrev</span></span><span>(</span><span><span class="hljs-variable">$mbExample</span></span><span>) . PHP_EOL;
</span></span>이렇게하면 중국어와 같은 다중 바이트 문자가 포함 된 문자열을 올바르게 역전하여 진정한 미러 출력을 달성 할 수 있습니다.