kawama.jp

phpの連想配列の添字は必ずダブルクオートで囲むこと!

カテゴリ: PHP — タグ: , , , — 2007年10月17日 13:32 — Comments (0)hatebu count

以前、どこかのブログで

連想配列の添字は必ずダブルクオートで囲むこと!

というエントリを読んだことがあります。
つまり、こういうことです。

× $row[hoge]
○ $row["hoge"]

ダブルクオートなしとありでは、6倍近くパフォーマンスが変わってくるんだそうです。

というわけで、それを知ってからは必ず連想配列の添字はダブルクオートで囲むようにしていました。

そして今回、あるきっかけでこのダブルクオートの重要さを思い知ることになりました。。

きっかけは、2年近く前に作ったアプリケーションの動作が重たくなってきたことでした。2年の運用によってデータ量が多くなっており、ひとつの処理に数分かかって途中でタイムアウトしちゃったり、、といったことがしばしば。

ずっとDB側を疑っていました。SQLが効率悪いんじゃないか、とか、DBのチューニングが必要なんじゃないか、とか。

そしてある日、「そういえばこのアプリ、配列の添字をダブルクオートで囲んでいないな」ということを思い出しまして、特に重い処理を行うphpプログラムを選んで、添字をダブルクオートで囲んでやると、、、劇的に症状が改善!!

たしかに、このスクリプトでは何百回もループして同じ処理を繰り返しているので、積み重ねでどんどん重くなっていたんでしょう。たかがダブルクオート、されどダブルクオート、、、いい勉強になりました。

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment

Copyright (C) 2002 - 2017 kawama All Rights Reserved. — Powered by WordPress