数値アイテムの値を減らす

# Memcached::decrement

(PECL memcached >= 0.1.0)

Memcached::decrement — 数値アイテムの値を減らす

### 説明

public function Memcached::decrement(
string `$key`,
int `$offset` = 1,
int `$initial_value` = 0,
int `$expiry` = 0
): int|false

Memcached::decrement() は、数値アイテムの値を `offset` で指定しただけ減らします。 アイテムの値が数値でない場合はエラーとなります。 操作後の値が 0 より小さくなる場合は、新しい値は 0 となります。 アイテムが存在しない場合、Memcached::decrement() は値を `initial_value` に設定します。

### パラメータ

`key`

  減らしたいアイテムのキー。

`offset`

  値を減らしたい量。

`initial_value`

  そのアイテムが存在しない場合に設定する値。

`expiry`

  そのアイテムに設定する有効期限。

### 戻り値

成功した場合にアイテムの新しい値、失敗した場合に `false` を返します。

### 例

例1 Memcached::decrement() の例

    <?php
    $m = new Memcached();
    $m->addServer('localhost', 11211);

    $m->set('counter', 5);
    $n = $m->decrement('counter');
    var_dump($n);

    $n = $m->decrement('counter', 10);
    var_dump($n);

    var_dump($m->get('counter'));

    $m->set('counter', 'abc');
    $n = $m->increment('counter');
    // アイテムの値が数値でないので、これは失敗します
    var_dump($n);
    ?>

上の例の出力は以下となります。

    int(4)
    int(0)
    int(0)
    bool(false)

### 参考

- Memcached::increment() - 数値アイテムの値を増やす
- Memcached::incrementByKey() - 指定したサーバー上にある数値アイテムの値を増やす
- Memcached::decrementByKey() - 指定したサーバー上にある数値アイテムの値を減らす

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open