downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

APCIterator::current> <APCIterator
[edit] Last updated: Fri, 14 Jun 2013

view this page in

APCIterator::__construct

(PECL apc >= 3.1.1)

APCIterator::__constructConstructs an APCIterator iterator object

Description

public APCIterator::__construct ( string $cache [, mixed $search = null [, int $format [, int $chunk_size = 100 [, int $list ]]]] )

Constructs an APCIterator object.

Parameters

cache

The cache type, which will be user or file.

search

A PCRE regular expression that matches against APC key names, either as a string for a single regular expression, or as an array of regular expressions. Or, optionally pass in NULL to skip the search.

format

The desired format, as configured with one ore more of the APC_ITER_* constants.

chunk_size

The chunk size. Must be a value greater than 0. The default value is 100.

list

The type to list. Either pass in APC_LIST_ACTIVE or APC_LIST_DELETED.

Return Values

An APCIterator object on success, or NULL on failure.

Examples

Example #1 A APCIterator::__construct() example

<?php
foreach (new APCIterator('user''/^counter\./') as $counter) {
    echo 
"$counter[key]$counter[value]\n";
    
apc_dec($counter['key'], $counter['value']);
}
?>

See Also



APCIterator::current> <APCIterator
[edit] Last updated: Fri, 14 Jun 2013
 
add a note add a note User Contributed Notes APCIterator::__construct - [3 notes]
up
0
petabyte
1 year ago
With MAMP (using PHP 5.3.5 and APC 3.1.7) passing an array with multiple regex strings as $search arg always yields an empty APCIterator. Whereas passing a single string regex works. (Note: I only tried cache type 'user'.)

Workaround: Concatenated all regexes to single one with alternation. Example:

<?php
$results
= new APCIterator('user', '/^('.implode('|', $patterns).')');
?>
up
0
rodney dot rehm at medialize dot de
1 year ago
new APCIterator('file'); only lists the files loaded within the current process-scope. It is thus not possible to check if a given file already resides in the op-code cache.
(PHP5.3.6 APC3.1.9)
up
0
Anti Veeranna
2 years ago
Iterating (and specifically using current()) does not expunge cache entries for which $ttl has passed, you need to use apc_fetch to get rid of stale entries.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites