> 백엔드 개발 > PHP 튜토리얼 > PHP 문자열 역순 구현 방법

PHP 문자열 역순 구현 방법

墨辰丷
풀어 주다: 2023-03-28 08:28:01
원래의
3089명이 탐색했습니다.

이 글에서는 주로 PHP에서의 문자열 역순 구현 방법을 소개합니다. strrev 함수, 이등분 방법, 루프 방법, 재귀 방법 및 기타 일반적으로 사용되는 문자열 역순 연산 구현 기술을 예제 형식으로 요약하고 분석합니다. 참고하시면 됩니다

자세한 내용은 다음과 같습니다.

문자열의 역순에 관해서는 PHP 함수 strrev()를 사용한 가장 간단한 테스트 코드는 다음과 같습니다.

header('Content-type: text/html; charset=utf-8');
$str = implode('', range(9, 0));
print &#39;< p><strong>Before reversed: </strong>&#39;.$str.&#39;< /p>&#39;;
print &#39;< p>< strong>After reversed: < /strong>&#39;.strrev($str).&#39;< /p>&#39;;
/*
输出如下:
Before reversed: 9876543210
After reversed: 0123456789
*/
로그인 후 복사

빌드된 경우 구현 방법 - PHP 함수 strrev()가 사용되지 않습니까? 여기에는 세 가지 추가 방법(이등분 방법, 루프 방법, 재귀 방법)이 제공되지만 성능 테스트는 수행되지 않습니다.

1. 이분법

/**
* 二分法实现字符串逆序排列
* @param string $str 源字符串
* @return string 返回逆序后的字符串
*/
function reverse($str=&#39;&#39;) {
  $len = strlen($str);
  //不能使用count或sizeof
  $mid = floor($len/2);
  for ($i=0; $i<$mid; $i++) {
    $temp = $str[$i];
    $str[$i] = $str[$len-$i-1];
    $str[$len-$i-1] = $temp;
  }
  return $str;
}
로그인 후 복사

2. 순환법

/**
* 循环实现对字符串的逆序排列(效率比二分法低)
* @param string $str 源字符串
* @return string 返回逆序后的字符串
*/
function reverse($str=&#39;&#39;) {
  $result = &#39;&#39;;
  for ($i=1; $i<=strlen($str); $i++) {
    $result .= substr($str, -$i, 1);
  }
  return $result;
}
로그인 후 복사

3.

/**
* 递归实现对字符串的逆序排列(效率低)
* @param string $str 源字符串
* @return string 返回逆序后的字符串
*/
function reverse($str=&#39;&#39;) {
  static $result = &#39;&#39;;
  /* 用堆栈来理解递归调用 */
  if (strlen($str) > 0) {
    reverse(substr($str, 1));
    $result .= substr($str, 0, 1);
    //此句必须放在上一语句之后
  }
  return $result;
}
로그인 후 복사

그게 다야 이 기사의 전체 내용이 모든 사람의 연구에 도움이 되기를 바랍니다.


관련 권장 사항:

php는 지정된 수의 무작위 문자열

php을 구현합니다. 중국어 strings-utf8 버전

의 사용자 정의 가로채기를 구현합니다.

php 검색 문자 문자열에서 0이 아닌 첫 번째 위치를 가로채는 방법에 대한 자세한 설명

위 내용은 PHP 문자열 역순 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿