テクノロジー

PHPで型チェック

kyo asahina🦄's icon'
  • kyo asahina🦄
  • 2019/02/07 17:16


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版



公開日:2019/02/07
獲得ALIS:31.24
kyo asahina🦄's icon'
  • kyo asahina🦄
  • @kyoasahina
プログラマー(Web系)です。ツイッター:https://twitter.com/kyoplusplus Kindleで「Twigを覚える本」出版してます。http://amzn.to/2gOM9yC

投稿者の人気記事
コメントする
コメントする
こちらもおすすめ!
Eye catch
クリプト

17万円のPCでTwitterやってるのはもったいないのでETHマイニングを始めた話

Like token Tip token
46.60 ALIS
Eye catch
クリプト

Bitcoin史 〜0.00076ドルから6万ドルへの歩み〜

Like token Tip token
947.13 ALIS
Eye catch
クリプト

「ハッシュ」とは何なのか、必ず理解させます

Like token Tip token
0.10 ALIS
Eye catch
テクノロジー

iOS15 配信開始!!

Like token Tip token
7.20 ALIS
Eye catch
テクノロジー

なぜ、素人エンジニアの私が60日間でブロックチェーンゲームを制作できたのか、について語ってみた

Like token Tip token
270.93 ALIS
Eye catch
クリプト

Bitcoinの価値の源泉は、PoWによる電気代ではなくて"競争原理"だった。

Like token Tip token
159.32 ALIS
Eye catch
ゲーム

ドラクエで学ぶオーバフロー

Like token Tip token
30.10 ALIS
Eye catch
クリプト

ブロックチェーンの51%攻撃ってなに

Like token Tip token
0.00 ALIS
Eye catch
テクノロジー

彼女でも分かるように解説:ディープフェイク

Like token Tip token
32.10 ALIS
Eye catch
他カテゴリ

ALISのシステム概観

Like token Tip token
5.00 ALIS
Eye catch
他カテゴリ

機械学習を体験してみよう!(難易度低)

Like token Tip token
69.82 ALIS
Eye catch
テクノロジー

オープンソースプロジェクトに参加して自己肯定感を高める

Like token Tip token
85.05 ALIS