2007年5月6日日曜日

PHPのparse_ini_fileでもハマってみた

PHPの関数で設定ファイルを読み込んで配列にしてくれるparse_ini_fileという
のを使ったら予想外の結果が出てビックリした。

設定ファイルを下のようにした場合、
01=taro
02=jiro
03=saburo
04=siro
05=goro
06=rokuro
07=sitiro
08=hatiro
09=kyuuro
10=juuro

配列の結果は
arr['01']=taro
arr['02']=jiro
arr['03']=saburo



arr['07']=sitiro
arr['08']=hatiro
arr['09']=kyuuro
arr['10']=juuro
だと思うじゃないですか?

違うんです。
結果は
arr['01']=taro
arr['02']=jiro
arr['03']=saburo



arr['07']=sitiro
arr['0']=kyuuro
arr['10']=juuro
でした。
「hatiro」が無くなって、「kyuuro」が[0]に振られているでは
無いですか。
なんで~。っと思って調べてみたらキーを数字に
した場合に先頭を0にすると8進数で数えるらしいです。っと
0xだと16進数だとさ。すっげー落とし穴にハマった。
だから0を先頭にした場合に、そもそも8、9が出てくる事自体がありえない
と。
言われて見ればそうだろうけど、そこはかなり意識の外。
私もまだまだだな。



0 件のコメント :

コメントを投稿