入门PHP就来我这(纯干货)04

~~~~ 有胆量你就来跟着路老师卷起来! -- 纯干货,技术知识分享 ~~~~

路老师给大家分享PHP语言的知识了,旨在想让大家入门PHP,并深入了解PHP语言。


我们接着《想入门PHP就来我这(纯干货)03》继续往下学习,记住要每天都学习哦!

1 字符串

1.1 定义

字符串,顾名思义,就是将字符连接在一起。字符串定义方法一般是使用单引号('')或者双引号("")包含字符。

<?php$content = "PHP";$str1 = "双引号:I love $content <br>";$str2 = '单引号:I love $content <br>';echo $str1;echo $str2;
?>

注意:从上述代码可以看出,单引号和双引号定义字符串在PHP中的处理是不相同的,双引号中的内容可以被解释并且被替换,而单引号中的内容则被作为普通的字符进行处理。
1.2 定界符

定界符(<<<)是PHP4.0开始支持的。定界符用于定义格式化的大文本,格式化是指文本中的格式将被保留,所以文本中不需要使用转义字符。在使用时后接一个标识符,然后是字符串,最后是同样的标识符结束字符串。格式如下:

<?php$str = <<< START内容START
?>
注意:其中开始和结尾的START要保持相同,用户可以自定义,你不写START也可以,不过要保持前后两个标识符都一样。
小小案例,带你飘一下:
<?php$content = "PHP";$str1 = <<<STARTI <br>love $content再次输出一次 <br>$contentSTART;echo $str1;
?>

2.字符串操作

字符串操作在PHP编程中占有重要的地位,几乎所有的输入与输出都会用到字符串。尤其是在PHP项目开发过程中,为了实现某项功能,经常需要对某些字符串进行特殊处理,如获取字符串长度、截取字符串、替换字符串等。接下来我们来学习几个字符串的操作函数:

2.1 去除字符串首尾和特殊字符
2.1.1 trim()函数

用于去除字符串首尾处的空白字符(或者其他字符),语法如下:

string trim(string $str [,string $charlist])
//str 操纵的字符串
//charlist 一般要列出所希望过滤的字符,也可以使用"..",列出一个字符范围。如果不设置该参数,则所有可选字符都将被删除。如果不指定charlist参数,trim()函数将去除下表所有的字符。
字符说明
\0空值NULL
\ttab,制表位
\n换行
\x0B垂直制表位
\r回车
" "空格
注意: 除了以上默认的过滤字符列表外,也可以在charlist参数中提供要过滤的特殊字符。
<?php$content = '           PHP        ';$str1 = "content文字内容是".$content;echo $str1;$content = trim($content);echo "<br>";echo "trim函数处理过后的content文字内容是".$content;?>

2.1.2 ltrim()函数和rtrim()函数

ltrim()函数:去除字符串左边的空格或者指定字符串;rtrim()去除字符串右边的空格或者指定字符串,这两个和trim()函数参数一样。

<?php$content = ':@_@:@_@---PHP----:@_@:@_@';$str1 = "content文字内容是".$content;echo $str1;$content1 = ltrim($content,":@_@");$content2 = rtrim($content,":@_@");echo "<br><br>";echo "ltrim函数处理过后的content文字内容是".$content1;echo "<br><br>";echo "rtrim函数处理过后的content文字内容是".$content2;
?>

2.2 获取字符串长度
2.2.1 strlen()函数

获取指定字符串的长度,中文每个字符会被转换成3个英文字符的长度,官方解释:中文字符占3个字节,英文每个字符占1个字节。

2.2.2 mb_strlen()函数

正确处理中文字符串长度问题,strlen()函数的拓展函数。

<?php$content = '我爱PHP编成';echo "中文每个字符会被转换成3个英文字符的长度:".strlen($content);echo "<br>";echo "包含中文字符的字符串真实长度:".mb_strlen($content);?>

从mb_strlen()的语法可以看出,其参数是可以指定编码类型的,默认编码是PHP内置的编码,我们可以指定为UTF-8。

mixed mb_strlen(string $str, string $encoding= mb_internal_encoding())

小小案例,带你飘一下

判定注册的用户是否为3-18位:
<?php//定义函数检查用户名是否满足条件function checkUserName($username){$userName_len = mb_strlen($username, 'UTF-8');if($userName_len <3 or $userName_len >18){$message = "你输入的用户名  '".$username."'  不满足注册条件。长度应该定义为3-18的长度";}else {$message = "'".$username."'  满足注册条件,可以注册!";}return $message;}$userName1 = '路T';$userName2 = '路老师';$result1 = checkUserName($userName1);$result2 = checkUserName($userName2);echo $result1;echo "<br><br>";echo $result2;?>

2.3 截取字符串函数
2.3.1 substr()函数和mb_substr()函数
string substr(string $str, int $start [, int $length]);语法

案例:

<?php$str = "She is a well-read girl!";echo substr($str,3); //从第4个字符位置开始截取echo "<br>";echo substr($str,-8,4);//从倒数第8位置截取4个字符
?>

2.4 检索字符串
2.4.1 strstr()函数

检索一个指定字符串在另一个字符串中首次出现的位置到后者末尾的子字符串。

<?php$email = "luteacher@163.com";echo strstr($email,'@'); //检索@符号并获取包含@后面的所有内容echo "<br>";echo strstr($email,'@',true);//设置true,检索@包含前面的内容?>

2.4.2 strpos()函数

检索字符串首次出现的位置,返回首次出现的位置数字。

<?php$email = "luteacher@163.com";echo strpos($email,'@'); //检索@字符首次出现的位置?>

2.5 替换字符串
2.5.1 str_replace()函数

可以使用新的子串替换原始字符串中被指定要替换的字符串。

<?php$email = "luteacher@163.com";$str = "****";//将$email中echa替换为****字符,替换次数$count为1次echo str_replace('each',$str,$email,$count); echo "<br>";echo "替换发生次数".$count."个";?>

2.5.2 substr_replace()函数

对指定字符串中的部分字符串进行替换。

<?php$email = "luteacher@163.com";$str = "****";//将$email中第3位开始数4个字符替换为****字符echo substr_replace($email,$str,2,4); ?>

2.6 分割、合成字符串
2.6.1 explode() 分割字符串函数

按照指定的规则对一个字符串进行分割,返回值为数组。

<?php$content = "A B C D E F G";$array = explode(' ', $content);echo "字母数组内容为:<br>"; for($i=0;$i<7;$i++) {echo $array[$i]."--------------<br>";}?>

2.6.2 implode() 合成字符串函数

将数组内容组合成一个新的字符串。

 <?php$content = "A B C D E F G";$array = explode(' ', $content);echo "字母数组内容为:<br>"; for($i=0;$i<7;$i++) {echo $array[$i]."--------------<br>";}$hechengStr = implode("#",$array);echo "合成结果:<br>".$hechengStr;?>


大家如果喜欢技术,并想有个好的交流平台可以关注我的 我的知乎首页,会不定期分享本人觉得比较好的技术类电子书。
另外,自己创建的一个技术qq群,玩转技术群,该群里功能:分享技能,电子书,代码,以及兼职项目等交流,欢迎大家加入一起交流。

^V^ ###制作不易,您的关注和点赞是路老师更新的动力!###^V^

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

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

相关文章

安装Rabbitmq遇到的坑

&#xff01;&#xff01;&#xff01;一定要对号版本号 不同的虚拟机unbontu、cetenos和不同的erlang和不同的rabbitmq之间要对应下载对应版本 下面给出我的版本centos7erlangrabbitmq 分割线 安装好后&#xff0c;如果在虚拟机的服务器上可以打开&#xff0c;在本地浏览器…

JavaScript中的Array(数组)对象

目录 一、Array数组对象 1、介绍 2、创建数组对象并赋值 3、访问数组元素 二、Array对象属性 1、constructor属性 2、length属性 3、prototype属性 三、Array对象的常用方法 1、isArray() 2、concat() 3、pop() 4、shift() 5、push() 6、unshift() 7、reverse(…

高性价比宠物空气净化器分享,希喂、霍尼韦尔、有哈PK

近期&#xff0c;家中的小猫咪仿佛化身为行走的“蒲公英”&#xff0c;掉毛现象愈发严重&#xff0c;家中每个角落乃至空气中都弥漫着难以忽视的猫毛&#xff0c;衣物更是无一幸免&#xff0c;披上了毛茸茸的“外衣”。更令人啼笑皆非的是&#xff0c;就连不经意间清理的眼屎中…

VQA视觉问答系统

这是一个典型的多模态问题,融合了CV与NLP的技术,计算机需要同时学会理解图像和文字。 Joint embedding 首先,图像和问题分别由CNN和RNN进行第一次编码得到各自的特征,随后共同输入到另一个编码器中得到joint embedding,最后通过解码器输出答案。 值得注意的是,有的工作…

小红书运营教程02

小红书大致会分享10篇左右。微博、抖音、以及视频剪辑等自媒体运营相关技能以及运营教程相关会陆续的进行分享。 上次分享涉及到的对比,母婴系列,或者可以说是服装类型,不需要自己过多的投入,对比知识类博主来说,自己将知识讲述出来,然后要以此账号进行变现就比较麻烦,…

如果这时你还不清理C盘,那只能眼睁睁看着电脑越来越卡 直到系统崩溃

如果这时候你还不清理C盘&#xff0c;那只能眼睁睁看着电脑越来越卡 直到系统崩溃。很多人就是想偷懒&#xff0c;当然这是人的天性&#xff0c;明明知道自己的C盘空间就那么大&#xff0c;一天天看着C盘空间越来越小&#xff0c;还不去清理C盘。 这样的人有两种&#xff0c;一…

软件开发案例参考

前言&#xff1a;基于平台现有需求进行新功能模块开发与实现&#xff0c;以下内容为部分源码解析&#xff0c;仅提供一些思路参考&#xff0c;不予以客观指导&#xff0c;毕竟条条大路通罗马嘛&#xff1b; 语言&#xff1a;C# 工具&#xff1a;visual studio 2017/visual st…

C++基础(二):C++入门(一)

C是在C的基础之上&#xff0c;容纳进去了面向对象编程思想&#xff0c;并增加了许多有用的库&#xff0c;以及编程范式 等。熟悉C语言之后&#xff0c;对C学习有一定的帮助&#xff0c;本篇博客主要目标&#xff1a; 1. 补充C语言语法的不足&#xff0c;以及C是如何对C语言设计…

【RabbitMQ实战】邮件发送(直连交换机、手动ack)

一、实现思路 二、异常情况测试现象及解决 说明:本文涵盖了关于RabbitMQ很多方面的知识点, 如: 消息发送确认机制 、消费确认机制 、消息的重新投递 、消费幂等性, 二、实现思路 1.简略介绍163邮箱授权码的获取 2.编写发送邮件工具类 3.编写RabbitMQ配置文件 4.生产者发起调用…

高考失利咨询复读,银河补习班客服开挂回复

补习班的客服在高考成绩出来后&#xff0c;需要用专业的知识和足够的耐心来回复各种咨询&#xff0c;聊天宝快捷回复软件&#xff0c;帮助客服开挂回复。 ​ 前言 高考成绩出来&#xff0c;几家欢喜几家愁&#xff0c;对于高考失利的学生和家长&#xff0c;找一个靠谱的复读补…

全面了解机器学习

目录 一、基本认识 1. 介绍 2. 机器学习位置 二、机器学习的类型 1. 监督学习 2. 无监督学习 3. 强化学习 三、机器学习术语 1. 训练样本 2. 训练 3. 特征 4. 目标 5. 损失函数 四、机器学习流程 五、机器学习算法 1. 分类算法 2. 聚类算法 3. 关联分析 4. …

Qt入门教程(一):Qt使用的基本知识

目录 Qt简介 新建项目 构建目录和工作目录 构建目录 工作目录 项目结构 项目配置文件 .pro 用户文件 .user 主文件 main.cpp 头文件 dialog.h 源文件 dialog.cpp 帮助文档 三种查询文档的方式&#xff1a; 文档的重点位置&#xff1a;​编辑 调试信息 Qt简介 Qt…

java 代码块

Java中的代码块主要有三种类型&#xff1a;普通代码块、静态代码块、构造代码块。它们的用途和执行时机各不相同。 普通代码块&#xff1a;在方法内部定义&#xff0c;使用一对大括号{}包围的代码片段。它的作用域限定在大括号内&#xff0c;每当程序执行到该代码块时就会执行其…

全平台7合一自定义小程序源码系统功能强大 前后端分离 带完整的安装代码包以及搭建教程

系统概述 这款全平台 7 合一自定义小程序源码系统是专为满足各种业务需求而设计的。它整合了多种功能&#xff0c;能够在不同平台上运行&#xff0c;为用户提供了全方位的体验。无论你是企业主、开发者还是创业者&#xff0c;这款系统都能为你提供强大的支持。 代码示例 系统…

crewAI实践(包含memory的启用)--AiRusumeGenerator

crewAI实践--AiRusumeGenerator 什么是crewAIAiRusumeGenerator功能效果展示开发背景开发步骤1. 首先得学习下这款框架原理大概用法能够用来做什么&#xff1f; 2. 安装crewAI以及使用概述3. 写代码Agents.pyTasks.pymian.py关于task中引入的自定义工具这里不再赘述 什么是crew…

V Rising夜族崛起的管理员指令大全

使用方法&#xff1a; 如果没有启用控制台需要先启用控制台 打开游戏点击选项&#xff08;如果在游戏内点击ESC即可&#xff09;&#xff0c;在通用页面找到启用控制台&#xff0c;勾选右边的方框启用 在游戏内点击键盘ESC下方的波浪键&#xff08;~&#xff09;使用控制台 指…

构建LangChain应用程序的示例代码:49、如何使用 OpenAI 的 GPT-4 和 LangChain 库实现多模态问答系统

! pip install "openai>1" "langchain>0.0.331rc2" matplotlib pillow加载图像 我们将图像编码为 base64 字符串&#xff0c;如 OpenAI GPT-4V 文档中所述。 import base64 import io import osimport numpy as np from IPython.display import HT…

PDF一键转PPT文件!这2个AI工具值得推荐,办公必备!

PDF转换为PPT文件&#xff0c;是职场上非常常见的需求&#xff0c;过去想要把PDF文件转换为PPT&#xff0c;得借助各种文件转换工具&#xff0c;但在如今AI技术主导的大背景下&#xff0c;我们在选用工具时有了更多的选择&#xff0c;最明显的就是基于AI技术打造的AI格式转换工…

《昇思25天学习打卡营第21天 | 昇思MindSporePix2Pix实现图像转换》

21天 本节学习了通过Pix2Pix实现图像转换。 Pix2Pix是基于条件生成对抗网络&#xff08;cGAN&#xff09;实现的一种深度学习图像转换模型。可以实现语义/标签到真实图片、灰度图到彩色图、航空图到地图、白天到黑夜、线稿图到实物图的转换。Pix2Pix是将cGAN应用于有监督的图…

gin框架 gin.Context中的Abort方法使用注意事项 - gin框架中立刻中断当前请求的方法

gin框架上下文中的Abort序列方法&#xff08;Abort&#xff0c;AbortWithStatus&#xff0c; AbortWithStatusJSON&#xff0c;AbortWithError&#xff09;他们都不会立刻终止当前的请求&#xff0c;在中间件中调用Abort方法后中间件中的后续的代码会被继续执行&#xff0c;但是…