• strstr -- 查找字符串的首次出现,返回字符串从第一次出现的位置开始到该字符串的结尾或开始。
  • stristr -- strstr 函数的忽略大小写版本
  • strchr -- strstr 函数的别名
  • strrchr -- 查找字符串的最后一次出现,返回字符串从最后一次出现的位置开始到该字符串的结尾。

strstr

查找字符串的首次出现,返回字符串从第一次出现的位置开始到该字符串的结尾或开始。

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

参数说明

haystack

在该字符串中进行查找。

needle

如果 needle 不是一个字符串,那么它将被转换为整型并被视为字符的顺序值来使用。

before_needle

若为 TRUE,strstr() 将返回 needle 在 haystack 中的位置之前的部分。

返回值

成功:返回字符串 needle 之前或之后的一部分

失败:如果没找到 needle,将返回 FALSE。

注意

  1. 该函数区分大小写
  2. 如果你仅仅想确定 needle 是否存在于 haystack 中,请使用速度更快、耗费内存更少的 strpos() 函数

示例

<?php
/*【 needle 为单个字符 】 */
$email = 'name@example.com';
$domain = strstr($email, '@');
echo $domain; // 打印 @example.com $user = strstr($email, '@', true); // 从 PHP 5.3.0 起
echo $user; // 打印 name
?>
<?php
/*【 needle 为数字 】 */
$email = 'name@example.com'; //字母a的 ASCII码为 97
$behind = strstr($email, 97);
echo $behind; // 打印 ame@example.com $front = strstr($email, 97, true); // 从 PHP 5.3.0 起
echo $front; // 打印 n
?>
<?php
/*【 needle 为字符串 】 */
$email = 'name@example.com';
$behind = strstr($email, 'ex');
echo $behind; // 打印 example.com $front = strstr($email, 'ex', true); // 从 PHP 5.3.0 起
echo $front; // 打印 name@
*/
?>
<?php
/*【 needle 为字符串 】 */
$email = 'name@example.com';
$behind = strstr($email, 'ab');
echo $behind; // 返回 false $front = strstr($email, 'ab', true); // 从 PHP 5.3.0 起
echo $front; // 返回 false
*/
?>

stristr

strstr() 函数的忽略大小写版本

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

该函数与 strstr() 唯一的区别就是不区分大小写。其他可参考strstr()

<?php
$email = 'name@example.com';
$behind = stristr($email, 'A');
echo $behind; // 打印 ame@example.com $front = stristr($email, 'A', true); // 从 PHP 5.3.0 起
echo $front; // 打印 n
?>

strchr

strstr() 函数的别名

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

该函数等同 strstr() 。其他可参考strstr()

$email  = 'name@example.com';
$behind = strchr($email, 'a');
echo $behind; // 打印 ame@example.com $front = strchr($email, 'a', true); // 从 PHP 5.3.0 起
echo $front; // 打印 n
?>

strrchr

查找字符串的最后一次出现,返回字符串从最后一次出现的位置开始到该字符串的结尾。

mixed strrchr ( string $haystack , mixed $needle )

参数说明

haystack

在该字符串中进行查找。

needle

如果 needle 包含了不止一个字符,那么仅使用第一个字符。该行为不同于 strstr()

如果 needle 不是一个字符串,那么将被转化为整型并被视为字符顺序值。

返回值

成功:返回字符串 needle 之后的一部分

失败:如果没找到 needle,将返回 FALSE。

示例

<?php
/*【 needle 为字符 】 */
$email = 'name@example.com';
$behind = strrchr($email, 'a');
echo $behind; // 打印 ample.com
?>
/*【 needle 为字符串 】 */
$email = 'name@example.com';
$behind = strrchr($email, 'am');
echo $behind; // 打印 ample.com
?>
<?php
/*【 needle 为数字 】 */
$email = 'name@example.com';
$behind = strrchr($email, 97);
echo $behind; // 打印 ample.com
?>

OneAPM for PHP 能够深入到所有 PHP 应用内部完成应用性能管理 能够深入到所有 PHP 应用内部完成应用性能管理和监控,包括代码级别性能问题的可见性、性能瓶颈的快速识别与追溯、真实用户体验监控、服务器监控和端到端的应用性能管理。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

PHP字符串函数之 strstr stristr strchr strrchr的更多相关文章

  1. strstr()查找函数,strchr(),strrchr(),stristr()/strpos(),strrpos()查找字符串位置

    在一个较长的字符串这查找匹配的字符串或字符,其中strstr()和strchr()是完全一样的. 例: echo strstr('why always you','you'); 输出: you 如果为 ...

  2. php中strstr、strchr、strrchr、substr、stristr

    一.strstr 和 strcchr的区别 strstr   显示第一次找到,要查找的字符串,以及后面的字符串. strrchr 显示最后一次找到,要查找的字符串,以及后面的字符串. 二.strstr ...

  3. c语言实现常见字符串函数strchr strstr strcmp atoi itoi(字符串换成整数)

    好久没有更新博客了,刚刚出炉练练手的程序如下,很简单,没有考虑过多复杂的东西,有好的想法,欢迎指教: 字符查找函数: char *my_strchr(const char *s,int c) { ch ...

  4. 内存及字符串操作篇strlen strchar strcmp strcoll strcpy strdup strstr strtok strspn strrchr bcmp bcopy bzero index memccpy memset

    bcmp(比较内存内容) 相关函数 bcmp,strcasecmp,strcmp,strcoll,strncmp,strncasecmp 表头文件 #include<string.h> 定 ...

  5. C语言-字符串函数的实现(五)之strstr

    C语言中的字符串函数有如下这些 获取字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 长度受限制的字符串函数 strncpy strncat strncmp ...

  6. 字符串函数(strcpy字符串拷,strcmp字符串比较,strstr字符串查找,strDelChar字符串删除字符,strrev字符串反序,memmove拷贝内存块,strlen字符串长度)

    1.strcpy字符串拷贝拷贝pStrSource到pStrDest,并返回pStrDest地址(源和目标位置重叠情况除外) char *strcpy(char *pStrDest, const ch ...

  7. PHP字符串函数

    php字符串处理函数大全 addcslashes — 为字符串里面的部分字符添加反斜线转义字符addslashes — 用指定的方式对字符串里面的字符进行转义bin2hex — 将二进制数据转换成十六 ...

  8. PHP部分字符串函数汇总

    PHP部分字符串函数汇总 提交 我的评论 加载中 已评论 PHP部分字符串函数汇总 2015-03-10 PHP100中文网 PHP100中文网 PHP100中文网 微信号 功能介绍 互联网开发者社区 ...

  9. PHP函数积累总结(Math函数、字符串函数、数组函数)

    Math函数:10个较常用标红.abs — 绝对值acos — 反余弦acosh — 反双曲余弦asin — 反正弦asinh — 反双曲正弦atan2 — 两个参数的反正切atan — 反正切ata ...

随机推荐

  1. Java中注解Annotation的定义、使用、解析

    此例子,用于说明如何在Java中对“注解 Annotation”的定义.使用和解析的操作.注解一般用于自定义开发框架中,至于为什么使用,此处不作过多说明,这里只说明如何使用,以作备记.下面例子已测试, ...

  2. 从基础知识到重写Spring的Bean工厂中学习java的工厂模式

    1.静态工厂模式其他对象不能直接通过new得到某个类,而是通过调用getInstance()方法得到该类的对象这样,就可以控制类的产生过程.顺带提一下单例模式和多例模式:  单例模式是指控制其他对象获 ...

  3. 11.find 查找并复制文件

    请把系统上拥有者为ira用户的所有文件,并将其拷贝到/root/findfiles目录中 find /home/ira/ -user ira -exec cp -a {} /root/findfile ...

  4. file与 byte[] 互转

    byte 转file String filepath="D:\\"+getName();          File file=new File(filepath);        ...

  5. PHP操作MongoDB简明教程(转)

    转自:http://blog.sina.com.cn/s/blog_6324c2380100ux2m.html MongoDB是最近比较流行的NoSQL数据库,网络上关于PHP操作MongoDB的资料 ...

  6. SQL JOB

    数据库同步是一种比较常用的功能.以下结合我自己的体会整理的,如果有理解不完全或者有误的地方望大牛不理赐教.下面介绍的就是数据库同步的两种方式: 1.SQL JOB的方式 sql Job的方式同步数据库 ...

  7. 【转】Web标准中的常见问题

    本文转自http://www.tracefact.net/Misc/Common-Problems-Of-Web-Standard.aspx 引言 大概在2004年的时候,Web标准的概念藉由一本名为 ...

  8. 系统架构师JD

    #################################################################################################### ...

  9. Makefile之wildcard

    1.wildcard : 扩展通配符2.notdir : 去除路径3.patsubst :替换通配符 例子:建立一个测试目录,在测试目录下建立一个名为sub的子目录$ mkdir test$ cd t ...

  10. 调皮的转义之addslashes

    背景: php自5.3版本开始废除set_magic_quotes_runtime函数,并在5.4及以后版本中移除了该函数 今天程序在向mysql插入一个serialize序列化后的数组时,由于一个数 ...