PHP

PHP

-PHP Tips- 第13回 substrの裏技

phpでスライスは出来ないの?【Tips】1文字だけならスライスが可能、しかも高速!【Description】スライスというのはpython、ruby、D言語などにある概念(関数)で、部分文字列を取得する方法です。phpでは通常subst...
PHP

-PHP Tips- 第12回 リテラルの展開

リテラルの展開はどのタイミングでするべき?【Tips】もちろん展開しておいた方が高速!【Description】例えば1日は86400秒ですが、これを86400と書くか60*60*24と書くかで実行速度は大きく変わってきます。count関...
PHP

-PHP Tips- 第11回 ob_start

ob_start関数はクッキーやtext/html以外のMIMEタイプを出力するためだけのもの?【Tips】ob_startを使うと数倍高速!【Description】ob_start関数はクッキーを用いる場合などによく使われますが、通常...
PHP

-PHP Tips- 第10回 strcmpと==

文字列を比較するstrcmp関数は何のためにあるの?【Tips】strcmpを使う方が僅かに高速!【Description】単純に同じかどうかを比較するのであれば、$hoge == "fuga"をテストする方法と、!strcmp($hog...
PHP

-PHP Tips- 第9回 switchの条件の順番

switch文に並べる条件の順番は?【Tips】出現頻度順に並べる方が高速!【Description】caseに並べる条件は出現頻度の多いものを先に書くべきです。以下のソースでは頻度0.7、0.2、0.1の順に並べて比較しましたが、もし数...
PHP

-PHP Tips- 第8回 ifとswitch

ifとswitch、どちらを使うべき?【Tips】ifの方が高速!【Description】同じ変数の複数の値をチェックする場合、if~else if~elseと、swith~case~defaultの2通りが考えられます。以下のソースで...
PHP

PHPAcceleratorとどう違うの?

ゼンド、PHPサイト向け高速化ソリューション最新版を発売。試したことが無いので、どのくらい加速するのかわからんなぁ。既存のソースがしょぼいのであれば、これをいっちょ採用するってのも手だよね。
PHP

-PHP Tips- 第7回 ブーリアン演算

if文などの条件節でtrue/falseと比較する?【Tips】true/falseと比較しない方が高速!【Description】if($flag == true)とif($flag)は等価です。同様にif($res = ex_func...
PHP

-PHP Tips- 第6回 count関数

配列のサイズを決めるのにcount関数を使うタイミングは?【Tips】forループの前にcount関数を呼ぶ!【Description】forループの終了判定にcount関数を入れてしまうと、ループの度にcount関数を実行してしまいます...
PHP

-PHP Tips- 第5回 文字列の連結

文字列の連結にはいくつかの方法があるけど、どれが速いの?【Tips】"(クォート)部分と変数を結合演算子(.)で結合!【Description】結合演算子で連結する方法、"(クォート)内に{}で変数を記述する方法、sprintfで連結する...
PHP

にゅーすの続き

カスタマイズ部分を書きました。表示するニュースはクッキーで保存しているので、クッキーを受け入れてやって下さい。あー、これでサイトを巡回する手間がだいぶ減らせるぅ。昼休みはコーディングタイム(笑)。
PHP

にゅーす

右のコラムのニュースを収集するphpを0から書き直しました。今まで動いていたものはPEARを使ってなかった上、正規表現もeregなので重くてリクエストの度にニュース部分を生成出来ないという状態でした。とりあえず数日間素振ってみてニュースの...
PHP

PHP5はそろそろ?

第3回 PHP5でXMLサポートが大幅強化。SimpleXMLもSQLiteも良いなぁ。確かにちょっとしたデータを保存するのにPostgreSQLとか叩くのは遅いもの。
PHP

-PHP Tips- 第4回 pgsql PEAR Cache

PEARのCacheを利用してPostgreSQLのクエリを高速化するには?【Tips】PEARのCacheクラスを継承!【Description】データベースの件数やSQLの複雑さに依存するので一概に言えないが、1万件のレコードをそのま...
PHP

-PHP Tips- 第3回 ForとWhile

ForでもWhileでも一緒じゃないの?【Tips】whileの方が若干高速!【Description】数%ながら有意な差が認められる程度、whileの方が高速 <?php define("WORK_TIME&quo...
PHP

-PHP Tips- 第2回 値渡しと参照渡し

値渡しだとメモリのコピーを伴うので、参照渡しより遅いよね?【Tips】phpだと値渡しの方が高速!【Description】参照渡しの方が5割ぐらい遅い結果が。常識的に言って参照渡しの方が高速なはずなんですが、何故でしょう?業務連絡:すま...
PHP

-PHP Tips- 第1回 eregとpregの比較

eregもpregも正規表現だけど、どちらが高速なの?【Tips】eregよりpregを使え!【Description】perl互換正規表現の方が、2.5倍は高速。phpの高速化のTipsをまとめたページがいまいち見つからないので、少しず...
Mac

mi用phpモードファイル更新

PEAR入ってない版を作り直しました。基本はphpの設定ファイルphp.iniにあるhighlightのルールですが、ちょっと変えてあります。1.1MBです。変数名などもハイライトされるようにキーワードなどを一部修正。関数のうち、ZEND...
PHP

ApacheのRefererログの解析

postanalogとかanalogurldecode.plとか色々試してみたんだけど、いくつか気に入らない点(集計がいまいちとか文字コードの制約とか)があったのと、decodeに失敗したりするのがイヤで、自前でphpで書いてみた。ただし...
PHP

おひさぁ

mi用phpモードファイルを公開したらアクセス数が伸びたってのもあるんだけど、もっと良いことが。密かに尊敬するRbJMLでお知り合いになったnaochan.comの戸塚さんからメールが。で、久々にサイトを拝見して、TOEICのスコアとかみ...
PHP

第6回 Webアプリケーション開発言語PHP(3)

第6回 Webアプリケーション開発言語PHP(3)。データクリーニングに使う関数群は必須。ereg使いまくり。
PHP

PEARも入れてみた

#PEAR入ってない版を更新したので、こちらは配布を終了しました。先日公開したmi用phpモードファイルが結構好評。が、アップルップル.コムさんところの記述に気になる一文が。「暇な時に PEAR DB系も登録しようかな。」分かりました、や...
PHP

mi用phpモードファイル

牛島康博さんという方がmi用のphpモードファイルを公開されていて、Syntaxを色分け表示できるのだけれど、かつて「ミミカキ」をつかっていた身としては、関数定義がぶち込めると便利だなぁと思ったので、作ってしまいました。 を...
PHP

やってるんだなぁ

第6回 Webアプリケーション開発言語PHP(2)ではコネクション・プーリングとかアクセラレータとか出てるんだけど、うちではすでにやってるんだなぁ。常識でしょ?(笑)。
PHP

人次第

「要は使い方次第」:楽天、PHPを語る。いつぞやのインタビューと同じ人なんだけど、使い方次第というより人次第だと思うな。PHPってどうとでも書けるから。
タイトルとURLをコピーしました