@denism300

Как проверить, пустая ли категория?

Есть примерно такая структура полученных из БД массивов:
Категория (id)
Товар(id, cat_id)

Как в полученном массиве всех категорий выделить те, в которых нет товаров?
  • Вопрос задан
  • 61 просмотр
Решения вопроса 1
webinar
@webinar Куратор тега PHP
Учим yii: https://youtu.be/-WRMlGHLgRg
Или сформировать count запрос и проверять 0 там или нет: https://www.w3schools.com/sql/func_mysql_count.asp
или если массив уже есть, то перебрать в цикле, проверяя тот же count только средствами php: php.net/manual/ru/function.count.php
php.net/manual/ru/function.empty.php
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@dimoff66
Кратко о себе: Я есть
$categories = [
    ['id' => 1],
    ['id' => 2],
    ['id' => 3],
    ['id' => 4],
    ['id' => 5]
];

$products = [
    ['id' => 1, 'cat_id' => 2],
    ['id' => 2, 'cat_id' => 3],
    ['id' => 3, 'cat_id' => 2]
];

$categories_ids = array_flip(
        array_map(
            function ($v) {return $v['cat_id'];},
            $products
        )
    );

foreach ($categories as &$category) {
    $category['isEmpty'] = !isset($categories_ids[$category['id']]);
}

print_r($categories);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы