php基础知识之字符串处理
一、去除空格或其他字符函数(trim)
<?php
$str=' abc ';
var_dump($str); //string(10) " abc "
var_dump(trim($str)); // string(3) "abc"
$str='abcabcdefac';
var_dump($str); // string(11) "abcabcdefac"
var_dump(trim($str,'bac'));//string(3) "def" 如果要去除多个字符可以连着写!
?>
二、大小写转换函数(strtoupper,strtolower)
<?php
$str='test';
var_dump($str); //string(4) "test"
$str1=strtoupper($str);
var_dump($str); string(4) "test"
$str='TeSt';
var_dump($str); // string(4) "TeSt"
var_dump(strtolower($str)); //string(4) "test"
var_dump($str); //string(4) "TeSt"
?>
三、字符串查找函数
1, substr_count — 计算字串出现的次数
substr_count ( string $haystack , string $needle [, int $offset = 0 [, int $length ]] ) : int
substr_count() 返回子字符串needle 在字符串 haystack 中出现的次数(整形)。注意 needle 区分大小写。
haystack:在此字符串中进行搜索。
needle:要搜索的字符串。
offset:开始计数的偏移位置。如果是负数,就从字符的末尾开始统计。
length:指定偏移位置之后的最大搜索长度。如果偏移量加上这个长度的和大于 haystack 的总长度,则打印警告信息。 负数的长度 length 是从 haystack 的末尾开始统计的。
<?php
$str='testteste';
var_dump(substr_count($str,'te'));//int(3)
$text2 = 'gcdgcdgcd';
echo substr_count($text2, 'gcdgcd'); // 1
$str='testteste';
var_dump(substr_count($str,'te',1,8));// int(2) 不能超出字符串
?>
2.strpos— 查找字符串首次出现的位置
strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) : int
返回 needle 在 haystack 中首次出现的数字位置。
haystack:在该字符串中进行查找。
needle:如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值。
offset:如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。 如果是负数,搜索会从字符串结尾指定字符数开始。
<?php
header('content-type:text/html;charset=utf-8');
$str='testteste';
var_dump(strpos($str, 't1')); //bool(false)
if(strpos($str, 't')===false){
echo '没找到!';
}else{
echo '找到啦!';
}
$str='testteste';
var_dump(strpos($str, 't',1)); //int(3)
?>
3.strstr— 查找字符串的首次出现
strstr ( string $haystack , mixed $needle [, bool $before_needle = FALSE ] ) : string
返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。返回字符串的一部分或者 FALSE(如果未发现 needle)。
该函数区分大小写。如果想要不区分大小写,请使用 stristr()。
如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数。
haystack:输入字符串。
needle:如果 needle 不是一个字符串,那么它将被转化为整型并且作为字符的序号来使用。
before_needle:若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。
<?php
header('content-type:text/html;charset=utf-8');
$str='testteste';
var_dump($str); //string(9) "testteste"
var_dump(strstr($str,'s')); //string(7) "stteste"
var_dump(strstr($str,'s',true));//string(2) "te"
?>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了