phpのforeachのkeyの数値っぽい文字の型
コード値をkeyに持つような連想配列で、ループでkey, valueをとって、 keyを文字列判定するような処理をしていてびっくりしたのでメモ。
<?php $a = array( '01' => 'val01', '02' => 'val02', '10' => 'val10', '11' => 'val11' ); $match = '10'; foreach ($a as $key => $value) { if ($key === $match) { echo 'match'; } }
これで、1件もマッチしないからなんでだろうーって思って型を見てみたら、 なんと、数値っぽいものはintになってしまう。。
string(2) "01" string(2) "02" int(10) int(11)