php

PHPでクイックソートというものをやってみた

一般的に最も高速なソートのアルゴリズムらしい。 アルゴリズム 1. 適当な数(ピボットという)を選択する (この場合はデータの総数の中央値が望ましい) 2. ピボットより小さい数を前方、大きい数を後方に移動させる (分割) 3. 二分割された各々のデータ…

PHPの配列ループ

php

繰り返しいろいろ。ループ回数も取得する場合。 foreach $value) { // なんらかの処理 echo $i++; } while foreachのように配列のコピーを作成しないのでメモリを節約できる

PHPで特異メソッド(っぽいもの)

php

PHP5.3のラムダが普及すればわりと使えるかも。 クラス定義 $name; array_unshift($args, $this); // 自分自身を第一引数とする return call_user_func_array($method, $args); } } 実行 hello = create_function('$self', ' echo "Hello,…

PHP_ObjectでPHPマニュアルをパースするサンプル

php

PHP_ObjectでPHPマニュアルをパースしてCSVファイルを作成するサンプル http://jp.php.net/download-docs.php 一つのhtmlファイルとして配布されているPHPマニュアルから関数の説明部分をパースしCSVファイルを作成する。 ファイルはあらかじめダウンロード…

openpearでPHP_Objectというライブラリを公開しました

php

PHP_Object - openpear 実用性はほとんどないライブラリですが。 以下説明。 openpearに書いてあるものほとんどそのままです。 PHP_Object PHPを純粋なオブジェクト指向プログラミング言語っぽく書けるようにする。 主にメソッドチェーンするためのライブラ…

PHPの黒魔術

php

タイプヒンティング(Type Hinting)の拡張 PHPTypeSafeで目から鱗が落ちた Type Hints for scalar values これはすごい。 アイデアもそうですが方法が。 通常はエラーとなるところをset_error_handlerで、 コントロールするということのようです。 あまり変な…

プログラミングPHP 第2版を読んだ

気になったところをメモ。 スタティック変数 関数が終了しても破棄されない。関数内でしか使用できない。

PHP、オブジェクトに配列っぽく[]でアクセスできるように

php

PHP5で追加されたSPLのArrayAccessクラスを使うと、 配列っぽい書き方でクラスにアクセスすることができるみたいです。 配列演算子オーバーロードもしくは PHP 5 の配列エミュレート機能全般 ArrayAccess Interface Reference data = $array; } public funct…