<?php $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme);// Note our use of ===. Simply == would not work as expected // because the position of 'a' was the 0th (first) character. 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的文档啊,里面有说明的。 这是文档附带的例子。
strpos (PHP 3, PHP 4 , PHP 5)strpos -- Find position of first occurrence of a string Description int strpos ( string haystack, string needle [, int offset]) Returns the numeric position of the first occurrence of needle in the haystack string. Unlike the strrpos(), this function can take a full string as the needle parameter and the entire string will be used. If needle is not found, strpos() will return boolean FALSE. 警告 这个函数可能返回 Boolean FALSE,也可能返回一个与 FALSE 相等地非 Boolean 值,比如 0 或者 "" 。请参阅 Booleans 的有关章节以获取更多信息。请使用 === 操作符 来测试该函数的返回值。 例子 1. strpos() examples<?php $mystring = 'abc'; $findme = 'a'; $pos = strpos($mystring, $findme);// Note our use of ===. Simply == would not work as expected // because the position of 'a' was the 0th (first) character. 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"; }// We can search for the character, ignoring anything before the offset $newstring = 'abcdef abcdef'; $pos = strpos($newstring, 'a', 1); // $pos = 7, not 0 ?>
If needle is not a string, it is converted to an integer and applied as the ordinal value of a character. The optional offset parameter allows you to specify which character in haystack to start searching. The position returned is still relative to the the beginning of haystack. See also strrpos(), stripos(), strripos(), strrchr(), substr(), stristr(), and strstr().
呵呵,手册里都有写的啊notice: It is easy to mistake the return values for "character found at position 0" and "character not found". Here's how to detect the difference: // in PHP 4.0b3 and newer: $pos = strpos($mystring, "b"); if ($pos === false) { // note: three equal signs // not found... }// in versions older than 4.0b3: $pos = strpos($mystring, "b"); if (!is_integer($pos)) { // not found... }If needle is not a string, it is converted to an integer and applied as the ordinal value of a character. The optional offset parameter allows you to specify which character in haystack to start searching. The position returned is still relative to the the beginning of haystack
If needle is not a string, it is converted to an integer and applied as the ordinal value of a character. The optional offset parameter allows you to specify which character in haystack to start searching. The position returned is still relative to the the beginning of haystack
if($pos===true)
{
搜索到
}else{
没搜索到
}用=== 绝对等于试试看呢
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
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的文档啊,里面有说明的。
这是文档附带的例子。
(PHP 3, PHP 4 , PHP 5)strpos -- Find position of first occurrence of a string
Description
int strpos ( string haystack, string needle [, int offset])
Returns the numeric position of the first occurrence of needle in the haystack string. Unlike the strrpos(), this function can take a full string as the needle parameter and the entire string will be used. If needle is not found, strpos() will return boolean FALSE.
警告
这个函数可能返回 Boolean FALSE,也可能返回一个与 FALSE 相等地非 Boolean 值,比如 0 或者 "" 。请参阅 Booleans 的有关章节以获取更多信息。请使用 === 操作符 来测试该函数的返回值。
例子 1. strpos() examples<?php
$mystring = 'abc';
$findme = 'a';
$pos = strpos($mystring, $findme);// Note our use of ===. Simply == would not work as expected
// because the position of 'a' was the 0th (first) character.
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";
}// We can search for the character, ignoring anything before the offset
$newstring = 'abcdef abcdef';
$pos = strpos($newstring, 'a', 1); // $pos = 7, not 0
?>
If needle is not a string, it is converted to an integer and applied as the ordinal value of a character. The optional offset parameter allows you to specify which character in haystack to start searching. The position returned is still relative to the the beginning of haystack. See also strrpos(), stripos(), strripos(), strrchr(), substr(), stristr(), and strstr().
preg_match("/a/","abdfwefdsfsdfsfd")
这个可以不?
{
搜索到
}else{
没搜索到
}
if($pos === false)
{
echo "没搜索到";
}else{
echo "搜索到";
}
人家手册早说过了。
$pos = strpos($mystring, "b");
if ($pos === false) { // note: three equal signs
// not found...
}// in versions older than 4.0b3:
$pos = strpos($mystring, "b");
if (!is_integer($pos)) {
// not found...
}If needle is not a string, it is converted to an integer and applied as the ordinal value of a character. The optional offset parameter allows you to specify which character in haystack to start searching. The position returned is still relative to the the beginning of haystack
echo substr_count("This is a test", "b");
?>
$count = substr_count("This is a test", "is"); if ($count == 0)
echo "NOT find";
else
echo "Find $count matches.";
?>