当前位置:首页 > PHP

php实现strchr

2026-04-03 15:47:25PHP

PHP 实现 strchr 函数

PHP 内置的 strchr 函数用于查找字符串中首次出现的指定字符,并返回从该字符到字符串末尾的部分。其功能与 strstr 函数相同。以下是具体实现方法和示例:

基本语法

strchr(string $haystack, mixed $needle, bool $before_needle = false): string|false
  • $haystack:输入字符串。
  • $needle:要查找的字符或子字符串。如果是数字,会被转为对应的 ASCII 字符。
  • $before_needle:若为 true,则返回 $needle 之前的部分(不包括 $needle)。

示例代码

查找字符并返回剩余部分:

$email = 'user@example.com';
$domain = strchr($email, '@');
echo $domain; // 输出: @example.com

查找字符并返回之前的部分:

$email = 'user@example.com';
$user = strchr($email, '@', true);
echo $user; // 输出: user

注意事项

  • 如果 $needle 未找到,函数返回 false
  • $needle 区分大小写。如需不区分大小写,使用 stristr
  • $needle 为空字符串,PHP 8.0 之前会返回 false,PHP 8.0+ 会抛出 ValueError

替代方案

如需自定义实现,可以通过以下方式模拟:

php实现strchr

function custom_strchr($haystack, $needle, $before_needle = false) {
    $pos = strpos($haystack, $needle);
    if ($pos === false) {
        return false;
    }
    return $before_needle 
        ? substr($haystack, 0, $pos)
        : substr($haystack, $pos);
}

典型应用场景

  • 解析电子邮件地址(分离用户名和域名)。
  • 处理文件路径(获取扩展名或目录部分)。
  • 字符串分割操作(基于特定分隔符)。

以上内容可直接用于 PHP 5.4+ 版本,兼容性覆盖大多数生产环境。

标签: phpstrchr
分享给朋友:

相关文章

php实现文件下载

php实现文件下载

PHP实现文件下载的方法 通过PHP实现文件下载功能,可以采用多种方式,以下是几种常见的实现方法: 使用header()函数强制下载 设置HTTP头信息,强制浏览器下载文件而非直接打开: $fi…

php搜索功能实现的

php搜索功能实现的

PHP 搜索功能实现方法 数据库搜索实现 使用 SQL 的 LIKE 语句进行模糊匹配,适用于小型网站和简单搜索需求。 $searchTerm = $_GET['search']; $query =…

php 实现单点登录

php 实现单点登录

PHP 实现单点登录的方法 单点登录(SSO)允许用户通过一次登录访问多个相互信任的系统。以下是基于 PHP 的实现方案: 基于共享 Session 的方案 在同一个主域名下的子域名间可以通过共享…

php实现登陆

php实现登陆

PHP 实现登录功能 创建登录表单 在 HTML 文件中创建一个登录表单,包含用户名和密码输入框,表单的 action 属性指向处理登录的 PHP 文件。 <form action="logi…

php 实现mvc

php 实现mvc

PHP 实现 MVC 架构的方法 MVC(Model-View-Controller)是一种常见的软件设计模式,用于分离业务逻辑、用户界面和用户输入。以下是 PHP 实现 MVC 架构的关键步骤:…

php 实现排名

php 实现排名

PHP 实现排名的方法 在 PHP 中实现排名功能通常涉及对数据进行排序、计算排名以及输出结果。以下是几种常见的实现方式: 基本数组排序排名 $scores = [85, 92, 78, 95, 8…