Заказ массив объектов на основе конкретного свойства
При обработке массивов объектов сортировка их на основе конкретных полей может иметь важное значение для управления данными. Чтобы сделать это, можно использовать функцию USORT, которая позволяет настраивать поведение сравнения.
настраиваемое сравнение с Usort:
]] для определения пользовательской функции сравнения в USORT, следуйте этой шаблоне:
function cmp($a, $b) { return strcmp($a->name, $b->name); } usort($your_data, "cmp");
В этом примере сравнение основано на свойстве «Имя» объектов. Вы можете заменить «Имя» на любое соответствующее свойство.
альтернативные параметры обратного вызова:
Помимо использования специальной функции, USORT также принимает любой вызов в качестве второго аргумента. Вот некоторые альтернативы:
usort($your_data, function($a, $b) { return strcmp($a->name, $b->name); });
usort($your_data, array($this, "cmp")); // where "cmp" is a method in the class
usort($your_data, fn($a, $b) => strcmp($a->name, $b->name));
сравнение числовых значений:
при упорядочении объектов на основе числовых свойств, рассмотрим следующую функцию сравнения:
fn($a, $b) => $a->count - $b->count
fn ($ a, $ b) => $ a-> count $ b-> count
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3