PHPで関数gettypeを使うと、stringやintegerなどの型情報を取得できます。
例えばこんな例文
<?php
$val = "666";
echo $val . "の型は" . gettype($val) ."\n";
$valには"666"という文字列が入っています。"でくくってるので文字列ですね。そこでgettypeを使って型情報を取得します。結果はこうなります。
php test.php
666の型はstring
これが数字で666と指定していれば、integerになります。
次は応用編。
<?php
$array = [
"apple" => "aomori",
"orange" => "wakayama",
"333" => "tokyo",
];
foreach ($array as $key => $val) {
echo $key . "の型は" . gettype($key) ."\n";
}
こうすると何が起こるかに注目です。連想配列$arrayのキーの型チェックをします。
appleやorangeはstringになるとして、"333"はどうなるのか?
php test.php
appleの型はstring
orangeの型はstring
333の型はinteger
こうした結果になりました。文字列だったはずの"333"がなぜかinteger扱いになっています。
これはそういうPHPの仕様です。配列のキーが「10進数のintとして妥当な形式」であれば、int型にキャストされる、といったものです。
----- 著 書 の 紹 介 ------
◆kyo asahinaの著書◆
PythonとQt5ではじめるGUIプログラミング for Windows (NKYS書房) Kindle版
テンプレートエンジンTwigを覚える本 Kindle版
Smarty 3を覚える本 Kindle版