KonstantinPR
@KonstantinPR
Разработчик PHP, VBA

Как посмотреть лежит ли передаваемое числовое значение переменной между значениями массива?

Суть задачи такая:
На сайте есть ползунок, который регулирует диапазон цен и передает 2 значения, например - "цену от=1000" и "цену до=2000"

в свою очередь данные значения являются элементами, например, такого массива:

$filters = [
    'Categories (xyz..)' => 'Обувь,Свадебная обувь по 1-ой паре',
    'Color' => ['белый', 'бежевый'],
    'Size' => '35',
    'Manufacturer' => 'кожзам',
    'Wholesale price' => [1000, 2000],
];


Имеем двумерный массив такого содержания, в котором будем искать указанный диапазон цен:

array (size=22)
  'A072C02' => 
    array (size=2)
      1 => 
        array (size=67)
          'ID' => string 'A072C02' (length=7)
          'Wholesale price' => float 1404
          'Color' => string 'белый' (length=10)
          'Size' => float 35
          '' => null
      2 => 
        array (size=67)
          'ID' => string 'A072C02' (length=7)
          'Wholesale price' => float 2100
          'Color' => string 'белый' (length=10)
          'Size' => float 36 '' => null


Так вот, задача: если цена (Wholesale price) не подходящая - то удаляем этот внутренний элемент массива (2ой, например). Задачу упростил как смог. Буду благодарен за правильное направление мысли.
  • Вопрос задан
  • 62 просмотра
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
.
$range = [1000, 2000];
foreach($items as $key => $item) {
  $price = $item['price'];
  if ($price < $range[0] || $price > $range[1]) {
   unset($items[$key]);
  }
}
Но если этот массив выбирается из базы, то наверное лучше это задать в запросе.
Ответ написан
@Vasiliy_M
Это тривиальная задача и это не делается на уровне php - это делается на уровне базы. Т.е. это задача базы дать необходимую выборку, сформировать массив. Иначе зачем тогда вообще нужен был бы SQL?
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
21 июля 2018, в 01:45
800 руб./в час
20 июля 2018, в 23:46
800 руб./за проект