logo

PHPコラム『関数仕様編 その2』

コラム「PHPer上級者になるために知っておきたいこと」

ヒューマンリソシア株式会社はPHP技術者認定機構の上級試験を題材とした古庄親方の コラム「PHPer上級者になるために知っておきたいこと」のvol.37 ‐ 『関数仕様編 その2』を公開しました。

###

今回も引数の話ですね。引数の型である「タイプヒンティング」について、少し学んでいきたいと思います。

PHPは所謂「動的型付け言語」になります。
「変数に明示的に型を指定せず、実行時に適切に型を推測してくれる」この型システムは大変に、
特に初学者にとっては便利なものではありますが。

「適切な推測」が、必ずしも本当に「プログラマの意図するところであるかどうか」については状況によるので、
場合によっては「困る」シチュエーションが、僅かながらに、存在します。
一つ、割と分かりやすい実例を。

$a = 2;
if (’2a’ == $a) {
echo “equal\n”;
} else {
echo “not equal\n”;
}

2aと2の比較なので当然………equalになります。trueです。falseにはなりません…困った事に。
是非、お手持ちの実行環境で試してみて下さい。
筆者はこの問題を勝手に「2a問題」と呼称していますが。
これを始めに聞いた時は、なにげに度肝を抜かれたものでございます。
近しい実例として、以下のケースで実際に「割と深刻な」問題を引き起こします。

(この続きはこちらから)
リンク

このプレスリリースの付帯情報

(画像をクリックすると拡大画像をご覧いただけます。)

関連情報
http://resocia.jp/
本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。

今日の主要記事