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

相关推荐
飞飞-躺着更舒服1 小时前
【QT】实现电子飞行显示器(改进版)
开发语言·qt
武昌库里写JAVA1 小时前
Java成长之路(一)--SpringBoot基础学习--SpringBoot代码测试
java·开发语言·spring boot·学习·课程设计
ZSYP-S2 小时前
Day 15:Spring 框架基础
java·开发语言·数据结构·后端·spring
yuanbenshidiaos2 小时前
c++------------------函数
开发语言·c++
程序员_三木2 小时前
Three.js入门-Raycaster鼠标拾取详解与应用
开发语言·javascript·计算机外设·webgl·three.js
是小崔啊2 小时前
开源轮子 - EasyExcel01(核心api)
java·开发语言·开源·excel·阿里巴巴
tianmu_sama2 小时前
[Effective C++]条款38-39 复合和private继承
开发语言·c++
黄公子学安全2 小时前
Java的基础概念(一)
java·开发语言·python
liwulin05062 小时前
【JAVA】Tesseract-OCR截图屏幕指定区域识别0.4.2
java·开发语言·ocr
jackiendsc2 小时前
Java的垃圾回收机制介绍、工作原理、算法及分析调优
java·开发语言·算法