[PHP-users 414] Re: ちょっと複雑な並べ替えについて (usort)

Osamu Shigematsu php-users@php.gr.jp
Fri, 29 Jun 2001 18:24:42 +0900


重松です。藤沼さん、コメントありがとうございます。

> > クラスのメソッドとして定義した関数を呼ぶことができれば、グローバル変数を
作っ
> > たり、並べ替え関数を複数作ったりするという、いまいちなコードを書かなくて
済む
> > のですが、どのようにすれば、良いのでしょうか? 以下の場合、クラスのメソッ
ドで
> > ある、comp_files を呼びたいのですが。
>
> finder::comp_files($lhs, $rhs) で呼べませんか?

動作がインスタンスのプロパティの値により変わるため(sort_column,
 sort_order)、あくまでも、そのインスタンスの (?) メソッドを呼びたいのです
が、finder::comp_files というやり方だと、結局のところ、クラスのメソッドは呼
べるようですが、「並べ替え関数を複数作らなければ」ソートできないと思うのです
が、勘違いしていますでしょうか?

もっと平たくかくと、
    usort($this->data,$this->comp_files);
としたい、ということなんです。

もしかしたら、メソッド、もしくはプロパティを static にしておく必要があるので
しょうか?