クラス内部での自ソート定義
クラス内部で、usortにどうやって自ソートメソッドを渡すのか。
<?php $a = array( array(A, 3), array(B, 2), array(C, 1), ); class A { function A($a) { usort($a, array($this, "by_number")); reset($a); print_r($a); } function by_number($a, $b) { return $a[1] < $b[1] ? -1 : ($a[1] > $b[1] ? 1 : 0); } } $aa = new A($a); ?>
というように、
usort($a, array($this, "by_number"));
$thisが鍵。ちなみにクラス外で使う場合は、
usort($a, array("A", "by_number"));
とクラス名を指定する。