usortを使用して配列を並べ替えています。保証日を含むアレイがあります。そしてそれをソートするソート関数。しかし、私が抱えている問題は、アレイ内のすべてのアイテムに保証が付いているわけではないということです。配列を並べ替えたいのですが、常に日付のない配列を一番下に配置します。
function warrantyA($a, $b){
if($a->Warranty == "Available" and $b->Warranty == "Available"){
$a = explode('/', $a->WarrantyDescription);
$b = explode('/', $b->WarrantyDescription);
$today = date("d-m-Y");
$diffa = abs(strtotime($a[0]) - strtotime($today));
$diffb = abs(strtotime($b[0]) - strtotime($today));
$a = floor($diffa / 86400 / 30 );
$b = floor($diffb / 86400 / 30 );
return $a - $b;
}
}
上記は私が今持っているコードです。それは私が望むようには機能しません。各オブジェクトには、保証と保証の説明があります。保証がある場合は、「利用可能」と表示されます。
コードは保証を取得し、それを今日の日付と比較して、保証の残りの月数を決定します。その数で並べ替えたいと思います。
保証のないアイテムがアレイの一番下に配置されるように、これを機能させるにはどうすればよいですか?