こんにちは、大学院でIT系の研究を専攻している、ひらりんです。
PHPはサーバーサイドで動く言語で、世界中の多くのWebサイトがPHPによって記述されています。一括してコンパイルするのではなく、実行時に一行ずつコンパイルされることから、随時コードを確認できるのも、初心者が取り掛かりやすい理由のひとつです。
本記事では、PHPのintの変換について説明します。PHPを始めとした、ほとんどのプログラムには、intという型があります。数値の文字列を計算したいときなどに、型の変換が必要です。しかし、プログラミング言語によって型の変換方法は違い、混乱しちゃいますよね。
PHPのintの変換について、基本構文だけでなく実際のコードを用いた解説もするので、PHPの学習を始めた方やプログラムを書く予定の人はぜひ読んでみてください!
目次
そもそも「型」とは?

プログラミングを学習していると、必ず出てくる「型」とは何か、説明できるでしょうか?簡単に説明すると、どういう性質か?ということになります。
PHPを始めとしたプログラム言語では、変数に色々な値を代入することができます。例えば、「abc」などの文字列型や、「123」などの整数型、「3.14」などの浮動小数点型などがあります。
C言語など、他の言語によっては変数に何を格納するか宣言する必要があります。しかし、PHPでは代入される対象を勝手に判断し、型を定義してもらえます。そのため、PHPではプログラムを組む際に、あまり気にしないかもしれませんね。
PHPには、以下のような型が用意されています。
| 型名 | |
| スカラー型 | 文字列型(string) | 
| 整数型(integer) | |
| 浮動小数点型(float) | |
| 論理型(boolean) | |
| 複合型 | オブジェクト型(object) | 
| 配列型(array) | |
| 特別型 | null型(null) | 
| リソース型(resource) | 
なお、PHPの他の型については、以下の記事を参考にしてください!
 ざっくりPHP入門(初心者〜中級者向け)
	            ざっくりPHP入門(初心者〜中級者向け)
	          
PHPのint型

では、PHPのint型について詳しく見ていきましょう。int型とは、integerの頭を取っており、整数型のことを指します。「0」や「20」、「-50」などの整数のことですね!では、int型の扱い方について見てみましょう。
PHPを始めとしたプログラミングにおいて、四則演算などの計算をしたい場面がありますよね。その場合、int型では以下のようにして計算を行うことができます。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // int型の変数を定義 $a = 10; $b = 5; // 四則演算 $plus = $a + $b;  // 足し算 $minus = $a - $b;  // 引き算 $mul = $a * $b;   // 掛け算 $div = $a / $b;   // 割り算 // 計算結果を表示 echo "足し算の結果は". $plus. "です";    // 「足し算の結果は15です」と表示される echo "引き算の結果は". $minus. "です";   // 「引き算の結果は5です」と表示される echo "掛け算の結果は". $mul. "です";     // 「掛け算の結果は50です」と表示される echo "割り算の結果は". $div. "です";     // 「割り算の結果は2です」と表示される | 
このように、変数$aと$bにはそれぞれ、「10」と「5」が代入されて、int型の変数と判定されています。整数を表すint型や、浮動小数のfloat型は、6~9行目のように計算をすることができます。その結果が、12行目以降に反映されて表示されます。
なお、文字列の連結をさせる方法などについては、以下の記事を参考にしてください!
 PHPで文字列を連結させる方法!カンマを使った方法も解説
	            PHPで文字列を連結させる方法!カンマを使った方法も解説
	          
変数をint型に変換しよう!

ここまで、PHPにおける型として、int型とそれ以外の違いなどについて説明してきました。先述したように、整数にて一般的な四則演算などの計算処理をしたい場合は、文字列などを整数のint型に変換する必要があります。ここでは、int型に変換する方法について説明します。
基本構文
| 1 | intval(値,基数) | 
int型に変更するには、intval関数を用います。第一引数に変更対象の値を指定し、第二引数に基数(2進数、10進数など)を数値で指定します。なお、第二引数に指定がなかった場合は、自動的に10進数として処理されます。
では、実際の例について見てみましょう。
実践コード例
| 1 2 3 4 5 6 7 8 9 10 11 12 | // 文字列にて変数$strを定義 $str = "10"; // 10進数のint型に変換 $num_1 = intval($str); // 2進数のint型に変換 $num_2 = intval($str,2); // 数値の結果を表示 echo $num_1;   // 「10」と表示される echo $num_2;   // 「2」と表示される | 
文字列で定義された変数$strを、intval関数で数値に変換するプログラムを記述しました。5行目で10進数のint型に変換した値を$num_1に格納し、8行目で2進数のint型に変換した値を$num_2に格納しています。
その結果が、11行目以降で表示されていますね。
このように、文字列に限らずint型以外の型から、int型に変換したい場合は、intval関数を用いることで簡単に型を変換することができます。
int型から他の型への変換
では、PHPのint型から他の型へ変換する方法について見てみましょう。ここでは、浮動小数点型のfloat型と、文字列型のstring型への変換方法を説明します。
float型へ変換
float型へ変換したい場合は、floatval関数を使用します。
| 1 | floatval(値) | 
floatvalの直後に値を指定することで、float型へ変換することができます。floatval関数は、文字列やint型から変換したいときに適したメソッドです。では、実際の使用例を見てみましょう。
| 1 2 3 4 5 6 7 8 9 | // 文字列にて変数$strを定義 $str = "10.5"; // int型にて変数$numを定義 $num = 5; // string型からのfloat型に変換 $res_1 = floatval($str); // int型からのfloat型に変換 $res_2 = floatval($num); | 
2,4行目で定義したstring型とint型の変数に対して、floatval関数を適用することでfloat型の$res_1と$res_2を得ることができます。
string型へ変換
string型へ変換したい場合は、strval関数を使用します。
| 1 | strval(値) | 
strvalの直後に値を指定することで、string型へ変換することができます。論理演算子のtrueに対しては戻り値が「1」となり、nullだった場合は空の文字列が格納されます。
| 1 2 3 4 5 6 7 8 9 10 11 12 13 | // int型の変数$num_1を定義 $num_1 = 10; // float型にて変数$num_2を定義 $num_2 = 5.7; // trueを変数に格納 $num_3 = true; // int型からのstring型に変換 $res_1 = strval($num_1);  // "10"が格納 // float型からのstring型に変換 $res_2 = strval($num_2);  // "5.7"が格納 // trueに対してstrval関数を適用すると、"1"が格納される $res_3 = strval($num_3);  // "1"が格納 | 
このように、int型やfloat型などから、strval関数を適用することで、string型を得ることができます。
まとめ

いかがでしたでしょうか?今回は、PHPのintの変換について、基礎メソッドから実践的な使用方法まで説明しました。
PHPを始めとした、プログラミングにおいて、型について理解をしておくことは欠かせません。ぜひ理解を深めて、Webサービス作成やシステム構築に活かしてください。







