一、使用 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. 「Log」做题记录 2023.6.15-2023.7.30

    \(2023.6.15-2023.6.18\) \(\color{blueviolet}{CF848C}\) 三维偏序,将询问拆开为每个位置到它的前缀,修改则减去之前的贡献,加上新贡献. 错误: se ...

  2. 理解 .NET 结构体字段的内存布局

    目录 前言 基本概念 结构体的默认字段布局 对齐 64 位系统与 32 位系统的对齐要求差异 默认字段布局中 对齐要求 与 偏移量 的关系 填充 包含引用类型字段的结构体的默认字段布局 用 Struc ...

  3. 关于学习率-----linearLR

    1. lr_scheduler综述 torch.optim.lr_scheduler模块提供了一些根据epoch训练次数来调整学习率(learning rate)的方法.一般情况下我们会设置随着epo ...

  4. 一个基于 .NET 开源、模块化 AI 图像生成 Web 用户界面

    前言 今天大姚给大家分享一个基于 .NET 开源.模块化 AI 图像生成 Web 用户界面:SwarmUI. 项目介绍 SwarmUI (原 StableSwarmUI)是一个基于 .NET 开源(M ...

  5. snmp总结二:MIB语法

    snmp总结二:MIB语法 MIB(Management Information Base,管理信息库)是 MO(Managed Object 管理对象)定义的集合.MIB 文件是按照 ASN.1 定 ...

  6. Photoshop 2025超详细保姆级下载安装教程(直装版)

    目录 一.Photoshop 2025软件简介 二.Photoshop 2025下载与安装教程(详细步骤) 三.Photoshop 2025核心功能亮点 四.Photoshop 2025常见问题与注意 ...

  7. el-popover无法弹出的问题解决

    1.不能再el-popover上⾯使⽤v-if进⾏显⽰隐藏,应该⽤v-show2.在每⼀个el-popover上都增加⼀个ref确定每个el-popover都是唯⼀的,:ref="`node ...

  8. MKL普通矩阵运算示例及函数封装

    本示例将介绍MKL中的矩阵乘法和求逆,使用MKL进行此类大型矩阵运算可大量节省计算时间和空间,但由于MKL中的原生API接口繁杂,因此将常用函数封装,便于后续使用,最后在实际例子中调用接口执行想要的矩 ...

  9. Viual Studio 共享组件、工具和SDK的位置不能更改 解决方案

    https://blog.csdn.net/weixin_41923658/article/details/103214742 找到电脑上 VS 的注册表,删除共享组件.工具和 SDK 的注册表:   ...

  10. Java -- 远程程序调用(Remote Method Invocation RMI)

    引言 一般Java的方法调用都是对运行在相同Java虚拟机上的对象进行的,也就是调用方法与被调用方法都是在同一个堆上. 如果要调用不同机器上的对象的方法呢?这就要用到RMI技术. 远程过程调用的设计 ...