php8.5
Home/ Manual/ apcu / functions/ apcu_cas

apcu_cas

PHP function Edit on GitHub ✎

(PECL apcu >= 4.0.0)

Updates an old value with a new value

Description

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

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

Parameters

key

The key of the value being updated.

old

The old value (the value currently stored).

new

The new value to update to.

Return Values

Success

Examples

apcu_cas() example

php
<?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;
?>

The above example will output something similar to:

output
$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

See Also

Source: reference/apcu/functions/apcu-cas.xml · from the official PHP manual (php/doc-en)