(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)