一、使用 PHP 函数 strrev

<?php
$str = "ABCDEFG";
echo strrev($str);

二、使用 strlen() 函数

<?php
$str = "ABC DEF";
$len = strlen($str);
$new_str = '';
while ($len) {
$new_str .= $str[$len - 1];
$len--;
}
echo $new_str;

如果需要反转的字符串中有中文字符,则需要用到 mb_substr 函数

<?php
$str = 'hello world 你好';
$len = mb_strlen($str);
$result = '';
for ($i = $len-1; $i>=0; $i--){
$result.= mb_substr($str,$i,1,'utf-8');
}
echo $result;

三、递归实现反转

<?php
function recursion ($str) {
if (strlen($str) > 0) {
recursion(substr($str, 1));
}
echo substr($str, 0, 1);
return;
}
$str = "ABCDEFG";
recursion($str);

原文地址:https://www.ryanzoe.top/php/%e5%ae%9e%e7%94%a8%e5%8a%9f%e8%83%bd/php-reverse-string/

PHP 反转字符串的更多相关文章

  1. C# 反转字符串方法

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 反转字符 ...

  2. C# 反转字符串

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 实现字符 ...

  3. python反转字符串(简单方法)及简单的文件操作示例

    Python反转字符串的最简单方法是用切片: >>> a=' >>> print a[::-1] 654321 切片介绍:切片操作符中的第一个数(冒号之前)表示切片 ...

  4. 《c程序设计语言》读书笔记--反转字符串

    #include "stdio.h" #define Num 100 void reverse(char words[]) { int i, j, c, n=0; while(wo ...

  5. 反转字符串的几种实现(Java)

    反转字符串的几种实现(Java) 首先第一种是利用Java中的类库对象进行反转 //第一种 使用Java类库的diam实现反转 public String reverse(String str){ S ...

  6. [Swift]LeetCode557. 反转字符串中的单词 III | Reverse Words in a String III

    Given a string, you need to reverse the order of characters in each word within a sentence while sti ...

  7. C#版(击败97.76%的提交) - Leetcode 557. 反转字符串中的单词 III - 题解

    版权声明: 本文为博主Bravo Yeung(知乎UserName同名)的原创文章,欲转载请先私信获博主允许,转载时请附上网址 http://blog.csdn.net/lzuacm. Leetcod ...

  8. Leetcode#557. Reverse Words in a String III(反转字符串中的单词 III)

    题目描述 给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序. 示例 1: 输入: "Let's take LeetCode contest" 输 ...

  9. Leetcode#344. Reverse String(反转字符串)

    题目描述 编写一个函数,其作用是将输入的字符串反转过来. 示例 1: 输入: "hello" 输出: "olleh" 示例 2: 输入: "A man ...

  10. Python中的反转字符串问题

    按单词反转字符串是一道很常见的面试题.在Python中实现起来非常简单. def reverse_string_by_word(s): lst = s.split() # split by blank ...

随机推荐

  1. 为什么构建容器需要Namespace?

    1.什么是Namespace? Namespace 是 Linux 内核的一个特性,该特性可以实现在同一主机系统中,对进程 ID.主机名.用户 ID.文件名.网络和进程间通信等资源的隔离.Docker ...

  2. qt激光加工软件开发——日志模块

    本篇主要介绍该加工软件的日志模块 实现的功能: 主界面日志栏显示 分级显示 本地保存 简单的调用机制 目前选择的是qInstallMessageHandler,毕竟是qt亲儿子(Qt 5.0以上版本) ...

  3. 【闲话 No.3】 并查集相关

    命に嫌われている. 小唐话 感觉有的时候已经无法与人正常交流,净做唐事.说些唐话了.或许是我无法准确猜到别人喜欢什么吧. 不过还是自己心底一点 joker 之心/私心作祟吧. 感觉我有时做的唐事真的挺 ...

  4. C# DataGridViewRow转换为(Model)实体对象

    https://blog.csdn.net/cxu123321/article/details/107875832 ContactModel model = dataGridView1.Current ...

  5. 安全可控·国产典范—上海卓岚ZLAN5107-C全国产化 串口服务器助力工业通信自主化

    一.为什么选择纯国产化串口服务器? 在当前国际形势下,关键基础设施的通信安全至关重要.工业通信设备的供应链安全与数据主权问题日益凸显.传统串口服务器依赖国外芯片(如ARM架构)和操作系统(如linxu ...

  6. centos7导入很大的数据库脚本

    前提因为远程桌面,图形化界面实在是太慢了 所以将压缩数据库文件传入到服务器某个目录下aggs_court.sql.gz解压gunzip aggs_court.sql.gz进入数据库:mysql -p@ ...

  7. ETL常见的数据转换方式

    -.什么是数据转换? 数据转换就是把数据从一种格式或结构变换成另一种格式或结构.它借助一系列转换操作,让数据变得更整洁.规范,方便理解和使用.数据转换是 ETL(即数据抽取.转换.加载)流程里十分关键 ...

  8. P6429 [COCI2008-2009#1] JEZ 题解

    题目传送门:Click. 更好地观感:Click(进入速度玄学) 某蒟蒻看见这道题,想了足足一个晚上,过后茅塞顿开,故作此篇. 感谢神犇的题解,思路基本相同,补充了一些自己的想法或这片题解可能没有注意 ...

  9. SQL Server 2016安装指南——针对“Microsoft R Open和Microsoft R Serve”提供解决经验 -九五小庞

  10. DP 好题题单整理

    可能会持续更新,但是可能会被我放着不管. 题目 思路 数字序列 对最长不下降子序列模型的理解 Circling Round Treasures 一道状压好题 星空 一道重点不在于 \(dp\) 的思维 ...