PHP8 apcu_cas
(PECL apcu >= 4.0.0)
apcu_cas — 用新值更新旧值
说明
apcu_cas(string $key, int $old, int $new): bool
apcu_cas() 如果旧参数与当前存储的值与新参数的值匹配,则更新已存在的整数值。
参数
key
正在更新的值的key。
old
旧值(当前存储的值)。
new
要更新到的新值。
返回值
成功时返回 true, 或者在失败时返回 false。
示例
示例 #1 apcu_cas() example
<?php
apcu_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apcu_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apcu_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;
echo '$f__bar == 1 ? 2 : 1 = ', (apcu_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
apcu_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apcu_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;
echo '$foobar = ', apcu_fetch('foobar'), PHP_EOL;
?>
以上示例的输出类似于:
$foobar = 2
$foobar == 1 ? 2 : 1 = fail
$foobar == 2 ? 1 : 2 = ok
$foobar = 1
$f__bar == 1 ? 2 : 1 = fail
$perfection == 2 ? 1 : 2 = epic fail
$foobar = 1
参见
- apcu_dec() - Decrease a stored number
- apcu_store() - 缓存一个变量到存储中