我正在使用以下方法通过对象属性对对象数组进行排序:在这里。
function cmp($a, $b)
{
return strcmp($a->name, $b->name);
}
usort($array_of_obj, "cmp"); //sorts array by object name
在我的情况下,对象属性存储在变量
$prop
中,这样我就可以选择要排序的属性(名称、日期等)。因此,我想要像这样的东西:function cmp($a, $b, $prop)
{
return strcmp($a->$prop, $b->$prop);
}
$prop = 'someproperty';
usort($array_of_obj, "cmp"); //sorts array by chosen object property, $prop
我遇到的问题是在调用"cmp"函数时无法将值传递给$prop参数。我不确定是否应该这样做,如果这是一个死路,还是有一些方法可以解决。我应该怎么办?