[PHP] 値を型変換してみる

intに変換

ここでは、文字列が入った変数をintに変換してみる。

キャスト演算子を使う

コード

// キャストを使う
$num_str = "256";
$num = (int)$num_str;
var_dump($num);

結果

int(256)

パッと見た感じわかりにくいけど、文字列の256からintの256に変わっています。

intval関数を使う

キャストと同じ結果を返してくれるけど、第二引数を使って基数変換することもできる。

コード

$num_str = '101';

// 基数変換 10進数(デフォルト)
$num = intval($num_str);
print_r($num);
print_r("\n");  // 改行

// 基数変換 2進数
$num = intval($num_str, 2);
print_r($num);
print_r("\n");  // 改行

// 基数変換 8進数
$num = intval($num_str, 8);
print_r($num);
print_r("\n");  // 改行

// 基数変換 16進数
$num = intval($num_str, 16);
print_r($num);
print_r("\n");  // 改行

結果

101  // 10進数
5 // 2進数
65 // 8進数
257 // 16進数

10進数は、そのまま101が表示されています。

2進数は、2^2 + 2^0 = 4 + 1 = 5
8進数は、8^2 + 8^0 = 64 + 1 = 65
16進数は、16^2 + 16^0 = 256 + 1 = 257

と変換することができました。

おわりに

今回は、値の変換を試す内容でした。

小さなサンプルですが、お役に立てば嬉しいです。

それでは、このへんで。
バイナリー!

参考

PHPのマニュアル

タイトルとURLをコピーしました