array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ja', ), 'this' => array ( 0 => 'function.apcu-cas.php', 1 => 'apcu_cas', ), 'up' => array ( 0 => 'ref.apcu.php', 1 => 'APCu 関数', ), 'prev' => array ( 0 => 'function.apcu-cache-info.php', 1 => 'apcu_cache_info', ), 'next' => array ( 0 => 'function.apcu-clear-cache.php', 1 => 'apcu_clear_cache', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ja', 'path' => 'reference/apcu/functions/apcu-cas.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL apcu >= 4.0.0)
apcu_cas — 古い値を新しい値に更新する
apcu_cas() は、既に保存されている整数値が old
パラメータにマッチする値のときに、それを new
パラメータの値に更新します。
key
更新する値のキー。
old
古い値 (現在保存されている値)。
new
新しく更新したい値。
例1 apcu_cas() の例
<?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