SELECT value1 AS pole1
SELECT value1 pole1
SELECT maker, 'marker' model, type
FROM product;
(запрос) x (или (запрос) as x) - это результат запроса служит новой временной таблицей для другого запроса.
in_array((string)$attributes_id, $filter, true)
соглашусь с вами, не имеет никакого смысла.
Ваш вариант вполне неплохой, разве что теперь отпадает вообще надобность проверять типизацию в in_array, Вы же сами весь массив привели к int :)
А вообще, какой смысл здесь в проверке со строгой типизацией?.. Конкретно в данном случае, какая разница между 1 и "1"? Я предполагаю, что тут это излишне.
if ($filter) {
foreach ($filter as $value) {
$value = (int)$value;
}
}
Теперь понятно. Спасибо!