PHPのdecoct()関数とは?10進数を8進数に変換する方法を徹底解説
decoct()関数の定義と使い方
PHPのdecoct()関数は、引数として渡された10進数を等価な8進数表現に変換し、その結果を文字列として返す関数です。
戻り値となる文字列には、8進数を構成する数字(0〜7)のみが含まれます。
構文
decoct ( int $number ) : string
パラメータ
| No. | パラメータと説明 |
|---|---|
| 1 | number 8進数表現へ変換する対象の10進数(整数) |
戻り値
PHPのdecoct()関数は、変換後の8進数を文字列型で返します。
対応するPHPバージョン
この関数は、PHP 4.x、PHP 5.x、およびPHP 7.xのすべてのバージョンで利用可能です。
使用例1:基本的な10進数→8進数の変換
次の例では、10進数の「1001」を8進数へ変換し、「1751」が返されます。
<?php
$arg=1001;
$val=decoct($arg);
echo "decoct(" . $arg . ") = " . $val;
?>
出力結果
上記のコードを実行すると、次のような結果が出力されます。
decoct(1001) = 1751
使用例2:小数を指定した場合の挙動
引数に小数を指定した場合、小数点以下は切り捨てられます。そのため、「100.55」は「100」として扱われ、8進数では「144」に変換されます。
<?php
$arg=100.55;
$val=decoct($arg);
echo "decoct(" . $arg . ") = " . $val;
?>
出力結果
decoct(100.55) = 144
使用例3:文字列を指定した場合の挙動
引数に数値として評価できない文字列を渡した場合、結果は「0」になります。
<?php
$arg="Hello";
$val=decoct($arg);
echo "decoct(" . $arg . ") = " . $val;
?>
出力結果
decoct(Hello) = 0
使用例4:64ビットシステムでの最大整数値
64ビットシステムにおける最大の整数値は「9223372036854775807」です。この値をdecoct()関数に渡すと、以下の結果が返されます。
<?php
$arg=9223372036854775807;
$val=decoct($arg);
echo "decoct(" . $arg . ") = " . $val;
?>
出力結果
decoct(9223372036854775807) = 777777777777777777777
まとめ
decoct()関数は、10進数の整数を8進数の文字列へ簡単に変換できる便利な関数です。小数は切り捨てられ、数値以外の文字列は「0」になるという挙動も押さえておきましょう。逆に8進数から10進数へ変換したい場合は、octdec()関数を使用します。
-
PHPのdecoct()関数とは?10進数を8進数に変換する方法を徹底解説
decoct()関数の定義と使い方PHPのdecoct()関数は、引数として渡された10進数を等価な8進数表現に変換し、その結果を文字列として返す関数です。戻り値となる文字列には、8進数を構成する数字(0〜7)のみが含まれます。構文decoct ( int $number ) : stringパラメータNo.パラメータと説明1number8進数表現へ変換する対象の10進数(整数)戻り値PHPのdecoct()関数は、変換後の8進数を文字列型で返します。対応するPHPバージョンこの関数は、PHP 4.x、PHP 5.x、およびPHP 7.xのすべてのバージョンで利用可能です。使用例1:基本的な1
-
PHPのdecoct()関数とは?使い方を徹底解説
decoct() 関数は、10進数(decimal)を8進数(octal)に変換するためのPHP組み込み関数です。引数として渡した10進数の値を、対応する8進数表現の文字列として返します。 8進数表記が必要になる場面、たとえばファイルパーミッションの指定などで活躍する便利な関数です。 構文 decoct(num) パラメータ num − 8進数に変換したい10進数の値を指定します。 戻り値 decoct() 関数は、指定された10進数を変換した結果である8進数の文字列を返します。 使用例 まずは基本的な使い方を見てみましょう。10進数の 70 を8進数に変換します。 <?ph