教えてえろい人もえろくない人も

このプログラムの296行目のdo-while文の条件式辺りでエラーが出るんですが、その原因が分かる人が居たら教えて下さい。
さらに、エラーが起こるのはその前の287行目のif文で$sort_order=="fall"になったときだけなんですよね。
ちなみに、これは地域別にソートを行うんだけど、実際は地域別→開催日順→終了日順→大学名順にソートを行って、問題が起こってるのは2番目の開催日順に並べようとしたとき。
スクリプトPHPだけど、プログラム自体はCやperlがそれなりに分かれば分かると思います。
後、エディタの都合上タブの仕様が違うので、このままだと見にくいかもしれません。


補足説明としてユーザーソート:usort(配列名,"関数名")
配列を関数に飛ばしてソートを行う関数。
飛ばした先の関数は、aとbの比較を行ってその大小を数値で返せば成立。