ini ディレクティブの省略形を解釈し、サイズを取得する

# ini_parse_quantity

(PHP 8 >= 8.2.0)

ini_parse_quantity — ini ディレクティブの省略形を解釈し、サイズを取得する

### 説明

function ini_parse_quantity(string `$shorthand`): int

成功した場合に、 ini ディレクティブの省略形 を解釈したサイズをバイト単位で返します。

### パラメータ

`shorthand`

  パースする ini ディレクティブの省略形。 数値を指定しなければなりません。そのあとに、オプションの倍率を続けます。 サポートされている倍率は以下のとおりです: `k`/`K` (`1024`), `m`/`M` (`1048576`), `g`/`G` (`1073741824`)。 数値は10進数、16進数(数値の前に `0x`,`0X` を付けた場合)、 8進数(数値の前に `0o`, `0O`, `0` を付けた場合)、 2進数(数値の前に `0b`, `0B` を付けた場合) を指定できます。

### 戻り値

解釈済みのサイズをバイト単位で、整数として返します。

### エラー / 例外

値をパースできなかった場合や、 不正な倍率を使った場合には、`E_WARNING` が発生します。

### 例

例1 ini_parse_quantity() の例

    <?php

    var_dump(ini_parse_quantity('1024'));
    var_dump(ini_parse_quantity('1024M'));
    var_dump(ini_parse_quantity('512K'));
    var_dump(ini_parse_quantity('0xFFk'));
    var_dump(ini_parse_quantity('0b1010k'));
    var_dump(ini_parse_quantity('0o1024'));
    var_dump(ini_parse_quantity('01024'));
    var_dump(ini_parse_quantity('Foobar'));
    var_dump(ini_parse_quantity('10F'));

    ?>

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

    int(1024)
    int(1073741824)
    int(524288)
    int(261120)
    int(10240)
    int(532)
    int(532)

    Warning: Invalid quantity "Foobar": no valid leading digits, interpreting as "0" for backwards compatibility
    int(0)

    Warning: Invalid quantity "10F": unknown multiplier "F", interpreting as "10" for backwards compatibility
    int(10)

### 参考

- ini_get() - 設定オプションの値を得る

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