Heim >Backend-Entwicklung >PHP-Tutorial >Implementierungsmethode für PHP-Strings in umgekehrter Reihenfolge

Implementierungsmethode für PHP-Strings in umgekehrter Reihenfolge

墨辰丷
墨辰丷Original
2018-05-26 15:31:403055Durchsuche

Dieser Artikel stellt hauptsächlich die Implementierungsmethode der String-Umkehrreihenfolge in PHP vor. Er fasst die Strrev-Funktion, die Halbierungsmethode, die Schleifenmethode, die Rekursionsmethode und andere häufig verwendete Techniken zur Implementierung von String-Umkehrreihenfolgen zusammen Bedürftige können darauf verweisen. Die folgenden Details

lauten wie folgt:

In Bezug auf die umgekehrte Reihenfolge der Zeichenfolgen lautet der einfachste Testcode mit der PHP-Funktion strrev() wie folgt:

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
*/

Wie implementiert man dies, wenn die integrierte PHP-Funktion strrev() nicht verwendet wird? Hier werden drei zusätzliche Methoden (Bisektionsmethode, Schleifenmethode, rekursive Methode) angegeben, es wird jedoch kein Leistungstest durchgeführt.

1. Dichotomie-Methode

/**
* 二分法实现字符串逆序排列
* @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. Rekursive Methode

/**
* 递归实现对字符串的逆序排列(效率低)
* @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;
}

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für das Studium aller hilfreich sein.


Verwandte Empfehlungen:

PHP-Methode zum Erhalten einer bestimmten Anzahl zufälliger Strings

php implementiert benutzerdefiniertes Abfangen der chinesischen string-utf8-Version

php-Suchestring Ausführliche Erklärung des Abfangens der ersten Nicht-0-Position in

Das obige ist der detaillierte Inhalt vonImplementierungsmethode für PHP-Strings in umgekehrter Reihenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn