php
一般的に最も高速なソートのアルゴリズムらしい。 アルゴリズム 1. 適当な数(ピボットという)を選択する (この場合はデータの総数の中央値が望ましい) 2. ピボットより小さい数を前方、大きい数を後方に移動させる (分割) 3. 二分割された各々のデータ…
繰り返しいろいろ。ループ回数も取得する場合。 foreach $value) { // なんらかの処理 echo $i++; } while foreachのように配列のコピーを作成しないのでメモリを節約できる
PHP5.3のラムダが普及すればわりと使えるかも。 クラス定義 $name; array_unshift($args, $this); // 自分自身を第一引数とする return call_user_func_array($method, $args); } } 実行 hello = create_function('$self', ' echo "Hello,…
PHP_ObjectでPHPマニュアルをパースしてCSVファイルを作成するサンプル http://jp.php.net/download-docs.php 一つのhtmlファイルとして配布されているPHPマニュアルから関数の説明部分をパースしCSVファイルを作成する。 ファイルはあらかじめダウンロード…
PHP_Object - openpear 実用性はほとんどないライブラリですが。 以下説明。 openpearに書いてあるものほとんどそのままです。 PHP_Object PHPを純粋なオブジェクト指向プログラミング言語っぽく書けるようにする。 主にメソッドチェーンするためのライブラ…
タイプヒンティング(Type Hinting)の拡張 PHPTypeSafeで目から鱗が落ちた Type Hints for scalar values これはすごい。 アイデアもそうですが方法が。 通常はエラーとなるところをset_error_handlerで、 コントロールするということのようです。 あまり変な…
気になったところをメモ。 スタティック変数 関数が終了しても破棄されない。関数内でしか使用できない。
PHP5で追加されたSPLのArrayAccessクラスを使うと、 配列っぽい書き方でクラスにアクセスすることができるみたいです。 配列演算子オーバーロードもしくは PHP 5 の配列エミュレート機能全般 ArrayAccess Interface Reference data = $array; } public funct…