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