Home > PHP > settypeで変数初期化

settypeで変数初期化

  • 2006-09-15 (金) 19:08
  • PHP
この記事の所要時間: 21

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でいう

int var;

という事ですね。

データ型を定義したいというのは分かるのですが、PHPではあまり意味が無いように思えます。というのも、その変数に異なる型の値を入れるとデータ型が変わってしまうんですね。

< ?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));
?>
> php -f test.php 
$var=0: integer
$var=123: integer
$var=123.45: double
$var=abc: string

ふつうに$var=0で初期化されている方が分かりやすいです。データ型を固定したいのであれば変数を参照する際にキャストするなりsprintf()するなりで変換した方が無難です。

データ型がキッチリ決まっている方が安心という考えは分かりますけどね。このへんは普段あまり意識しないところなんでちょっと新鮮でした。

Pocket

follow us in feedly

トラックバック:0

このエントリーのトラックバックURL
/blog/2006/09/php_settype.html/trackback
Listed below are links to weblogs that reference
settypeで変数初期化 from Shin x blog

Home > PHP > settypeで変数初期化

検索
フィード
メタ情報

Return to page top