apcu_cas

Updates an old value with a new value

&reftitle.description; `bool` `apcu_cas` `string` `key` `int` `old` `int` `new`

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

&reftitle.parameters;

`key`

- The key of the value being updated.

`old`

- The old value (the value currently stored).

`new`

- The new value to update to.

&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### `apcu_cas` example

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

&example.outputs.similar;

    $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

&reftitle.seealso;

- `apcu_dec`
- `apcu_store`