apc_cas

(PECL apc >= 3.1.1)

apc_casUpdates an old value with a new value

說明

bool apc_cas ( string $key , int $old , int $new )

apc_cas() updates an already existing integer value if the old parameter matches the currently stored value with the value of the new parameter.

參數

key

The key of the value being updated.

old

The old value (the value currently stored).

new

The new value to update to.

回傳值

如果成功則回傳 TRUE,失敗則回傳 FALSE

範例

Example #1 apc_cas() example

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

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

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

apc_store('perfection''xyz');
echo 
'$perfection == 2 ? 1 : 2 = ', (apc_cas('perfection'21) ? 'ok' 'epic fail'), PHP_EOL;

echo 
'$foobar = 'apc_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
16
Piet Delport
13 years ago
In case anyone is puzzled by the function name, "cas" refers to http://en.wikipedia.org/wiki/Compare-and-swap
To Top