PHP Conference Japan 2024

EventBuffer::search

(PECL event >= 1.2.6-beta)

EventBuffer::search扫描缓冲区以查找字符串的出现

描述

public EventBuffer::search( string $what , int $start = -1 , int $end = -1 ): mixed

扫描缓冲区以查找字符串 what 的出现。如果找到该字符串,则返回该字符串的数字位置;否则返回 false

如果提供了 start 参数,则它指向搜索应开始的位置;否则,从字符串的开头执行搜索。如果提供了 end 参数,则在开始和结束缓冲区位置之间执行搜索。

参数

what

要搜索的字符串。

start

开始搜索位置。

end

结束搜索位置。

返回值

返回字符串在缓冲区中第一次出现的数字位置,如果未找到字符串则返回 false

警告

此函数可能会返回布尔值 false,但也可能会返回一个计算结果为 false 的非布尔值。有关更多信息,请阅读有关 布尔值 的部分。使用 === 运算符 来测试此函数的返回值。

范例

示例 #1 EventBuffer::search() 示例

<?php
// 统计 'buf' 中 'str' 的总出现次数
function count_instances($buf, $str) {
$total = 0;
$p = 0;
$i = 0;

while (
1) {
$p = $buf->search($str, $p);
if (
$p === FALSE) {
break;
}
++
$total;
++
$p;
}

return
$total;
}

$buf = new EventBuffer();
$buf->add("Some string within a string inside another string");
var_dump(count_instances($buf, "str"));
?>

以上示例将输出类似以下内容

int(3)

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top