【升级高阶版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程序开发你们的支持就是曼亿点创作的动力💖💖💖

相关推荐
阿巴斯甜8 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker9 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952710 小时前
Andorid Google 登录接入文档
android
黄林晴11 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
BingoGo12 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack12 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android