strpos、 strstr、 substr三个函数的对比讲解
来源:互联网 发布:web前端开发 薪资知乎 编辑:程序博客网 时间:2024/06/11 00:13
strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
返回 needle 在 haystack 中首次出现的数字位置。
同时注意字符串位置是从0开始,而不是从1开始的(没有提供offset时)。
offset
如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计
如果没找到 needle,将返回 FALSE(因此应该用===来测试返回的值)。
<?php$mystring = 'abc';$findme = 'a';$pos = strpos($mystring, $findme);
// 注意这里使用的是 ===。简单的 == 不能像我们期待的那样工作,
// 因为 ‘a’ 是第 0 位置上的(第一个)字符。
if ($pos === false) { echo "The string '$findme' was not found in the string '$mystring'";} else { echo "The string '$findme' was found in the string '$mystring'"; echo " and exists at position $pos";}?>
<?php// 忽视位置偏移量之前的字符进行查找$newstring = 'abcdef abcdef';$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0?>
stripos() - 查找字符串首次出现的位置(不区分大小写) strrpos() - 计算指定字符串在目标字符串中最后一次出现的位置
strripos() - 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
函数strchr是他的别名
返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。
before_needle
若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。
Note:
该函数区分大小写。如果想要不区分大小写,请使用 stristr()。
Note:
如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数。
<?php$email = 'name@example.com';$domain = strstr($email, '@');echo $domain; // 打印 @example.com$user = strstr($email, '@', true); // 从 PHP 5.3.0 起echo $user; // 打印 name?>
stristr() - strstr 函数的忽略大小写版本
string substr ( string $string , int $start [, int $length ] )
返回字符串 string 由 start 和 length 参数指定的子字符串。
string
输入字符串。
start
如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。
如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。
如果 string 的长度小于或等于 start,将返回 FALSE。
$rest = substr("abcdef", -1); // 返回 "f"$rest = substr("abcdef", 0, -1); // 返回 "abcde"$rest = substr("abcdef", 2, -1); // 返回 "cde"$rest = substr("abcdef", 4, -4); // 返回 ""$rest = substr("abcdef", -3, -1); // 返回 "de"echo substr('abcdef', 1); // bcdefecho substr('abcdef', 1, 3); // bcdecho substr('abcdef', 0, 4); // abcdecho substr('abcdef', 0, 8); // abcdefecho substr('abcdef', -1, 1); // f// 访问字符串中的单个字符// 也可以使用中括号$string = 'abcdef';echo $string[0]; // aecho $string[3]; // decho $string[strlen($string)-1]; // f
- strpos、 strstr、 substr三个函数的对比讲解
- strstr、stristr、strpos这三个函数的区别
- strrpos() , strpos() , strrchr() , substr() , strstr()
- PHP strstr() 和 strpos() 函数的区别
- php中substr()和strpos()函数的用法
- 常用的字符串处理函数substr(),strpos(),parse_str()
- php:查找字符串的相关方法[strpos,stripos,strrpos,strripos,substr,stristr,strstr]
- strstr函数的对比
- substr(),strstr()函数用法
- substr(),strstr()函数
- PHP strrchr substr strpos strlen函数
- php strstr、stristr、strpos函数比较
- 容易混淆的四个php函数strstr strrchr substr stristr
- 容易混淆的四个php函数strstr strrchr substr stristr
- php中常用的字符串查找函数strstr()、strpos()实例解释
- strstr stristr strpos 区别
- 截取固定格式的字符串explode与substr-strpos
- PHP 字符串获取 substr 与 strstr 函数
- 静态持续变量、内部链接性
- Java中的递归思想
- Python3面向对象编程笔记(一)
- kendou grid 合并列和行
- 各种算法OID
- strpos、 strstr、 substr三个函数的对比讲解
- windows调试 -- 创建.dump文件
- qduoj 生化危机&&ycb老师的电脑中毒了(邻接表)
- Hdu2544-最短路-【最短路】
- 650. 2 Keys Keyboard
- C++ Templates的多型威力(7)---《C++ Templates》
- Arduino学习日记一
- echarts x轴坐标文字显示不全
- Ubuntu 控制台ROS 使用table自动补全时 .gvfs Warning