查找

strpos — 查找字符串首次出现的位置(区分大小写)
语法

mixed strpos( string $haystack, mixed $needle[, int $offset = 0] )

描述
  • 返回 needle 在 haystack 中首次出现的数字位置
参数
参数 描述
haystack 在该字符串中进行查找
needle 如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值
offset 如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。和 strrpos()、 strripos()不一样,这个偏移量不能是负数
返回值
  • 返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。
  • 同时注意字符串位置是从0开始,而不是从1开始的
  • 如果没找到 needle,将返回 FALSE
  • 应使用 === 运算符来测试此函数的返回值
举例
// 示例1-不指定起始位置 
$str = 'abcdefgabcdefj';
$result = strpos($str,'a');
var_dump($result);
$result = strpos($str,'z');
var_dump($result);
// 结果
int(0) 
bool(false)
// 示例2-不指定起始位置,可以看出区分大小写 
$str = 'abcdefgabcdefj';
$result = strpos($str,'A');
var_dump($result);
$result = strpos($str,'z');
var_dump($result);
// 结果
bool(false) 
bool(false)
// 示例3-指定起始位置 
$str = 'abcdefgabcdefj';
$result = strpos($str,'a',4);
var_dump($result);
$result = strpos($str,'z',6);
var_dump($result);
// 结果
int(7) 
bool(false)

stripos — 查找字符串首次出现的位置(不区分大小写)
语法

int stripos( string $haystack, string $needle[, int $offset = 0] )

描述
  • 返回在字符串 haystack 中 needle 首次出现的数字位置
参数
参数 描述
haystack 在该字符串中进行查找
needle 如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值
offset 如果提供了此参数,搜索会从字符串该字符数的起始位置开始统计。和 strrpos()、 strripos()不一样,这个偏移量不能是负数
返回值
  • 返回 needle 存在于 haystack 字符串起始的位置(独立于 offset)。
  • 同时注意字符串位置是从0开始,而不是从1开始的
  • 如果没找到 needle,将返回 FALSE
  • 应使用 === 运算符来测试此函数的返回值
举例
// 示例
$str = 'abcdefgabcdefj';
$result = stripos($str,'A');
var_dump($result);
// 结果
int(0)

strstr — 查找字符串的首次出现到字符串结尾或字符串开始的字符串(区分大小写)
语法

string strstr( string $haystack, mixed $needle[, bool $before_needle = false] )

描述
  • 返回字符串的首次出现到字符串结尾或字符串开始的字符串
参数
参数 描述
haystack 被查找的字符串
needle 如果 needle 不是一个字符串,那么它将被转化为整型并且作为字符的序号来使用
before_needle 若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分
返回值
  • 返回字符串的一部分或者 FALSE(如果未发现 needle)
举例
// 示例1-默认返回是首次出现到字符串结尾的字符串
$str = 'abcdefgabcdefg';
$result = strstr($str,'c');
var_dump($result);
// 结果
string(12) "cdefgabcdefg"
// 示例2-指定第三个参数,返回字符串开始到needle首次出现位置的字符串
$str = 'abcdefgabcdefg';
$result = strstr($str,'c',true);
var_dump($result);
// 结果
string(2) "ab"

strchr — 别名 strstr()

stristr — strstr() 函数的忽略大小写版本
语法

string stristr( string $haystack, mixed $needle[, bool $before_needle = false] )

描述
  • 返回字符串的首次出现到字符串结尾或字符串开始的字符串
参数
参数 描述
haystack 被查找的字符串
needle 如果 needle 不是一个字符串,那么它将被转化为整型并且作为字符的序号来使用
before_needle 若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分
返回值
  • 返回字符串的一部分或者 FALSE(如果未发现 needle)
举例
// 示例
$str = 'abcdefgabcdefg';
$result = stristr($str,'C');
var_dump($result);
// 结果
string(12) "cdefgabcdefg"

strrpos — 计算指定字符串在目标字符串中最后一次出现的位置(区分大小写)
语法

int strrpos( string $haystack, string $needle[, int $offset = 0] )

描述
  • 返回字符串 haystack 中 needle 最后一次出现的数字位置
参数
参数 描述
haystack 在此字符串中进行查找
needle 如果 needle不是一个字符串,它将被转换为整型并被视为字符的顺序值
offset 或许会查找字符串中任意长度的子字符串。负数值将导致查找在字符串结尾处开始的计数位置处结束
返回值
  • 返回 needle 存在于 haystack 字符串最后的位置(独立于 offset)。
  • 同时注意字符串位置是从0开始,而不是从1开始的
  • 如果没找到 needle,将返回 FALSE
  • 应使用 === 运算符来测试此函数的返回值
举例
// 示例1
$str = 'abcdefgabcdefg';
$result = strrpos($str,'a');
var_dump($result);
// 结果
int(7)
// 示例2-如果offset是负值,则意味着被搜索的字符串的结束位置是从结尾往左偏移offset的位置。
// 如果是正值,则从开头开头往右偏移offset的位置开始查找,一直查找到字符串结尾
$str = 'abcdefgabcdefg';
$result = strrpos($str,'f',-10);
var_dump($result);
// 结果
bool(false)

strripos — 计算指定字符串在目标字符串中最后一次出现的位置(不区分大小写)
语法

int strripos( string $haystack, string $needle[, int $offset = 0] )

描述
  • 以不区分大小写的方式查找指定字符串在目标字符串中最后一次出现的位置
参数
参数 描述
haystack 在此字符串中进行查找
needle 如果 needle不是一个字符串,它将被转换为整型并被视为字符的顺序值
offset 或许会查找字符串中任意长度的子字符串。负数值将导致查找在字符串结尾处开始的计数位置处结束
返回值
  • 返回 needle 存在于 haystack 字符串最后的位置(独立于 offset)。
  • 同时注意字符串位置是从0开始,而不是从1开始的
  • 如果没找到 needle,将返回 FALSE
  • 应使用 === 运算符来测试此函数的返回值
举例
// 示例
$str = 'abcdefgabcdefg';
$result = strripos($str,'a');
var_dump($result);
// 结果
int(7)

strrchr — 查找指定字符在字符串中的最后一次出现到结尾的字符串
语法

string strrchr( string $haystack, mixed $needle)

描述
  • 该函数返回 haystack 字符串中的一部分,这部分以 needle 的最后出现位置开始,直到 haystack 末尾
参数
参数 描述
haystack 在该字符串中查找
needle 如果 needle 包含了不止一个字符,那么仅使用第一个字符。如果 needle 不是一个字符串,那么将被转化为整型并被视为字符顺序值
返回值
  • 该函数返回字符串的一部分。如果 needle 未被找到,返回 FALSE
举例
// 示例
$str = 'abcdefgabcdefg';
$result = strrchr($str,'b');
var_dump($result);
// 结果
string(6) "bcdefg"

results matching ""

    No results matching ""