略微加速

PHP官方手册 - 互联网笔记

PHP - Manual: CachingIterator::offsetSet

2024-05-04

CachingIterator::offsetSet

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

CachingIterator::offsetSetThe offsetSet purpose

说明

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

本函数还未编写文档,仅有参数列表。

参数

key

The index of the element to be set.

value

The new value for the key.

返回值

没有返回值。

add a noteadd a note

User Contributed Notes 1 note

up
0
ddrake at dreamingmind dot com
2 years ago
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

官方地址:https://www.php.net/manual/en/cachingiterator.offsetset.php

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3