用 属性 个对象上的对象对数组进行排序
Sort array with objects on property of objects
我想根据特定对象的 属性 对对象数组进行排序。这是我的对象数组:
如您所见,我有一个数组 $all_studies
,其中包含 2 个对象 。我现在如何对对象的 graduationYear
属性 进行排序?所以我想要一个包含对象的数组,首先是对象 2010 的顺序,然后是 2014,...(在这种情况下,顺序已经正确,但这并不总是相同的..)。
这是我尝试过但没有成功的方法:
$all_studies = usort($all_studies, "sort_objects_by_graduationyear");
function sort_objects_by_graduationyear($a, $b) {
if((int)$a->graduationYear == (int)$b->graduationYear){ return 0 ; }
return ($a->graduationYear < $b->graduationYear) ? -1 : 1;
}
但我刚 true
回来了。我从未使用过 usort 函数,所以我真的不知道如何使用它。有人可以帮助我吗?
函数 usort returns "true" 成功。所以,好消息:).
如果你想检查排序是否完成,你只需要在usort之后检查你的$all_studies对象。
$status = usort($all_studies, "sort_objects_by_graduationyear");
print_r($all_studies);
您将 usort
的值分配给 $all_studies
,即 true
和 false
,因此您没有获得所需的值。事实上,您只需要 sort
数组和 print
值及其全部完成
尝试
usort($all_studies, "sort_objects_by_graduationyear");
function sort_objects_by_graduationyear($a, $b) {
if((int)$a->graduationYear == (int)$b->graduationYear){ return 0 ; }
return ($a->graduationYear < $b->graduationYear) ? -1 : 1;
}
print_r($all_studies);
Return Values ¶
Returns TRUE on success or FALSE on failure.
我想根据特定对象的 属性 对对象数组进行排序。这是我的对象数组:
如您所见,我有一个数组 $all_studies
,其中包含 2 个对象 。我现在如何对对象的 graduationYear
属性 进行排序?所以我想要一个包含对象的数组,首先是对象 2010 的顺序,然后是 2014,...(在这种情况下,顺序已经正确,但这并不总是相同的..)。
这是我尝试过但没有成功的方法:
$all_studies = usort($all_studies, "sort_objects_by_graduationyear");
function sort_objects_by_graduationyear($a, $b) {
if((int)$a->graduationYear == (int)$b->graduationYear){ return 0 ; }
return ($a->graduationYear < $b->graduationYear) ? -1 : 1;
}
但我刚 true
回来了。我从未使用过 usort 函数,所以我真的不知道如何使用它。有人可以帮助我吗?
函数 usort returns "true" 成功。所以,好消息:).
如果你想检查排序是否完成,你只需要在usort之后检查你的$all_studies对象。
$status = usort($all_studies, "sort_objects_by_graduationyear");
print_r($all_studies);
您将 usort
的值分配给 $all_studies
,即 true
和 false
,因此您没有获得所需的值。事实上,您只需要 sort
数组和 print
值及其全部完成
尝试
usort($all_studies, "sort_objects_by_graduationyear");
function sort_objects_by_graduationyear($a, $b) {
if((int)$a->graduationYear == (int)$b->graduationYear){ return 0 ; }
return ($a->graduationYear < $b->graduationYear) ? -1 : 1;
}
print_r($all_studies);
Return Values ¶
Returns TRUE on success or FALSE on failure.