(PECL event >= 1.2.6-beta)
EventBuffer::search — Scans the buffer for an occurrence of a string
Scans the buffer for an occurrence of the string
what
. It returns numeric position of the string, or FALSE
if the string was
not found.
If the
start
argument is provided, it points to the position at which the search should
begin; otherwise, the search is performed from the start of the string. If
end
argument provided, the search is performed between start and end buffer
positions.
what
String to search.
start
Start search position.
end
End search position.
Returns numeric position of the first occurance of the string in the
buffer, or FALSE
if string is not found.
Эта функция может возвращать как логическое значение FALSE
, так и значение не типа boolean, которое приводится к FALSE
. За более подробной информацией обратитесь к разделу Булев тип. Используйте оператор === для проверки значения, возвращаемого этой функцией.
Пример #1 EventBuffer::search() example
<?php
// Count total occurances of 'str' in 'buf'
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)