>  기사  >  백엔드 개발  >  PHP 문자열 역순 정렬 [strrev 함수, 이분법, 루프 방식, 재귀 방식]

PHP 문자열 역순 정렬 [strrev 함수, 이분법, 루프 방식, 재귀 방식]

高洛峰
高洛峰원래의
2017-01-14 13:38:531218검색

이 기사의 예는 PHP 문자열의 역순 정렬 구현 방법을 요약합니다. 참고하실 수 있도록 자세한 내용은 다음과 같습니다.

문자열의 역순과 관련하여 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()를 사용하지 않고 이를 구현하는 방법은 무엇입니까? 여기에는 세 가지 추가 방법(이등분 방법, 루프 방법, 재귀 방법)이 제공되지만 성능 테스트는 수행되지 않습니다.

(PS: 모든 사람이 코드를 더 쉽게 읽을 수 있도록 온라인 PHP 코드 서식 지정 도구인 http://tools.jb51.net/code/jb51_php_format을 사용하여 서식을 지정합니다.)

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. 순환법

rree


3. 🎜>

/**
* 循环实现对字符串的逆序排列(效率比二分法低)
* @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;
}

이 기사가 PHP 프로그래밍에 종사하는 모든 사람에게 도움이 되기를 바랍니다.

더 많은 PHP 문자열 역순 배열 [strrev 함수, 이분법, 루프 방식, 재귀 방식] 관련 글은 PHP 중국어 홈페이지를 주목해주세요!

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