php反转字符串的三种方法

原创 2016年06月01日 00:32:08

这种问题在面试题中经常被问到,php有自带的函数strrev可以轻松实现,但是面试官要考的肯定不是这个啦。除此办法外,我能想到的还有两个,第一个就是把分割字符串到一个数组中,然后遍历拼接,具体如下:

function revstr($str)
{
	if (strlen($str) <= 1) return $str;

	$newstr  = '';
	$str2arr = str_split($str,1);
	foreach ($str2arr as $word) {
		$newstr = $word.$newstr;
	}

	return $newstr;
}


这种方法是最容易想到的,除此以外还有一个方法,就是利用递归来做,代码如下:

function revstr($str)
{
	if (strlen($str) <= 1) return $str;

	$newstr = '';
	$newstr .= substr($str,-1).revstr(substr($str,0,strlen($str)-1));

	return $newstr;
}
ps:这种方法应该才是面试官想看到的答案。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

PHP中实现中文字符串反转避免乱码的方法

今天博主在网上看PHP面试题的时候,看到了这么一个问题,如何实现字符串反转,当时想不是有一个内置函数strrev能实现这个功能吗?后来试了一下,这个函数只能对英文字符进行反转,对中文会有乱码出现。主要...

C# 字符串反转(两种方法)

  • 2010年03月17日 16:52
  • 15KB
  • 下载

单链表实现反转的三种方法

单链表的操作是面试中经常会遇到的问题,今天总结一下反转的几种方案: 1 ,两两对换 2, 放入数组,倒置数组 3, 递归实现...

单链表的反转/逆序的三种方法

原文章地址:单链表反转、逆序/*单链表的反转/逆序的三种方法*//* *前面我们大约把单链表 ADT 的基本操作都过了一遍,但是这 *还不够。单链表在面试与笔试中出现的几率很高,接下来我们 *再花点时...

模拟实现一个字符串的反转的9种方法

1. 使用Array.Reverse方法 对于字符串反转,我们可以使用.NET类库自带的Array.Reverse方法 public static string ReverseByArray(st...

Java中字符串反转的七种方法

突然在想,确实是浮躁了 字符串反转的七种方法: 在线代码: package test1; import java.util.Stack; public class Reverse { ...

hdu 1062Text Reverse 反转字符串【两种方法 数组法、堆栈】

Problem Description Ignatius likes to write words in reverse way. Given a single line of text which...

一种巧妙的反转字符串的方法及思考过程

如题,需求是反转字符串,当然啦方法是有很多的,这种我觉得蛮有意思的^_^#include #include using namespace std;int main() { string s...
  • NoMasp
  • NoMasp
  • 2015年12月22日 14:37
  • 1764

红薯 7 种将字符串反转的 Java 方法

转载地址:http://www.oschina.net/code/snippet_12_9060 import java.util.Stack; public class Stri...

用C语言实现字符串反转函数strrev的经典方法

字符串反转函数strrev不是C语言标准库函数,很多C语言编译器并没有提供对它的支持,比如你在Linux下输入Shell命令man 3 strlen,屏幕上会显示, STRLEN(3) ...
  • turingo
  • turingo
  • 2012年10月29日 15:59
  • 17938
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php反转字符串的三种方法
举报原因:
原因补充:

(最多只允许输入30个字)