У меня есть следующий код, который пытается отсортировать массив продуктов по его дате создания:usort вопрос параметр
private function sortProductsByDate(Product $a, Product $b)
{
if ($a->getCreated() == $b->getCreated()) {
return 0;
}
return ($a->getCreated() < $b->getCreated()) ? -1 : 1;
}
/**
* Get the most 4 recent items
*
* @return \Doctrine\Common\Collections\Collection
*/
public function getMostRecentItems()
{
$userMostRecentItems = array();
$products = $this->getProducts();
usort($products, "sortProductsByDate");
foreach ($this->getProducts() as $product) {
ladybug_dump($product->getCreated());
}
$mostRecentItems = $this->products;
return $this->isLocked;
}
Почему это дает мне эту ошибку:
Warning: usort() expects parameter 1 to be array, object given
Идеи?
Вы упускаете ''; на предыдущую строку , –
@MichaelBerkowski теперь это другая ошибка – adit
Да, вы будете в неправильном контексте для обратного вызова. Вы прочитали 'usort()' docs] (http://php.net/manual/en/function.usort.php), чтобы увидеть раздел о вызове функции члена класса в качестве обратного вызова? –