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

作成日: 更新日:

octdec関数は、八進数(8進数)の文字列を十進数(10進数)の整数に変換する関数です。プログラミングにおいて、ファイルパーミッションの設定値や特定のデータ表現などで八進数が使用されることがありますが、通常私たちがデータとして扱うのは十進数であることが多いため、このような変換が必要になることがあります。

この関数は、引数として八進数を表す文字列を一つ受け取ります。例えば、"777"という八進数文字列を渡すと、それを十進数の511に変換して返します。変換後の値は、PHPの整数型の範囲内であれば整数(int型)として返されます。しかし、PHPの整数型の最大値(通常64ビット環境では約9×10^18)を超えるような非常に大きな八進数を変換しようとした場合は、その値は浮動小数点数(float型)として返されることに注意してください。

また、PHP 8以降のバージョンでは、数値形式ではない無効な文字列をこの関数に渡すと、TypeErrorが発生するようになりました。PHP 7.x以前のバージョンでは、そのような場合に0が返されることがありましたが、PHP 8ではより厳密な型チェックが行われるため、意図しない誤動作を防ぐことができます。そのため、引数に渡す文字列が正しい八進数形式であることを事前に確認することが重要です。

octdec関数は、八進数で表現された値を十進数として扱いたい場合に非常に役立ち、データ処理やシステム管理のスクリプト作成などで活用できる便利な機能です。

基本的な使い方

構文(syntax)

<?php
$octal_string = "25"; // 8進数の25は10進数の21
$decimal_value = octdec($octal_string);
echo $decimal_value;
?>

引数(parameters)

string $octal_string

  • string $octal_string: 変換したい8進数表記の文字列を指定します。

戻り値(return)

int|float

指定された8進数文字列を整数または浮動小数点数に変換した値を返します。

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