- 2006-09-15 (金) 19:08
- PHP
この記事の所要時間: 約 2分1秒
settype()で変数の初期化を行おうという記事です。
IMHO, this is much more clear. Its a standard way to set the type and default value of your variables. You see, settype() assigns a default value to the variables if they do not exist already.
Initializing & typing variables with settype() « Ramblings of a web guy (2006-09-15)
まあCやJavaでいう
1 | int var; |
という事ですね。
データ型を定義したいというのは分かるのですが、PHPではあまり意味が無いように思えます。というのも、その変数に異なる型の値を入れるとデータ型が変わってしまうんですね。
1 2 3 4 5 6 7 8 9 10 11 12 13 | < ?php settype( $var , 'integer' ); printf( "\$var%s: %s\n" , $var , gettype ( $var )); $var = 123; printf( "\$var=%s: %s\n" , $var , gettype ( $var )); $var = 123.45; printf( "\$var=%s: %s\n" , $var , gettype ( $var )); $var = "abc" ; printf( "\$var=%s: %s\n" , $var , gettype ( $var )); ?> |
1 2 3 4 5 | > php -f test.php $var=0: integer $var=123: integer $var=123.45: double $var=abc: string |
ふつうに$var=0で初期化されている方が分かりやすいです。データ型を固定したいのであれば変数を参照する際にキャストするなりsprintf()するなりで変換した方が無難です。
データ型がキッチリ決まっている方が安心という考えは分かりますけどね。このへんは普段あまり意識しないところなんでちょっと新鮮でした。
- Newer: Themeを変えました
- Older: CakePHP 配列の考え方
トラックバック:0
- このエントリーのトラックバックURL
- /blog/2006/09/php_settype.html/trackback
- Listed below are links to weblogs that reference
- settypeで変数初期化 from Shin x blog