PHP8的字符串操作2-PHP8知识详解

news2024/11/24 6:02:37

今日继续分享《php8的字符串操作》昨天一天都没有写多少,内容多,今天继续:

昨天分享的是1、使用trim()、rtrim()和ltrim()函数去除字符串首尾空格和特殊字符。2、使用strlen()函数和mb_strlen()函数获取字符串的长度。

PHP8的字符串操作

3、截取字符串

PHP对字符串的截取可以使用内置函数substr()和mb_substr()实现。

通常情况下,substr()函数用于截取英文字符。mb_substr()函数用于带有中文字符的字符串。

3.1、substr()函数

在一个字符串中截取一个子串,就是字符串截取。使用substr()函数,可以完成字符串的截取。

substr()函数有3个参数,分别是目标字符串、起始位置和截取长度。语法格式如下:

substr(目标字符串,起始位置,截取长度)

其中:

1、目标字符串是某个字符串变量的变量名,起始位置和截取长度都是整数。

2、如果都是正数,起始位置的整数必须小于截取长度的整数,否则函数返回值为假。

3、如果截取的字符串为负数,则意味着是从起始位置开始往后,截取从目标字符串结尾算起的长度数的字符以外的所有字符。

4、字符串的起死位置是从0开始计算的,也就是字符串中第一个字符的位置表示为0。

下面,本站制作的一个PHP字符串起始位置的示意图,让大家更好的进行理解:

Image

使用substr()函数截取字符串长度,参考代码:

<?php
$a = "Welcome to China";
echo substr($a,0); //从第1个字符开始截取
echo "<br>";
echo substr($a,3,10); //从第4个字符开始截取10个字符
echo "<br>";
echo substr($a,-5,5); //从倒数第5个字符开始截取5个字符
echo "<br>";
echo substr($a,0,-5); //从第1个字符,到倒数第5个字符
?>

 在PHP8中运行以上程序的结果是:

Welcome to China
come to Ch
China
Welcome to

3.2、mb_substr()函数

mb_substr()函数用于截取,带有汉字字符的字符串,语法格式如下:

mb_substr(目标字符串,起始位置,截取长度,$encoding = 编码)

其中:

1、目标字符串是某个字符串变量的变量名,起始位置和截取长度都是整数。

2、起始位置就是要截取的第一个位置。如果长度为正数就是正序,如果长度为负数就是反序。

3、encoding表示字符编码,如果省略,则使用内部字符编码。

4、返回值是根据目标字符串和起始位置,截取长度等返回目标字符串的一部分。

代码示范:

<?php
$a = "我是中国人,我爱自己的祖国";
echo mb_substr($a,0); //从第1个字符开始截取
echo "<br>";
echo mb_substr($a,3,10); //从第4个字符开始截取10个字符
echo "<br>";
echo mb_substr($a,-5,5); //从倒数第5个字符开始截取5个字符
echo "<br>";
echo mb_substr($a,0,-5); //从第1个字符,到倒数第5个字符
?>

在PHP8中运行的结果如下:

我是中国人,我爱自己的祖国
国人,我爱自己的祖国
自己的祖国
我是中国人,我爱

4、检索字符串

检索字符串就是在一个字符串中查找另一个字符串,就像我们在文本编辑器里面查找关键字一样。

要想检索字符串,我们可以使用以下内置函数。

4.1、strstr()函数

获取一个指定字符串在另一个字符串中,首次出现的位置到末尾的子字符串,可以使用strstr()函数,语法如下:

strstr(目标字符串,查找的字符串)

示例:

<?php
$a = "我正在学习PHP8,你要学习吗?";
echo strstr($a,"PHP");
?>

以上代码在PHP8中的运行结果为:

PHP8,你要学习吗?

上面的查找的字符串是有大小写区分的,我修改大小写就不能正确显示了。

<?php
$a = "我正在学习PHP8,你要学习吗?";
echo strstr($a,"php");
?>

在PHP8中运行结果为:空(什么都不显示),要想不区分大小写,可以使用stristr()函数。

4.2、stristr()函数

stristr()函数和strstr()函数一样,就是可以不区分大小写,如下代码:

<?php
$a = "我正在学习PHP8,你要学习吗?";
echo stristr($a,"php");
?>

以上代码在PHP8中的运行结果为:

PHP8,你要学习吗?

4.3、strpos()函数

strpos()函数用于查找字符串首次出现的位置,返回数字首次出现的位置。strpos()函数语法如下:

strpos(目标字符串,查找的字符串)

  参考代码如下:

<?php
$a = "我正在学习PHP8,你要学习吗?";
echo strpos($a,"PHP");
?>                                                                                                                                                   

在PHP8中运行结果如下:

15

今天就写到这里,字符串的操作还没有写完,明天继续写PHP8的字符串操作3。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/879633.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于强化学习的自动化裁剪CIFAR-10 分类任务(提升模型精度+减少计算量)

基于强化学习的自动化裁剪&#xff0c;提升模型精度的同时减少计算量。 介绍 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RFnHlyQG-1691544546106)(./pic/APT-main.png)] 目前的强化学习工作很多集中在利用外部环境的反馈训练agent&#xff0c…

大数据:什么是数据分析及环境搭建

一、什么是数据分析 当今世界对信息技术的依赖程度在不断加深&#xff0c;每天都会有大量的数据产生&#xff0c;我们经常会感到数据越来越多&#xff0c;但是要从中发现有价值的信息却越来越难。这里所说的信息&#xff0c;可以理解为对数据集处理之后的结果&#xff0c;是从…

【Sklearn】基于逻辑回归算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于逻辑回归算法的数据分类预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 逻辑回归是一种用于二分类问题的统计学习方法&#xff0c;尽管名字中含有“回归”&#xff0c…

ORCA优化器浅析——IMDRelation Storage type of a relation GP6与GP7对比

如上图所示IMDRelation作为Interface for relations in the metadata cache&#xff0c;其定义了Storage type of a relation表的存储类型&#xff0c;如下所示&#xff1a; enum Erelstoragetype {ErelstorageHeap,ErelstorageAppendOnlyCols,ErelstorageAppendOnlyRows,Erels…

如何使用CSS实现一个模态框(Modal)效果?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 使用CSS实现模态框&#xff08;Modal&#xff09;效果⭐ HTML 结构⭐ CSS 样式⭐ JavaScript⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎…

重磅:谷歌发布多平台应用 AI 编程神器

前几天&#xff0c; 谷歌发布了一个多平台应用开发神器&#xff1a;IDX 。 IDX 背靠 AI 编程神器 Codey&#xff0c;支持 React、Vue 等框架&#xff0c;还能补全、解释代码。 更有特色的一点就是&#xff1a;这是一款基于浏览器的开发全栈、用于多平台应用开发的工具。 这款开…

C语言题目的多种解法分享 2之字符串左旋和补充题

前言 有的时候&#xff0c;这个系列专栏中的解法之间并无优劣&#xff0c;只是给大家提供不同的解题思路 我决定将代码实现的过程写成注释&#xff0c;方便大家直接找到对应的函数&#xff0c;只有需要补充说明的知识才会单拿出来强调 这个系列的文章会更的比较慢&#xff0…

级联(数据字典)

二级级联&#xff1a; 一&#xff1a;新建两个Bean 父级&#xff1a; /*** Description 数据字典* Author WangKun* Date 2023/7/25 10:15* Version*/ Data AllArgsConstructor NoArgsConstructor TableName("HW_DICT_KEY") public class DictKey implements Seri…

学习笔记整理-JS-06-函数

一、函数基本使用 1. 什么是函数 函数就是语句的封装&#xff0c;可以让这些代码方便地被复用。函数具有"一次定义&#xff0c;多次调用"的优点。使用函数&#xff0c;可以简化代码&#xff0c;让代码更具有可读性。 2. 函数的定义和调用 和变量类似&#xff0c;函…

C++:模拟实现list及迭代器类模板优化方法

文章目录 迭代器模拟实现 本篇模拟实现简单的list和一些其他注意的点 迭代器 如下所示是利用拷贝构造将一个链表中的数据挪动到另外一个链表中&#xff0c;构造两个相同的链表 list(const list<T>& lt) {emptyinit();for (auto e : lt){push_back(e);} }void test_…

【ES】【elasticsearch】分布式搜索

文章目录 ☀️安装elasticsearch☀️1.部署单点es&#x1f338;1.1.创建网络&#x1f338;1.2.下载镜像&#x1f338;1.3.运行 ☀️2.部署kibana&#x1f338;2.1.部署&#x1f338;2.2.DevTools ☀️3.安装IK分词器&#x1f338;3.1.在线安装ik插件&#xff08;较慢&#xff0…

ARM汇编快速入门

本文主要分享如何快速上手ARM汇编开发的经验、汇编开发中常见的Bug以及Debug方法、用的Convolution Dephtwise算子的汇编实现相对于C版本的加速效果三方面内容。 前言 神经网络模型能够在移动端实现快速推理离不开高性能算子&#xff0c;直接使用ARM汇编指令来进行算子开发无疑…

ad+硬件每日学习十个知识点(32)23.8.12 (元器件封装、PCB封装、3D的PCB封装)

文章目录 1.元器件封装属性值说明2.PCB封装标准说明&#xff08;M、N、L&#xff09;3.电阻的PCB封装&#xff08;阻焊层&#xff09;4.电感的PCB封装&#xff08;CD、CDRH&#xff09;1.CD31的意思是&#xff0c;直径3mm&#xff0c;高度1mm![在这里插入图片描述](https://img…

【SQL应知应会】索引(二)• MySQL版

欢迎来到爱书不爱输的程序猿的博客, 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 本文收录于SQL应知应会专栏,本专栏主要用于记录对于数据库的一些学习&#xff0c;有基础也有进阶&#xff0c;有MySQL也有Oracle 索引 • MySQL版 前言一、索引1.简介2.创建2.1 索引…

Gradio——快速部署可视化人智能应用

前言 Gradio是一个开源的Python库&#xff0c;用于快速构建机器学习和数据科学演示的应用。它可以帮助你快速创建一个简单漂亮的用户界面&#xff0c;以便向客户、合作者、用户或学生展示你的机器学习模型。此外&#xff0c;还可以通过自动共享链接快速部署模型&#xff0c;并获…

IntelliJ IDEA热部署:JRebel插件的安装与使用

热部署 概述JRebel 概述 热部署&#xff0c;指修改代码后&#xff0c;无需停止应用程序&#xff0c;即可使修改后的代码生效&#xff0c;其有利于提高开发效率。 热部署方式&#xff1a; 手动热部署&#xff1a;修改代码后&#xff0c;重新编译项目&#xff0c;然后启动应用程…

【软件测试】Linux系统下安装jdk配置环境变量(详细步骤)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 1、安装环境 操作…

UGUI事件系统EventSystem

一. 事件系统概述 Unity的事件系统具有通过鼠标、键盘、游戏控制柄、触摸操作等输入方式&#xff0c;将事件发送给对象的功能。事件系统通过场景中EventSystem对象的组件EventSystem和Standalone Input Module发挥功能。EventSystem对象通常实在创建画布的同时被创建的&#xf…

c++杂谈-5

目录 一、一些c11新特性1. decltype关键字及函数后置返回类型2. 函数后置返回类型 二、c的内存模型三、函数指针和回调函数四、函数模版的注意事项 一、一些c11新特性 1. decltype关键字及函数后置返回类型 在C11中&#xff0c;decltype操作符&#xff0c;用于查询表达式的数…

HarmonyOS NEXT新能力,一站式高效开发HarmonyOS应用

2023年8月6日华为开发者大会2023&#xff08;HDC.Together&#xff09;圆满收官&#xff0c;伴随着HarmonyOS 4的发布&#xff0c;华为向开发者发布了汇聚所有最新开发能力的HarmonyOS NEXT开发者预览版&#xff0c;并分享了围绕“一次开发&#xff0c;多端部署” “可分可合&a…