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.

警告

この関数は論理値 FALSE を返す可能性がありますが、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)

参考