php函数strstr strrchr substr stristr的区别

网络整理 - 08-02

strstr strrchr substr stristr这四个字符串操作函数特别让人容易混淆,我经常用的是substr,strstr,基本上能满足我对字符串的操作。下面举一些例子,做个笔记,以后不要弄混了。


一,strstr和strcchr的区别

strstr 显示第一次找到,要查找的字符串,以及后面的字符串。

strrchr 显示最后一次找到,要查找的字符串,以及后面的字符串。


1.<?php  
2.$email  = 'zhangying@51yip.com@test.com';  
3. 
4.$domain = strstr($email, '@');  
5.echo "strstr 测试结果  $domain<br>";  
6. 
7.$domain = strrchr($email, '@');  
8.echo "strrchr 测试结果  $domain<br>";  
9.?>  
10.结果如下:  
11.strstr 测试结果  @51yip.com@test.com  
12.strrchr 测试结果  @test.com 
<?php
$email  = 'zhangying@51yip.com@test.com';

$domain = strstr($email, '@');
echo "strstr 测试结果  $domain<br>";

$domain = strrchr($email, '@');
echo "strrchr 测试结果  $domain<br>";
?>
结果如下:
strstr 测试结果  @51yip.com@test.com
strrchr 测试结果  @test.com二,strstr和stristr的区别

strstr是大小写敏感的。

stristr是大小写不敏感的。


1.<?php  
2.$email  = 'zhangYing@51yip.com';  
3. 
4.$domain = strstr($email, 'y');  
5.echo "strstr 测试结果  $domain<br>";  
6. 
7.$domain = stristr($email, 'y');  
8.echo "stristr 测试结果  $domain<br>";  
9.?>  
10.结果如下:  
11.strstr 测试结果  yip.com  
12.stristr 测试结果  Ying@51yip.com 
<?php
$email  = 'zhangYing@51yip.com';

$domain = strstr($email, 'y');
echo "strstr 测试结果  $domain<br>";

$domain = stristr($email, 'y');
echo "stristr 测试结果  $domain<br>";
?>
结果如下:
strstr 测试结果  yip.com
stristr 测试结果  Ying@51yip.com三,strstr和substr的区别

strstr是匹配后截取。

substr是不匹配,根据起始位置,进行截取。


1.<?php  
2.$email  = 'zhangYing@51yip.com';  
3. 
4.$domain = strstr($email, 'y');  
5.echo "strstr 测试结果  $domain<br>";  
6. 
7.$domain = substr($email,-7);  
8.echo "substr 测试结果  $domain<br>";  
9.?>  
10.结果如下午:  
11.strstr 测试结果  yip.com  
12.substr 测试结果  yip.com 
<?php
$email  = 'zhangYing@51yip.com';

$domain = strstr($email, 'y');
echo "strstr 测试结果  $domain<br>";

$domain = substr($email,-7);
echo "substr 测试结果  $domain<br>";
?>
结果如下午:
strstr 测试结果  yip.com
substr 测试结果  yip.com把这个几个字符串截取函数搞明白了,在开发时可以省不少事。