PHPで文字列型に変換するいくつかの方法です。
strval()や(string)でキャストする方法などが一般的ですが、単純にダブルクオートで変換もできます。
現在の型を確認する方法も最後にご紹介します。
” “(ダブルクオート)で文字列型に変換
|
1 2 3 4 5 |
// 整数(int)型の数値を変数に格納 $str = 1000; // 出力時に変数をダブルクオートで囲う var_dump("$str"); |
string(4) “1000”
''(シングルクオート)で囲ってしまうと、変数がそのまま文字列で出力されるため、必ず""(ダブルクオート)で囲いましょう。
キャスト演算子で文字列型に変換
|
1 |
var_dump((string)1000); |
string(4) “1000”
キャストは型を変換してくれる演算子です。
文字列型のキャストは(string)なので、1000という数値が文字列型の"1000"に変換されました。
strval関数で文字列型に変換
|
1 |
var_dump(strval(1000)); |
string(4) “1000”
strval()も(string)のキャストと同じ動作をします。
整数以外も変換できます。
|
1 2 3 4 |
var_dump(strval(0.56)); var_dump(strval(NULL)); var_dump(strval(true)); var_dump(strval(false)); |
string(4) “0.56”
string(0) “”
string(1) “1”
string(0) “”
nullとfalseは空文字""となり、trueは"1"になりました。
gettype関数で現在の型を確認する
var_dump()を使えばstringやintなど型も表示してくれますが、gettype()を使っても型を確認できます。
|
1 2 3 4 5 6 |
echo gettype('文字列型'); echo gettype(1000); echo gettype(0.56); echo gettype(NULL); echo gettype(true); echo gettype(array(1,2,3)); |
string
integer
double
NULL
boolean
array
このように型を表示してくれます。
PHPは型を意識せずに簡単にコーディングできるため、型については「おざなり」 になりがちです。
型を自動で変換したりもするため、"2歳"と2は同じ値だと判定してしまうこともあるのです。
型についての知識を持ってPHPを書くと、思わぬバグにハマることも減るでしょう。
