【php】どうでもいいキャスト変換実験メモ
先週会社で型変換的なお勉強をしたのですが、時間的にも聞くに聞けなかったのでレッツ実験。
実験項目
- 型変換した変数のその後も変換されたまま?
- 型変換した変数を別変数に代入した場合、代入された方の型はどうなる?
こんなしょうもない実験を、とりあえずメモしただけのつまらない記事です。
- 実験コード
<?php $hoge1 = 1; $hoge2 = '2'; $hoge3 = "3"; var_dump($hoge1); var_dump($hoge2); var_dump($hoge3); echo "\n---1↓----\n"; (string)$hoge1; (int)$hoge2; (array)$hoge3; var_dump($hoge1); var_dump($hoge2); var_dump($hoge3); echo "\n---2↓----\n"; $huga1 = (string)$hoge1; $huga2 = (int)$hoge2; $huga3 = (array)$hoge3; var_dump($huga1); var_dump($huga2); var_dump($huga3); echo "\n---おまけ↓----\n"; $hoge = 1234567; var_dump((array)$hoge); var_dump((array)(string)$hoge); var_dump((string)(array)$hoge);
- 結果
int(1) string(1) "2" string(1) "3" ---1↓---- int(1) string(1) "2" string(1) "3" ---2↓---- string(1) "1" int(2) array(1) { [0]=> string(1) "3" } ---おまけ↓---- array(1) { [0]=> int(1234567) } array(1) { [0]=> string(7) "1234567" } string(5) "Array"
と、こんな感じでした。
型変換後の値は戻り値扱いなのですね。
しかし「(array)(string)$hoge」とか、普段やる機会まったくないので、ちょっと楽しかったw