PHP基础 - 函数总结(二) - 字符串

本文详细介绍了PHP中用于字符串计算、格式化、定位、比较以及与数组操作的相关函数,如strlen用于计算字符串长度,substr_count统计子串出现次数,trim去除空白字符,strnatcmp进行自然顺序比较,以及explode将字符串转为数组等。这些函数对于处理和操作字符串非常实用。
摘要由CSDN通过智能技术生成

文章目录

友链

[1] 数组函数
[2] 其他常用函数

字符串函数

属性

计算
1. strlen() 函数返回字符串的长度
#8
echo strlen("Shanghai");
2. substr_count() 计算子串在字符串中出现的次数(区分大小写)
语法
substr_count(string,substring,start,length)
	string	    必需,规定要检查的字符串
	substring	必需,规定要检索的字符串
	start	    可选,规定在字符串中何处开始搜索
	length	    可选,规定搜索的长度
	
1. 计算 "world" 在字符串中出现的次数
echo substr_count("Hello world. The world is nice","world"); // 2

2. 使用参数
$str = "This is nice";
# 使用 strlen() 来返回字符串长度
echo strlen($str)."<br>"; // 12
# 字符串中 "is" 出现的次数
echo substr_count($str,"is")."<br>";  // 2
# 字符串缩减为 "is is nice"
echo substr_count($str,"is",2)."<br>"; // 2
# 字符串缩减为 "s is nice"
echo substr_count($str,"is",3)."<br>";  // 1
#字符串缩减为 "s i"
echo substr_count($str,"is",3,3)."<br>"; // 0

字符串格式化

1. trim() 移除字符串两侧的空白字符或其他预定义字符
语法:trim(string,charlist)
     charlist :可选,规定从字符串中删除哪些字符.如果被省略,则移除以下所有字符:
				"\0" - NULL
				"\t" - 制表符
				"\n" - 换行
				"\x0B" - 垂直制表符
				"\r" - 回车
				" " - 空格

1. 删除两侧的预定义字符
$str = "\r\n Hello World! \r\n";
echo trim($str); // Hello World!
2. ltrim() - 移除字符串左侧的空白字符或其他预定义字符
$str = "\r\nHello World!";
echo ltrim($str);
3. rtrim() - 移除字符串右侧的空白字符或其他预定义字符
$str = "Hello World!\n\n";
echo rtrim($str); // Hello World!
# chop() 是 rtrim()的别名
echo chop($str); // Hello World!
4. strtoupper() 把字符串转换为大写
$str = "Hello World";
echo strtoupper($str); // HELLO WORLD
5. strtolower() 把字符串转换为小写
$str = "Hello World";
echo strtolower($str); // hello world
6. ucfirst() 把字符串中的首字符转换为大写
// Hello world!
echo ucfirst("hello world!"); 
7. lcfirst() 把字符串中的首字符转换为小写
// hello world!
echo lcfirst("Hello world!"); 
8. ucwords() 把字符串中每个单词的首字符转换为大写
 // Hello World!
echo ucwords("hello world!");

字符串定位

1. strpos() 查找字符串在另一字符串中第一次出现的位置(区分大小写)
定义和语法:
strpos(string,find,start)
    string	必需,规定要搜索的字符串
	find	必需,规定要查找的字符串
	start	可选,规定在何处开始搜索
注释:strpos() 函数对大小写敏感

1. 查找 "php" 在字符串中第一次出现的位置
echo strpos("You love php, I love php too!","php"); // 9
2. stripos() - 字符串在另一字符串中第一次出现的位置(不区分大小写)
注释:stripos() 函数是不区分大小写的

1. 查找 "php" 在字符串中第一次出现的位置:
echo stripos("You love php, I love php too!","PHP");//9
3. strrpos() - 查找字符串在另一字符串中最后一次出现的位置(区分大小写)
注释:strrpos() 函数对大小写敏感
1. 查找 "php" 在字符串中最后一次出现的位置
echo strrpos("You love php, I love php too!","php"); // 21
4. strripos() 查找字符串在另一字符串中最后一次出现的位置(不区分大小写)
注释:strripos() 函数对大小写不敏感
echo strripos("You love php, I love php too!","PHP"); // 21
5. strstr()|strchr() 返回字符串在另一字符串中第一次出现的位置到结束的所有字符串(区分大小写)
strstr(string,search,before_search)
	before_search:可选,默认值为 "false" 的布尔值.
	如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分.

1. 查找 "Shanghai""I love Shanghai!!!" 中的第一次出现,并返回字符串的剩余部分
echo strstr("I love Shanghai!","Shanghai"); // Shanghai!!!

2. 返回 "world" 第一次出现之前的字符串部分
echo strstr("Hello .world!","world",true); // Hello .
6. stristr() 函数搜索字符串在另一字符串中的第一次出现(不区分大小写)
定义和语法:
stristr(string,search,before_search)
	before_search:可选,默认值为 "false" 的布尔值,如果设置为 "true",它将返回 search 参数第一次出现之前的字符串部分.

1. 查找 "world""Hello world!" 中的第一次出现,并返回字符串的剩余部分
echo stristr("Hello world!!!","WORLD"); // world!!!
7. strrchr() 查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符(不区分大小写)
// What a beautiful day!
echo strrchr("Hello world! What a beautiful day!","What");
8. strpbrk() 在字符串中搜索指定字符中的任意一个(区分大小写)
// ame is Jack 任意一个
echo strpbrk("My name is Jack ","Ja"); 

字符串比较

1. strnatcmp() 使用一种"自然"算法来比较两个字符串 (区分大小写)
语法:
strnatcmp(string1,string2)
	= 0 - 如果两个字符串相等
	< 0 - 如果 string1 小于 string2
	> 0 - 如果 string1 大于 string2

对大小写敏感

echo strnatcmp("2Hello world!","10Hello world!"); // -1
echo "</br>";
echo strnatcmp("10Hello world!","2Hello world!"); // 1
2. strnatcasecmp() 使用一种"自然"算法来比较两个字符串 (不区分大小写)
对大小写不敏感

echo strnatcasecmp("2Hello world!","10Hello WORLD!"); // -1
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!"); // 1
3. strncmp() 前 n 个字符的字符串比较(区分大小写)
语法
strncmp(string1,string2,length)
	string1	必需,规定要比较的首个字符串.
	string2	必需,规定要比较的第二个字符串.
	length	必需,规定比较中所用的每个字符串的字符数.
返回值:
	= 0 - 如果两个字符串相等
	< 0 - 如果 string1 小于 string2
	> 0 - 如果 string1 大于 string2

1. 比较两个字符串(区分大小写 前6个字符都是 "I love" 所以相等)
echo strncmp("I love China!","I love Shanghai!",6); // 0

2. 对大小写敏感
echo strncmp("China","China",6); // 0
echo "<br>";
echo strncmp("China","CHINA",6); // 1
4. strncasecmp() 前 n 个字符的字符串比较(不区分大小写)
1. 比较前6个字符 
echo strncasecmp("I love China!","I LOVE Shanghai!",6); // 0

2. 对大小写不敏感
echo strncasecmp("China","China",6); // 0
echo "<br>";
echo strncasecmp("China","CHINA",6); // 0
5. strcmp() 函数比较两个字符串(区分大小写)
语法
	strcmp(string1,string2)
	=0 - 如果两个字符串相等
	<0 - 如果 string1 小于 string2
	>0 - 如果 string1 大于 string2

echo strcmp("Hello World!","Hello world!"); // -32
6. strcasecmp() 函数比较两个字符串(不区分大小写)
语法:
     strcasecmp(string1,string2)

echo strcasecmp("shanghai","SHANGHAI"); // 0
7. substr_compare() 函数从指定的开始位置比较两个字符串
定义和语法: 
	substr_compare(string1,string2,startpos,length,case)
      startpos:必需,规定在string1中的何处开始比较,如果为负数,则从字符串末端开始计数
	  length:可选.规定对 string1 中的多少字符进行比较(字符数)。
      case:可选布尔值
            FALSE - 默认。区分大小写
            TRUE - 不区分大小写

1. 比较两个字符串,当 string1 中供比较的开始位置为 6echo substr_compare("Hello world","world",6); // 0

字符串与数组

1. implode() | join(): 将一个一维数组的值转化为字符串
$arr = array('My','Name','is','Mary');
echo implode(" ",$arr); // My Name is Mary
echo join(" ",$arr); 
2. explode(): 使用一个字符串分割另一个字符串,返回数组
$str = "hello world";
print_r(explode(" ",$str)); // Array([0] => hello [1] => world)
3. str_split(): 将字符串转换为数组
语法:
	str_split(string,length)
		length:可选,规定每个数组元素的长度,默认是 1

print_r(str_split("Happy every day",5)); // Array([0] => Happy [1] =>  ever [2] => y day )

ASCII码

1. ord(): 返回字符串中第一个字符的 ASCII 值
echo ord("h"); // 104
echo ord("hello"); // 104
2. chr(): 返回指定的字符
echo chr(52) ; // 4
echo chr(052); // *
echo chr(0x52); // R
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值