(PECL event >= 1.2.6-beta)
EventBuffer::search — 扫描缓冲区以查找字符串的出现
扫描缓冲区以查找字符串 what
的出现。如果找到该字符串,则返回该字符串的数字位置;否则返回 false
。
如果提供了 start
参数,则它指向搜索应开始的位置;否则,从字符串的开头执行搜索。如果提供了 end
参数,则在开始和结束缓冲区位置之间执行搜索。
what
要搜索的字符串。
start
开始搜索位置。
end
结束搜索位置。
返回字符串在缓冲区中第一次出现的数字位置,如果未找到字符串则返回 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)