PHP 8.1.0 Beta 1 available for testing

apcu_cas

(PECL apcu >= 4.0.0)

apcu_cas古い値を新しい値に更新する

説明

apcu_cas(string $key, int $old, int $new): bool

apcu_cas() は、既に保存されている整数値が old パラメータにマッチする値のときに、それを new パラメータの値に更新します。

パラメータ

key

更新する値のキー。

old

古い値 (現在保存されている値)。

new

新しく更新したい値。

返り値

成功した場合に true を、失敗した場合に false を返します。

例1 apcu_cas() の例

<?php
apcu_store
('foobar'2);
echo 
'$foobar = 2'PHP_EOL;
echo 
'$foobar == 1 ? 2 : 1 = ', (apcu_cas('foobar'12) ? 'ok' 'fail'), PHP_EOL;
echo 
'$foobar == 2 ? 1 : 2 = ', (apcu_cas('foobar'21) ? 'ok' 'fail'), PHP_EOL;

echo 
'$foobar = 'apcu_fetch('foobar'), PHP_EOL;

echo 
'$f__bar == 1 ? 2 : 1 = ', (apcu_cas('f__bar'12) ? 'ok' 'fail'), PHP_EOL;

apcu_store('perfection''xyz');
echo 
'$perfection == 2 ? 1 : 2 = ', (apcu_cas('perfection'21) ? '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

参考

add a note add a note

User Contributed Notes 1 note

up
-5
Anonymous
3 years ago
The output in the example says:

$f__bar == 1 ? 2 : 1 = fail

but in reality it should be:

$f__bar == 1 ? 2 : 1 =  ok

the first time the code is ran as the cache is empty and apcu_cas allows the key to be inserted.
To Top