PHP Conference Japan 2024

CachingIterator::offsetSet

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

CachingIterator::offsetSetoffsetSet 的用途

描述

public CachingIterator::offsetSet(string $key, mixed $value): void
警告

此函数目前未记录;仅提供其参数列表。

参数

key

要设置的元素的索引。

value

key 的新值。

返回值

不返回任何值。

添加注释

用户贡献的注释 1 条注释

0
ddrake at dreamingmind dot com
4年前
offsetSet($index, $newval) 将更改现有的缓存值或创建新的缓存条目

<?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;
?>

缓存
数组 (
0 => 'a',
1 => 'b',
)

缓存
数组 (
0 => 'manual change',
1 => 'b',
3 => 'manual entry',
)

不需要偏移量存在于内部迭代器中,也不需要偏移量存在于缓存中。

<?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);
?>

缓存
数组 (
22 => 'manual entry',
)
缓存偏移量 '22' 存在
To Top