タグ

雑学とphpに関するiwwのブックマーク (3)

  • PHP で使う => や -> や :: が何という名前かを手っ取り早く調べる方法

    先日こんなことを言ったんだけど PHP のソースコードを読みやすくするための工夫あれこれ – 頭ん中 配列のキーと値を結ぶやつ、何て呼ぶのか知りませんけど => => や -> や :: の名前について一応の解決がついたので書いておきます。 パーサエラーが教えてくれる 例えばあるはずのないところに else があったりすると PHP はこういうエラーを返してきます。 Parse error: syntax error, unexpected T_ELSE in Command line code on line 1 この T_ELSE というのは「パーサトークン」というやつで、PHP 内部でつけられている名前ですね。T は Token の T かな。 else にはそのまま ELSE という名前がついているけど、じゃあ記号を使った部分はどうなっているのか、無理矢理エラーを発生させればわかる

    PHP で使う => や -> や :: が何という名前かを手っ取り早く調べる方法
  • ===による配列の比較は順序をチェックする【PHP】 - Programming Magic

    連想配列(ハッシュ)で作ったツリー構造の中に、ある配列(要するに部分木)が含まれているかをチェックする処理を実装しようと思ったときに、ふと==による配列の比較と===による配列の比較はどう違うのだろうと疑問が浮かんだ。==と===の違いについては、以前『厳密な比較 [PHP]』で詳しく調べてみたものの、配列の比較はあまり詳しく見ていなかった。 そこで==と===で配列の比較をした場合の違いを詳しく見てみたところ、意外なことがわかった。 まずは以下の例でどちらもtrueになることを確認する。 <?php $a = array( 'a' => 'x', 'b' => 'y', ); $b = array( 'a' => 'x', 'b' => 'y', ); var_dump($a == $b); var_dump($a === $b); ?> bool(true

  • include,include_onceの実行速度

    function getmicrotime(){ list($msec, $sec) = explode(" ", microtime()); return ((float)$sec + (float)$msec); } $timeS = getmicrotime();include("./hoge.php"); echo ( (float)( getmicrotime() - $timeS ) ); ?&gt;

    iww
    iww 2008/10/22
  • 1