PHP 8.4.6 Released!

CachingIterator::offsetExists

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

CachingIterator::offsetExistsThe offsetExists purpose

Description

public CachingIterator::offsetExists(string $key): bool
Warning

This function is currently not documented; only its argument list is available.

Parameters

key

The index being checked.

Return Values

Returns true if an entry referenced by the offset exists, false otherwise.

User Contributed Notes

ddrake at dreamingmind dot com
5 years ago
offsetExists($index) examines the cache, not the inner or outer iterator.

<?php
$cache
= new \CachingIterator(
new
\ArrayIterator(['a', 'b', 'c', 'd']),
\CachingIterator::FULL_CACHE);

$shortRange = range(0, 1);
$fullRange = range(0, 3);

foreach (
$shortRange as $index) {
$cache->next();
}

echo
PHP_EOL . 'The cache' . PHP_EOL;
var_export($cache->getCache());
echo
PHP_EOL;

foreach (
$fullRange as $offset) {
print_r("cache offset '$offset' " .
(
$cache->offsetExists("$offset") == 1
? 'exists'
: "doesn't exist"
) . PHP_EOL);
}
?>

The cache
array (
0 => 'a',
1 => 'b',
)
cache offset '0' exists
cache offset '1' exists
cache offset '2' doesn't exist
cache offset '3' doesn't exist
To Top