intval

関数の概要

PHPの intval 関数は、指定した値を整数型(int)に変換するための関数です。文字列や浮動小数点数などの異なる型のデータを整数として扱いたい場合に便利です。特に数値の計算や型チェックを行う際によく使用されます。

パラメータの説明

  • mixed $var — 整数に変換したい値を指定します。型はどんなものでも構いません(文字列、浮動小数点数、論理値など)。
  • int $base(オプション) — 文字列を整数に変換する際の基数を指定します。デフォルトは10進数の 10 ですが、2(2進数)、8(8進数)、16(16進数)などを指定することもできます。

戻り値

入力値を整数に変換した結果が返されます。変換できない場合は 0 が返ります。文字列の場合は、先頭から数値として解釈できる部分のみを整数に変換します。負の値もしっかり処理されます。

使用例

基本的な使い方

<?php
echo intval("123");     // 出力: 123
echo intval(45.67);     // 出力: 45
echo intval(true);      // 出力: 1
echo intval(false);     // 出力: 0
?>

文字列や浮動小数点数、真偽値を整数に変換しています。小数点以下は切り捨てられます。

文字列の先頭に数値以外がある場合

<?php
echo intval("123abc");  // 出力: 123
echo intval("abc123");  // 出力: 0
echo intval("10.5 apples"); // 出力: 10
?>

先頭から数値として認識できる部分だけを変換し、先頭に数値がないと 0 が返ります。

基数($base)を使った変換

<?php
echo intval("11", 2);   // 出力: 3 (2進数の '11' を10進数に変換)
echo intval("ff", 16);  // 出力: 255 (16進数の 'ff' を10進数に変換)
echo intval("77", 8);   // 出力: 63 (8進数の '77' を10進数に変換)
?>

第二引数に基数を指定して、異なる進数の文字列を整数に変換できます。

関連する関数

  • floatval — 値を浮動小数点数に変換する
  • settype — 変数の型を指定の型に変更する
  • is_int — 変数が整数かどうかを判定する
  • (int) キャスト — 変数を整数にキャストする

まとめ

intval はPHPで値を整数に変換する際に非常に便利な関数です。文字列や浮動小数点数、論理値など様々な型に対応しており、数値の一部しか取得できない場合でも安全に整数化できます。基数を指定すれば2進数や16進数の文字列も変換可能なため、幅広い場面で役立ちます。数値の型変換が必要な初学者や実務開発者にとって必須の関数といえるでしょう。