当前位置:首页 > PHP

php strstr 函数实现

2026-02-16 05:23:10PHP

PHP strstr 函数实现

strstr 是 PHP 中用于查找字符串首次出现的函数,返回从匹配位置开始到字符串末尾的部分。以下是其实现原理及自定义实现方法。

函数原型

strstr(string $haystack, string $needle, bool $before_needle = false): string|false
  • $haystack:被搜索的字符串。
  • $needle:要查找的子字符串。
  • $before_needle:若为 true,返回 $needle 之前的部分。

自定义实现

以下是一个模拟 strstr 功能的实现:

php strstr 函数实现

function my_strstr($haystack, $needle, $before_needle = false) {
    if (empty($needle)) {
        return false;
    }

    $pos = strpos($haystack, $needle);
    if ($pos === false) {
        return false;
    }

    if ($before_needle) {
        return substr($haystack, 0, $pos);
    } else {
        return substr($haystack, $pos);
    }
}

实现解析

  1. 参数校验:检查 $needle 是否为空,若为空直接返回 false
  2. 查找位置:使用 strpos 获取 $needle$haystack 中的首次出现位置。
  3. 结果处理:根据 $before_needle 参数决定返回匹配位置之前或之后的部分。

使用示例

$text = "Hello, world!";
echo my_strstr($text, "world");  // 输出 "world!"
echo my_strstr($text, "world", true);  // 输出 "Hello, "

注意事项

  • 实际 PHP 源码中的 strstr 是通过 C 语言实现的,效率更高。
  • 此实现未处理多字节字符(如 UTF-8),需结合 mb_strstr 处理此类场景。

标签: 函数php
分享给朋友:

相关文章

php实现文件上传

php实现文件上传

PHP 文件上传实现方法 在 PHP 中实现文件上传需要处理 HTML 表单和服务器端脚本。以下是详细步骤: 创建 HTML 表单 使用 enctype="multipart/form-data"…

php搜索功能实现

php搜索功能实现

实现基本的PHP搜索功能 使用MySQL数据库和PHP实现简单的关键词搜索功能。需要确保数据库中有可供搜索的表和数据。 // 连接数据库 $conn = new mysqli('localhost'…

php实现一个

php实现一个

PHP 实现一个简单的计算器 创建一个基本的计算器,支持加、减、乘、除运算。以下是一个完整的实现代码示例: <?php $result = ""; if ($_SERVER["REQUES…

php实现统计

php实现统计

PHP 实现统计功能 在 PHP 中实现统计功能通常涉及数据的收集、处理和展示。以下是一些常见的统计实现方法: 数据库数据统计 通过 SQL 查询可以直接从数据库中获取统计结果: $conn =…

php 实现面包屑导航

php 实现面包屑导航

实现面包屑导航的方法 面包屑导航(Breadcrumb Navigation)是一种常见的网站导航方式,用于显示用户当前页面的路径。以下是几种在 PHP 中实现面包屑导航的方法。 基于 URL 路径…

php实现文章

php实现文章

PHP实现文章管理功能 在PHP中实现文章管理功能通常涉及数据库操作、表单处理和页面展示。以下是实现文章管理的基本步骤: 数据库设计 创建articles表,包含字段如id、title、conten…