美文网首页
简单实现字符串反转

简单实现字符串反转

作者: 凉宫春日的回归 | 来源:发表于2018-07-06 23:24 被阅读0次

为了维护世界的和平,我决定

先上代码:

$Str='咸鱼字符串等着翻身,hello?';
$NumStr=mb_strlen($Str);
for($i=1;$i<=$NumStr;$i++)
    echo mb_substr($Str,-$i,1);

输出结果:

?olleh,身翻着等串符字鱼咸

代码分析:

要想实现字符串的反转,首先我们需要一个能从指定位置读取字符串的函数,然后从最后一个字符开始逐次逐个向前读取并输出。

考虑到字符串包含中文就没有使用strlen()substr()这两个函数[1],而是用到了另外两个有趣的函数mb_strlen()mb_substr()。这两个函数都属于mbstring扩展中的一员,能用来处理中文字符串。

  • mb_strlen() : 获取字符串长度
    1. mb_strlen(字符串字符编码 可省略)
    2. 字符编码项如果省略会使用内部字符编码,可通过mb_internal_encoding()获取当前内部字符编码
  • mb_substr() : 获取部分字符串
    1. mb_substr(字符串起始位置长度 可省略字符编码 可省略)

    2. 起始位置
      (1) 当为0或正整数时,字符串依照第一字符为位置0、第二字符为位置1以此类推的规则,以起始位置起返回字符串

      0 1 2 3

      (2) 当为负整数时,字符串依照倒数第一字符为位置-1、倒数第二字符为位置-2以此类推的规则,以起始位置起返回字符串

      -4 -3 -2 -1
    3. 长度
      (1) 当省略时,返回字符串由起始位置起至末尾字符
      (2) 当为0或正整数时,返回字符串由起始位置起规定长度个数的字符
      (3) 当为负整数时,返回字符串由起始位置起至倒数第(规定长度的绝对值)的字符

    4. 字符编码项如果省略会使用内部字符编码


  1. 由于编码原因无法正确地处理中文字符串,具体详见http://developer.51cto.com/art/201105/263103.htm

相关文章

  • 左旋转字符串

    简单做法 字符串反转 三次反转

  • 简单实现字符串反转

    为了维护世界的和平,我决定 先上代码: 输出结果: 代码分析: 要想实现字符串的反转,首先我们需要一个能从指定位置...

  • 10-1 字符串反转

    给定字符串“hello world”,实现字符串的反转

  • 课程笔记:第13章 算法相关面试问题

    字符串反转 Q:给定字符串"Hello,world",实现将其反转输出结果:dlrow,olleH。 解决思路:使...

  • iOS 算法面试题(二)

    字符串反转 给定字符串 "hello,world",实现将其反转。输出结果:dlrow,olleh 序数组合并 将...

  • JavaScript字符串反转截取

    实现思路: 1.反转目标字符串;2.截取反转后的字符串;3.在反转一次恢复原来的字符串顺序 方法调用

  • 算法

    字符串反转 给定字符串"hello, world",实现将其反转。 链表反转 有序数组合并 Hash算法 在一个字...

  • python实现字符串反转,单词内不反转

    题目: python实现字符串反转,单词内不反转 例:‘ hello world ’ ---> ' world h...

  • 字符串部分反转

    一、题目:将字符串指定部分反转,如"abcdefg"反转后为"abfedcg" 二、实现 方式一 1.把指定字符串...

  • 【python】对字符串进行反转?

    题目:实现字符串的反转,要求不适用任何系统的方法,且时间复杂度最小。 分析:字符串的反转主要通过字符的交换来实现,...

网友评论

      本文标题:简单实现字符串反转

      本文链接:https://www.haomeiwen.com/subject/bbliuftx.html