[PHP-users 7875] usortでユーザー定義の比較関数に引数を与える方法

矢澤 快暁 php-users@php.gr.jp
Mon, 3 Jun 2002 16:24:26 +0900


ども、矢澤です。

FAQレベルの質問で申し訳ありませんが、自分なりにいろいろ調べても
発見出来なかったので質問させて頂きます。

PHPは4.1.2です。

具体的にやりたい事を書きますと

配列$hogehogeの各要素を$split_charで分割し
$num番目の要素を比較するというユーザー定義関数を作りました。
それが以下 my_cmp です。

 function my_cmp($a, $b, $num, $split_char=',' ) {
  $a_array = explode( $split_char, $a );
  $b_array = explode( $split_char, $b );
  return( strcmp($a_array[$num],$b_array[$num]) );
 }

そしてこれを使ってusortを行いたいのですが

サンプルだとというような形式のものしか載っておらず
my_cmpの第3、第4引数をどうやって渡せばよいのでしょうか?
usort($hogehoge,"my_cmp");

また、上記の質問とは無関係なのですが定義済みの配列を
初期化(メモリの解放)する方法も併せて教えて下さい。

もし、既に同じような質問が過去にあった場合大変申し訳ありませんでした。
(一応、探したつもりですのでご勘弁を・・・)