テンプレート フィールド ($fields[3]) の 1 つでリストを並べ替えようとしていますが、これは日付が含まれるテキスト入力フィールドです。問題は、日付の形式が原因で、数字を比較しているだけだと思うため、正しくソートされないことです。
並べ替えが発生する前に日付形式を変更する必要があると思いますが、これまでのところ失敗しています。
私はそのように usort 関数を使用しようとしています (フィールド 3 は、この dd/mm/yyyy のようにフォーマットされた日付を持つものです)、
if (!function_exists('do_sort')) {
function do_sort($a, $b) {
return $a->fields[3] > $b->fields[3];
}}
$data = $params['data'];
usort($data, 'do_sort');
$smarty->assign('sorted', $data);
これはデータを並べ替えますが、以前と同じように、何も変更していないため、正しい順序ではありません。並べ替える前に日付を再フォーマットするのを手伝ってくれる人はいますか?
どうもありがとう
クリス