apc_cache_info
apc_clear_cache
APC Functions
PHP Manual

# apc_cas

Updates an old value with a new value

### Description

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.

### 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

Returns `TRUE` on success or `FALSE` on failure.

### Examples

Example #1 apc_cas example

`<?php
apc_store('foobar', 2);
echo '$foobar = 2', PHP_EOL;
echo '$foobar == 1 ? 2 : 1 = ', (apc_cas('foobar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar == 2 ? 1 : 2 = ', (apc_cas('foobar', 2, 1) ? 'ok' : 'fail'), PHP_EOL;
echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;
echo '$f__bar == 1 ? 2 : 1 = ', (apc_cas('f__bar', 1, 2) ? 'ok' : 'fail'), PHP_EOL;
apc_store('perfection', 'xyz');
echo '$perfection == 2 ? 1 : 2 = ', (apc_cas('perfection', 2, 1) ? 'ok' : 'epic fail'), PHP_EOL;
echo '$foobar = ', apc_fetch('foobar'), PHP_EOL;
?>`

The above example will output something similar to:

    $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

- apc_dec
- apc_store