base_convert

数値の基数を任意に変換する

説明

string base_convert(string $num, int $from_base, int $to_base)

num を基数 to_base で表した文字列を返します。 num の基数は、 from_base で指定します。 from_base および to_base は、ともに 2 から 36 までである必要があります。 10 より大きな基数を有する数の各桁は、文字 a-z で表されます。 この場合、a は 10、b は 11、z は 35 を意味します。 num は、大文字小文字を区別せずに扱います。

警告

大きな数値で base_convert を使用すると、 精度が失われてしまうことがあります。これは、内部で使用している float の性質によるものです。詳細な情報や制限については マニュアルの浮動小数点数 のセクションを参照ください。

パラメータ

num

変換する数値。 num に無効な文字が含まれている場合は、 何もエラーを出さずにただ無視します。 PHP 7.4.0 以降は、無効な文字を与えることは推奨されません。

from_base

変換前の num の基数。

to_base

変換後の num の基数。

戻り値

num を基数 to_base で表した値を返します。

変更履歴

バージョン 説明
7.4.0 無効な文字を与えると、非推奨の警告が出るようになりました。 結果は不正な文字がなかったかのように計算されます。

例1 base_convert の例

<?php
$hexadecimal = 'a37334';
echo base_convert($hexadecimal, 16, 2);
?>

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

101000110111001100110100

参考

  • intval