>  기사  >  백엔드 개발  >  PHP 함수 rtrim() 사용 시 이상한 현상

PHP 함수 rtrim() 사용 시 이상한 현상

高洛峰
高洛峰원래의
2017-02-25 16:24:241788검색

이 기사의 예에서는 PHP 함수 rtrim() 사용 시 발생하는 이상한 현상을 설명합니다. 참고하실 수 있도록 모두와 공유해 주세요. 자세한 내용은 다음과 같습니다.

오늘 rtrim() 기능을 사용할 때 이상한 문제가 발생했습니다.

echo rtrim(&#39;<p></p>&#39;, &#39;</p>&#39;); // 输出为 <p
echo ltrim(&#39;www.php.cn&#39;,&#39;www.&#39;); // 输出为 php.cn

위 출력 결과는 좀 의외네요. 원래 첫 번째 줄은 e388a4556c0f65e1904146cc1a846bee가 출력되어야 하고, 두 번째 줄은 jb51.net이 출력되어야 한다고 생각했습니다.

이 문제는 오랫동안 저를 괴롭혔고 그 이유를 찾지 못했습니다. 나중에 매뉴얼에서 답을 찾았습니다.

rtrim()은 문자를 단위로 바꿉니다. , 문자열이 아닙니다. 오른쪽에서 왼쪽으로 바꾸면 > 의 6개 문자가 확실히 대체됩니다. 왜냐하면 > 6fb279ad3fd4344cbdd93aac6ad173ac)이므로 왼쪽으로 갈 때 p가 만나면 두 번째 매개변수의 문자열에 p가 포함되지 않습니다. 따라서 대체가 중지되고

이렇게 이해하면 두 번째 줄의 출력 결과가 예상됩니다. 하하...설명서에 명확하게 써있네요. 원본 텍스트:

charlist 매개변수를 사용하여 제거하려는 문자를 지정할 수도 있습니다. 간단히 제거하려는 모든 문자를 나열하면 .. 범위를 지정할 수 있습니다. 문자 .

rtrim, ltrim, trim의 두 번째 매개변수가 일치 연산을 위한 문자 목록 집합으로 사용되는 것을 볼 수 있습니다. 이는 기존에 우리가 알고 있던 str_replace 함수의 교체 동작과는 다릅니다.

PHP 함수 rtrim() 사용 시 이상한 현상과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.