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を書くと、思わぬバグにハマることも減るでしょう。