EventBuffer::search

(PECL event >= 1.2.6-beta)

EventBuffer::searchScans the buffer for an occurrence of a string

说明

public EventBuffer::search ( string $what [, int $start = -1 [, int $end = -1 ]] ) : mixed

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.

Warning

此函数可能返回布尔值 FALSE,但也可能返回等同于 FALSE 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用 === 运算符来测试此函数的返回值。

范例

Example #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)

参见