PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのdecoct()関数とは?10進数を8進数に変換する方法を徹底解説

decoct()関数の定義と使い方

PHPのdecoct()関数は、引数として渡された10進数を等価な8進数表現に変換し、その結果を文字列として返す関数です。

戻り値となる文字列には、8進数を構成する数字(0〜7)のみが含まれます。

構文

decoct ( int $number ) : string

パラメータ

No.パラメータと説明
1number
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()関数を使用します。

  1. 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

  2. PHPのdecoct()関数とは?使い方を徹底解説

    decoct() 関数は、10進数(decimal)を8進数(octal)に変換するためのPHP組み込み関数です。引数として渡した10進数の値を、対応する8進数表現の文字列として返します。 8進数表記が必要になる場面、たとえばファイルパーミッションの指定などで活躍する便利な関数です。 構文 decoct(num) パラメータ num − 8進数に変換したい10進数の値を指定します。 戻り値 decoct() 関数は、指定された10進数を変換した結果である8進数の文字列を返します。 使用例 まずは基本的な使い方を見てみましょう。10進数の 70 を8進数に変換します。 <?ph