PHPはデータ型に比較的寛容芯言語です。データの中身かう自動的に判断し、適切な入れ物(型)を割り当ててくれるのが、PHPのよいところです。しかし、PHPの寛容さだけに頼っていうれない場面もあります。例えば、以下のような値比較のケースです。
if ($i === $defs[‘age’]) { print(‘ selected’); }
カウンタ変数事lは数値、連想配列 $defs[‘age’] は文字列です。[===]演算子は値そのものだけでなく、データ型が一致しているかも判定しますので、(例えば)10と ’10’ は違うものとみなされてしまうのです。とのようなケースでは、型キャストというしくみを使って、データ型を明示的に変換する必要があります。
つまり、「変数$defs[‘age’]は整数(int)として扱ってね」とPHPに伝えているのです。これによって、変数$iと$defs[‘age’]は数値同士の比較となります。
Please give us your valuable comment