배열을 정렬하는 데 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;
}
}
위의 코드는 제가 지금 가지고있는 코드입니다. 원하는대로 작동하지 않습니다. 각 개체에는 보증 및 보증 설명이 있습니다. 보증이있는 경우 "Avaiable"이라고 표시됩니다.
코드는 보증 기간이 적용되며 오늘 날짜와 비교하여 보증 기간을 결정하고 해당 번호로 정렬하려고합니다.
아무런 보증이없는 항목이 배열의 맨 아래에 놓 이도록하려면 어떻게해야합니까?
Intresting. 나는 이것을 시험해보고 그것이 나에게 효과가 있는지 알려준다. 의견을 보내 주셔서 감사합니다! – Marc
내림차순으로 정렬하면 좋습니다. 고맙습니다! 오름차순에 대한 트릭이 있습니까? 디스플레이 최단 보증 기간 중 가장 길게 오름차순으로 표시 한 후 아무 것도 표시하지 않으므로? 지금 일어나고있는 일은 보증없이 처음으로 표시하는 것입니다. – Marc
마지막 표현식에서 두 용어를 바꿔서 결과의 반대쪽 끝으로 이동시켜야합니다. 그런 다음 보증을 포함한 분류를 모두 코드에 포함시킵니다. –