(PECL event >= 1.2.6-beta)
EventBuffer::search — Сканирует буфер на наличие строки
Сканирует буфер на наличие строки what
. Возвращает числовую позицию строки или false
, если строка не была найдена.
Если указан аргумент start
, он указывает на позицию, с которой должен начинаться поиск; в противном случае поиск выполняется с начала строки. Если указан аргумент end
, поиск выполняется между начальной и конечной позициями буфера.
what
Строка для поиска.
start
Позиция начала поиска.
end
Позиция окончания поиска.
Возвращает числовую позицию первого вхождения строки в буфере или false
, если строка не найдена.
Функция возвращает как логическое значение false
, так и нелогическое значение, которое приводится к false
. Прочитайте раздел «Логический тип», чтобы получить дополнительную информацию. Используйте оператор === для проверки значения, которое возвращает функция.
Пример #1 Пример использования EventBuffer::search()
<?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)