【初心者向け PHP 入門】キャスト変換とは?変数の型を変える方法と使用例

投稿日:

【初心者向け PHP 入門】キャスト変換とは?変数の型を変える方法と使用例

このページでは、PHP におけるキャスト変換について解説します。
プログラミング言語では、変数の型が重要であり、必要に応じて変数の型を変換する必要があります。

キャスト変換とは、変数のデータ型を別の型に変換する操作のことです。

PHPにおけるデータ型とは

PHP では、数値、文字列、真偽値など、様々なデータ型が存在します。
データ型によって異なる種類のデータを表現し、それぞれ異なる演算を適用できます。

数値 (integer, float) 整数と実数
文字列 (string) テキストデータ
真偽値 (boolean) 真 (true) または偽 (false)
配列 (array) 複数のデータをまとめたもの
オブジェクト (object) データと関数を組み合わせたもの

キャスト変換とは

キャスト変換は、変数のデータ型を別の型に変換する操作です。
例えば、文字列の “10” を整数 (integer) に変換したり、整数を文字列に変換したりすることができます。
 

 
PHPでは、「(型) 変数」の記述でキャストを変換することができます。

(int): 整数へのキャスト

文字列や浮動小数点数を整数に変換します。
 

 
・整数へのキャスト例

/*
* 文字列から整数への変換
*/
$string = "123";
$integer = (int) $string;

echo $integer; // 出力: 123
// $integer は整数型に変換された


/*
* 小数(浮動小数点数)から整数への変換
*/
$float = 3.14;
$integer2 = (int) $float;

echo $integer2; // 出力: 3
// 小数部分は切り捨てられる

ポイント

  • 文字列から整数へ変換することで、数値による計算が行えるようになります。
  • 小数部分を切り捨てる事ができるため、切り捨ての計算に使えます。
  • 変換できない場合は 0 が返されます。例えば、(int) ‘abc’ は 0 を返します。
ルナリス

ルナリス

文字列のままだと計算できないからint(整数)に変換することが多いわ

(float): 小数(浮動小数点数)へのキャスト

整数や文字列を浮動小数点数に変換します。
 

 
・小数(浮動小数点数)へのキャストの例

/*
* 整数から浮動小数点数への変換
*/
$integer = 10;
$float = (float) $integer;

echo $float; // 出力: 10
// $float は浮動小数点数型に変換された


/*
* 文字列から浮動小数点数への変換
*/
$string = "3.14";
$float2 = (float) $string;

echo $float2; // 出力: 3.14

ポイント

  • 文字列から浮動小数点数へ変換することで、小数の計算が行えるようになります。
  • 整数を浮動小数点数へ変換することで.0が付き、小数として扱えるようになります。
  • 変換できない場合は 0.0 が返されます。例えば、(int) ‘abc’ は 0.0 を返します。

(string): 文字列へのキャスト

整数、浮動小数点数など、様々な型を文字列に変換します。
 

 
・文字列へのキャスト例

/*
* 整数から文字列への変換
*/
$integer = 123;
$string = (string) $integer;

echo $string; // 出力: 123
// $string は文字列型に変換された

/*
* 小数から文字列への変換
*/
$float = 3.14;
$string2 = (string) $float;

echo $string2; // 出力: 3.14

ポイント

  • 数値として計算できなくなる点に注意
  • 整数や小数を文字列へと変換することで、文字結合や各種編集を行えるようになります。
ルナリス

ルナリス

文字列→整数、整数→文字列はよく使うわ

(bool): 真偽値へのキャスト

整数、浮動小数点数、文字列などを真偽値に変換します。
 

 
「0」,「false」,「空のデータ」を偽
「1」,「true」, 「それ以外の値」を真
と表します。
 

 
・真偽値へのキャスト例

/*
* 整数から真偽値への変換
*/
$integer = 123;
$bool = (bool) $integer;

echo $bool; // 出力: 1 (真)


/*
* 空の文字列から真偽値への変換
*/
$emptyString = "";
$bool2 = (bool) $emptyString;

echo $bool2; // 出力: なし (偽)
ルナリス

ルナリス

個人的にはあまり使わない印象ね

(array): 配列へのキャスト

単一の値 (整数、文字列など) を配列に変換します。
 

 
・配列へのキャスト例

$number = 123;
$array = (array) $number;

print_r($array); // 出力: Array ( [0] => 123 )

その他のキャスト変換

  • (object): オブジェクトへのキャスト
  • (callable): コール可能なオブジェクトへのキャスト

 

 
などが挙げられますが、難しいため今回は割愛します。

キャスト変換の別の書き方

「(型) 変数」の書き方が覚えやすくおすすめですが、別の書き方もあるため解説します。

intval() 整数に変換
floatval() 浮動小数点数に変換
strval() 文字列に変換

・キャスト変換例

// 文字列を整数に変換
$stringNumber = "10"; // 文字列として格納された数値
$integerNumber = intval( $stringNumber ); 
echo $integerNumber; // 出力: 10 (整数)

// 整数を文字列に変換
$number = 20; // 文字列として格納された数値
$stringAgain = strval( $number );
echo $stringAgain; // 出力: 20 (文字列)

// 文字列を小数に変換
$stringNumber = "22.5"; // 文字列として格納された数値
$integerNumber = floatval($stringNumber); 
echo $integerNumber; // 出力: 22.5 (小数)
ルナリス

ルナリス

別の書き方あったな程度の認識でOK

キャスト変換の注意点

変換できない場合は 「0」や 「null」 が返されることがあります。
変数が意図した値や型になっているかはしっかりと確認しましょう。

ルナリス

ルナリス

処理がおかしいと感じた場合は、変数の型の確認をしましょう

キャスト変換の活用例

キャスト変換の活用例

ユーザーからの入力 ユーザーが入力した値を数値に変換して計算する
データベースからのデータ データベースから取得したデータを適切な型に変換して処理する
計算結果の表示 計算結果を文字列に変換して表示する

まとめ

キャスト変換は、PHP プログラミングにおいて重要なスキルです。
変数の型を理解し、必要に応じてキャスト変換を行うことで、より柔軟で正確なコードを書くことができます。

コメント一覧

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です