CachingIterator::offsetSet()
(PHP 5>=5.2.0,PHP 7)
The offsetSet purpose
说明
public CachingIterator::offsetSet(mixed $index,mixed $newval) : void
Warning本函数还未编写文档,仅有参数列表。
参数
- $index
The index of the element to be set.
- $newval
The new value for the$index.
返回值
没有返回值。
offsetSet($index, $newval) will change an existing cache value or create a new cache entry <?php $cache = new \CachingIterator( new \ArrayIterator(['a', 'b', 'c', 'd']), \CachingIterator::FULL_CACHE); $shortRange = range(0, 1); foreach ($shortRange as $index) { $cache->next(); } echo PHP_EOL . 'The cache' . PHP_EOL; var_export($cache->getCache()); echo PHP_EOL; echo $cache->offsetSet('0', 'manual change') . PHP_EOL; echo $cache->offsetSet('3', 'manual entry') . PHP_EOL; ?> The cache array ( 0 => 'a', 1 => 'b', ) The cache array ( 0 => 'manual change', 1 => 'b', 3 => 'manual entry', ) There is no requirement that the offset exist in the inner iterator, or that the offset exists in the cache. <?php $cache = new \CachingIterator( new \ArrayIterator([]), \CachingIterator::FULL_CACHE); echo $cache->offsetSet('22', 'manual entry') . PHP_EOL; echo PHP_EOL . 'The cache' . PHP_EOL; var_export($cache->getCache()); echo PHP_EOL; print_r("cache offset '22' " . ($cache->offsetExists('22') == 1 ? 'exists' : "doesn't exist" ) . PHP_EOL); ?> The cache array ( 22 => 'manual entry', ) cache offset '22' exists