Я действительно смущен тем, как мне следует подходить / реализовывать функцию фильтра.
Так что я простой флажок с 4 значениями: val1, val2, val3, val4, который должен действовать как фильтр категорий.Если пользователь выбирает val1 и val3 будут показывать результаты только из этой категории.
Хорошо, поэтому проблема заключается в том, как мне реализовать эту функцию в бэкэнде.Я думаю, что лучшей идеей было бы использовать функцию switch, но проблема в том, что $ filterData возвращает значения в этом формате: val1, val3, val4, чтобы сработали переключатель и регистр.
Я думал о попыткечтобы взорвать его, используя «,» как клей, но из того, что я пробовал, у меня не получалось до сих пор.
Это должно работать примерно так
switch ($filterData)
{
case 'Values of filter data' (ex: val3 and val4 ):
$result[$value.'Results'] = $this->_$value($data);
break;
}
return $result;
Я пытался сделатьa
$filterData = implode(',',$filterData);
foreach ($filterData as $key => $value)
{
switch ($value){
case $value:
$result[$value.'Results'] = $this->_$value($data);
break;}
}
но проблема в том, что это вернет это:
Array
(
[value1Results] => value1
)
Array
(
[value1Results] => value1
[value2Results] => value2
)
Array
(
[value1Results] => value1
[value2Results] => value2
[value3Results] => value3
)
Есть идеи, как реализовать / исправить это?