【PHP8.x】bindec関数の使い方

作成日: 更新日:

bindec関数は、二進数形式の文字列を、それに対応する十進数の値に変換するPHPの標準関数です。この関数は、引数として「0」と「1」のみで構成された二進数表記の文字列を受け取り、その文字列が表す数値を十進数の整数(int)または浮動小数点数(float)として返します。

例えば、「1101」という二進数文字列をbindec()に渡すと、十進数の「13」が返されます。引数に無効な文字が含まれている場合、PHP 8以降では、最初の無効な文字までの有効な部分が二進数として解釈されます。しかし、予期せぬ結果を防ぐため、常に「0」と「1」のみを含む厳密な二進数文字列を渡すことを推奨します。

変換される二進数の値が非常に大きく、PHPの整数の最大値(通常は64ビット環境で9,223,372,036,854,775,807)を超過する場合、結果は浮動小数点数(float)として返されます。これは、より大きな数値を正確に表現するためです。

bindec()関数は、データ形式の変換や、低レベルのビット操作、特定のプロトコル解析など、二進数データを扱うさまざまな場面で利用されます。異なる基数の数値を相互に変換する必要があるシステム開発において、非常に有用なツールとなります。

基本的な使い方

構文(syntax)

<?php
echo bindec('1101');

引数(parameters)

string $binary_string

  • string $binary_string: 2進数形式の文字列

戻り値(return)

int|float

bindec関数は、2進数文字列を整数または浮動小数点数に変換した値を返します。

【PHP8.x】bindec関数の使い方 | いっしー@Webエンジニア