Как сортировать селект по цену, по рейтингу, по стажу?

Сортировка селекта по различным критериям в PHP может быть достигнута с использованием функций для работы с массивами. Допустим, у нас есть массив записей, каждая из которых содержит информацию о товаре, такую как название, цена, рейтинг и стаж. Мы хотим отсортировать этот массив по цене, рейтингу и стажу.

1. Сортировка по цене:

Для сортировки по цене мы можем использовать функцию usort() и определить кастомную функцию сравнения, которая будет сравнивать элементы массива по их цене.

Пример кода:

function compareByPrice($a, $b) {
    if ($a['price'] == $b['price']) {
        return 0;
    }
    return ($a['price'] < $b['price']) ? -1 : 1;
}

usort($products, 'compareByPrice');

2. Сортировка по рейтингу:

Для сортировки по рейтингу мы также можем использовать функцию usort(), и в качестве кастомной функции сравнения сравнивать элементы массива по их рейтингу.

Пример кода:

function compareByRating($a, $b) {
    if ($a['rating'] == $b['rating']) {
        return 0;
    }
    return ($a['rating'] < $b['rating']) ? -1 : 1;
}

usort($products, 'compareByRating');

3. Сортировка по стажу:

Для сортировки по стажу мы также используем функцию usort() и определяем кастомную функцию сравнения, которая сравнивает элементы массива по их стажу.

Пример кода:

function compareByExperience($a, $b) {
    if ($a['experience'] == $b['experience']) {
        return 0;
    }
    return ($a['experience'] < $b['experience']) ? -1 : 1;
}

usort($products, 'compareByExperience');

Во всех трех случаях мы передаем наш массив товаров и имя кастомной функции сравнения в функцию usort(), которая отсортирует массив в соответствии с нашими требованиями. После выполнения кода массив $products будет отсортирован по цене, рейтингу или стажу, в зависимости от выбранного критерия.