関数の概要
base_convertは、PHPで数値の進数を変換するための関数です。たとえば、10進数を2進数や16進数に変換したり、逆に他の進数から10進数に変換したりするときに使います。ウェブ開発やデータ処理の現場で、異なる進数表現を扱う際に非常に便利な関数です。
パラメータの説明
- number (string): 変換したい数値を表す文字列です。PHPでは大きな数値も文字列として扱うことが多いため、数値としての制限が緩やかです。
- frombase (int): 元の数値が何進数で表されているかを指定します。2から36までの整数を指定可能です。
- tobase (int): 変換後の進数を指定します。同じく2から36までの整数を指定可能です。
戻り値
指定した元の進数から、対象の進数に変換した結果の文字列が返されます。数字やアルファベット(a~z)を用いて表記されます。もしnumberが無効な形式であれば、返り値は不定になります。
使用例
基本的な使い方
<?php
echo base_convert('10', 10, 2); // 10進数の"10"を2進数に変換
?>
この例では、10進数の”10″を2進数に変換して1010が出力されます。
16進数から10進数への変換
<?php
echo base_convert('1a', 16, 10); // 16進数の"1a"を10進数に変換
?>
16進数の”1a”は10進数の26になるため、この値が表示されます。
2進数から36進数への変換
<?php
echo base_convert('1101010', 2, 36); // 2進数の"1101010"を36進数に変換
?>
2進数の”1101010″は10進数の106に相当し、36進数では2aとなります。
関連する関数
decbin(): 10進数を2進数文字列に変換するdechex(): 10進数を16進数文字列に変換するdecoct(): 10進数を8進数文字列に変換するbindec(): 2進数文字列を10進数に変換するhexdec(): 16進数文字列を10進数に変換する
まとめ
base_convertは、異なる進数間で数値を変換したい場合に非常に便利なPHP関数です。2から36進数まで対応し、文字列で数値を自由に扱えるため、大きな数値も問題なく変換できます。基本から応用まで幅広く使えるので、ぜひ覚えておくと実務で役立ちます。
