php手册定义如下:
strpos() 返回字符串在另一字符串中首次出现的位置(对大小写敏感)
strstr() 搜索字符串在另一字符串中的首次出现(对大小写敏感)
高手们能说下两个函数各自什么时候用吗?
strpos() 返回字符串在另一字符串中首次出现的位置(对大小写敏感)
strstr() 搜索字符串在另一字符串中的首次出现(对大小写敏感)
高手们能说下两个函数各自什么时候用吗?
解决方案 »
- 哪位大哥有清华大学出版社出的《PHP+MYSQL完全学习手册》这本书的光盘啊??
- 单独用php开发好,还是php+jsp开发好
- 用户权限是保存到cookie还是实时到数据库里取?
- 网站从ASP改版到PHP是否要重做啊
- 动态加载类请教
- 验证码的问题
- php和mysql连接问题
- 新手问题:function
- 公司可能要做个用 PHP的项目,我是做win32和.net开发的,现在要开始转了,有些问题,要咨询各位专业人事,请不要开玩笑,在此谢谢了!
- 时间2014-1-1提交后怎么变为2014-01-01
- Fatal error: Maximum execution time of 30 seconds exceeded in...on line 10
- 球段代码
返回haystack中从第一 个needle开头到haystack末尾的字符串。
如果未找到needle 返回false。
int strpos(string haystack, string needle [,int offset])
返回haystack中第一个出现needle的位置数字量。
如果未找到needle返回false。
---------------------------------------------------------------------------------------------
http://www.jiemengwu.com/ 解梦屋 http://www.phpzy.com/php/ 绿色php资源http://www.shopfw.com网店服务
$fp = opendir("C:/AppServ/MySQL");
while($file = readdir($fp)){
if($file != "." and $file != ".."){
$s1 = strpos($file,"."); //查找点出现的位置
echo substr($file,$s1)."<br />"; //从出现点的地方开始截取输出
}
}
?>
strpos 返回找到字符串出现第1次字符位置(数字)
(PHP 4, PHP 5)strpos — 查找字符串首次出现的位置说明
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
返回 needle 在 haystack 中首次出现的数字位置。与 strrpos() 不同,在 PHP 5 之前,该函数可以使用一个完整字符串作为 needle,并且整个字符串都将被使用。 参数haystack
在该字符串中进行查找。 needle
如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值。 offset
可选的 offset 参数可以用来指定从 haystack 中的哪一个字符开始查找。返回的数字位置是相对于 haystack 的起始位置而言的。
返回值
以整型返回位置信息。如果没找到 needle,strpos() 将返回布尔型的 FALSE 值。 Warning
此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值,例如 0 或 ""(空串)。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符 来测试此函数的返回值。范例Example #1 使用 ===<?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";
}
?>
Example #2 使用 !==<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);// 使用 !== 操作符。使用 != 不能像我们期待的那样工作,
// 因为 'a' 的位置是 0。语句 (0 != false) 的结果是 false。
if ($pos !== false) {
echo "The string '$findme' was found in the string '$mystring'";
echo " and exists at position $pos";
} else {
echo "The string '$findme' was not found in the string '$mystring'";
}
?>
Example #3 使用位置偏移量<?php
// 忽视位置偏移量之前的字符进行查找
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, 不是 0
?> 注释
Note: 此函数可安全用于二进制对象。
(PHP 4, PHP 5)strstr — 查找字符串的首次出现说明
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
返回 haystack 字符串从 needle 第一次出现的位置开始到 haystack 结尾的字符串。 Note: 该函数区分大小写。如果想要不区分大小写,请使用 stristr()。
Note: 如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数。
参数haystack
输入字符串。 needle
如果 needle 不是一个字符串,那么它将被转化为整型并且作为字符的序号来使用。 before_needle
若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。
返回值
返回字符串的一部分或者 FALSE(如果未发现 needle)。 更新日志
版本 说明
5.3.0 新增可选的 before_needle 参数。
4.3.0 strstr() 成为二进制安全的。
范例Example #1 strstr() 范例<?php
$email = '[email protected]';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com$user = strstr($email, '@', true); // 从 PHP 5.3.0 起
echo $user; // 打印 name
?>
返回haystack中从第一 个needle开头到haystack末尾的字符串。
如果未找到needle 返回false。
int strpos(string haystack, string needle [,int offset])
返回haystack中第一个出现needle的位置数字量。
如果未找到needle返回false。