【升级高阶版PHP程序设计】——字符串


👨‍💻个人主页@开发者-曼亿点

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 曼亿点 原创

👨‍💻 收录于专栏PHP程序开发

⭐🅰⭐

---


文章目录


⭐前言⭐

  • 字符串是一系列字符组成的序列。在前面的学习中,我们无时无刻不是在和字符串打交道,比如echo"欢迎进人PHP的世界!":中引号(单引号或双引号)括起来的字符串。
  • 在使用字符串之前必须先定义字符串。在PHP中定义字符串有两种方式,分别是单引号和双引号

//定义字符串时直接赋值

$s1='PHP 程序涉及项目教程';

$s2="Web开发":

创建好字符串之后,就可以通过 PHP提供的字符串方法操纵字符串。例如,获得字符串长度和连接两个字符串,提取字符串中的某一部分以及两个字符串进行比较等


🎶(1)字符串长度


  • 。如何计算输人的字符串长度呢? PHP 提供了sulen 方法确定字符串的长度。strlen 方法的语法格式如下:

    <?php //设置PHP的编码格式为:utf-8 header ("Content-rype:text/html;charset-utf-8"); // 定义字符串 $str1 ='hycollege'; //str1长度返回 9 echo 'str1的长度为:'.strlen($str1).'
    '; $str2 ='河源'; //str2长度返回6 echo'str2的长度为:'.strlen($str2); //str2长度返回2 echo'str2的长度为:'.mb_strlen($str2); ?>

利用 stlen 方法计算中文长度时,不同的编码格式可能得出不同的结果。在 u-8编码中,中文占3个字符长度。

为了方便计算中文的长度,PHP提供了mb_stlen方法,该方法与strlen方法的用法相同、主要区别是mb_silen 方法计算长度与编码格式无关,遇到中文字符时按一长度计算。

运行结果如下:


🎶(2) 字符串查找


  • 在输人邮箱地址时,系统会判断输入是否正确,判断依据就是看输入的邮件地址是否有"@"和"",PHP 提供了字符串査询的方法查询是否存在指定的字符串。
    ① stpos(sting,find,start):查找字符串在另一字符串中第一次出现的位置,区分大
    小写。
    ② stripos(string,find,star):查找字符串在另一字符串中最后一次出现的位置,不
    区分大小写。
    ③ surpos(suing,find,star):查找字符串在另一字符串中最后一次出现的位置,区分大小写。
    其中,参数 sting 必填,表示被搜索的字符串;参数 find 必填,表示要查找的字符;参数 stant 可选,表示开始搜索的位置。如果在字符串中找到匹配字符,函数会返回第一个匹配的字符位置,字符串位置从0开始,而不是从1开始。如果未找到匹配,则返回 false。

字符串查找代码如下:

<?php
$str ='gdhyyanglang@126.com';
//查找字符串 $str 是否存在 @,存在返回字符串位置(从0开始)
$index= strpos($str,'@');
echo"@字符在字符串 str 中第一次出现的位置为:".($index!=-false ?$index:"不存在")."<br />";

$index = strpos($str,'*');
echo"*字符在字符串 str 中第一次出现的位置为:".($index!==false ?$index :"不存在")."<br />";
$index = strpos ($str,'g');
echo"g字符在字符串 str 中第一次出现的位置为:".($index!=-false ? $index :"不存在")."<br />";
$index = strrpos($str,'g');
echo"g字符在字符串 str 中最后出现的位置为:".($index!=-false ? $index:"不存在")."<br />";
//strripos 不区分大小写
$index = strripos ($str, 'G');
echo"G字符在字符串 str 中最后出现的位置为:".($index!==false ?$index:"不存在")."<br />";
?>

运行结果如下:


🎶(3)字符串比较


  • 使用比较运算符 或 =进行字符串之间的比较。 和 === 的主要区别在于:① 只比较值,不比较类型。如果两个值相同,则返回 tue 值;如果两个值不相同,则返回 false 值。
    ② === 比较值和值的类型。如果两个变量包含相同的值和相同的数据类型,则此运算符返回 tue ;否则返回 false。在 PHP中,整数0和布尔类型false用== 进行判断时会为真,因此建议使用运算符号进行判断时使用===

移除空白字符串代码如下:

<?php
$password= 'root';
if($password === 'root'){
	echo'<br />字符串相同 <br />';
}

if($password == 'root')
{
	echo'<br />字符串相同 <br />';
}
//整数0和布尔类型 false 值相同
if(0 == false)
{
	echo '<br />0== false 返回 true <br />';
//整数0和布尔类型 false 值相同类型不同
}
if(0=== false)
{
	echo '<br />0=== false 返回 true <br />';
}else{
    echo'<br />0=== false 返回 false <br />';
}
?>

运行结果如下:


🎶(4)字符串替换


  • 字符串替换操作是一个十分有用的功能,在实际应用中,对数据处理过程中,需要对字符串进行修改或替换。比如为了数据安全,身份证或者电话号码的后几位用"*字符替换后,再显示。
    在 PHP 中,字符串替换可以通过PHP的预定义函数 st_replace 和 str_ireplace 来实现。str_replaee 函数区分大小写,str_ireplace 函数不区分大小写。两个函数的语法格式如下:

str_replace(find,replace,string,count);

str_ireplace(find,replace,string,count);

函数执行后返回带有替换值的字符串或数组,不改变被搜索的变量原始值。参数描述如下:
①find:必写,规定要查找的变量,变量可以是字符串或数组:
②replace:必写,规定替换 fnd 的变量,变量可以是字符串或数组,
③string:必写,规定被搜索的变量,变量可以是字符串或数组;
④count:可不写,对替换数进行计数。

如果被搜索的值是一个数组,那么它将对数组中的每个元素进行查找和替换,并返回一个带有替换值的数组。如果被搜索的值是字符串,函数将返回字符串。如果同时需要对某个数组进行查找和替换,即需要查找数组中的两个元素,并且需要执行替换的元素少于查找到的元素的数量,那么多余的元素将用空字符串进行替换。

字符串替换代码:

<?php
$str ="Hello, Java! I like Java.";
echo '<br />查找 Java, 并使用 PHP 替换 <br />';
var_dump(str_replace("Java","PHP",$str,$i));
echo"<br />被替换次数:$i <br />";
//变量是数 
$arr=array("blue","red","green", "yellow");
echo '<br />查找数组中元素值是否包含 red 字符串 ,并使用 pink 替换 <br />';
var_dump(str_replace("red","pink", $arr, $i));
echo"<br />被替换次数:$i <br />";
?>

运行结果如下:

结束语🥇

以上就是PHP程序设计

持续更新PHP程序设计教程,欢迎大家订阅系列专栏🔥PHP程序开发你们的支持就是曼亿点创作的动力💖💖💖

相关推荐
ModelBulider16 分钟前
十三、注解配置SpringMVC
java·开发语言·数据库·sql·mysql
V搜xhliang024625 分钟前
基于深度学习的地物类型的提取
开发语言·人工智能·python·深度学习·神经网络·学习·conda
豆 腐26 分钟前
MySQL【四】
android·数据库·笔记·mysql
DK七七26 分钟前
多端校园圈子论坛小程序,多个学校同时代理,校园小程序分展示后台管理源码
开发语言·前端·微信小程序·小程序·php
苹果酱056730 分钟前
C语言 char 字符串 - C语言零基础入门教程
java·开发语言·spring boot·mysql·中间件
代码小鑫1 小时前
A032-基于Spring Boot的健康医院门诊在线挂号系统
java·开发语言·spring boot·后端·spring·毕业设计
训山1 小时前
4000字浅谈Java网络编程
java·开发语言·网络
API快乐传递者1 小时前
除了网页标题,还能用爬虫抓取哪些信息?
开发语言·爬虫·python
界面开发小八哥2 小时前
界面控件Kendo UI for Angular中文教程:如何构建带图表的仪表板?(一)
ui·界面控件·kendo ui·angular.js·ui开发
hutaotaotao2 小时前
c语言用户不同命令调用不同函数实现
c语言·开发语言