но по идее так не должно быть, или я что-то не понимаю?Не понимаете. Так как вы получаете это "число" по сути из сторонней программы, то все что приходит "извне" не имеет типа, он не передается никаким способом. По этой причине, все что приходит в пхп (как впрочем и в любой другой язык) из внешних источников, а не из переменных самого языка, по умолчанию является строкой. Вопрос интерпретации и проверки типов в таком случае должен быть реализован "вручную" (например через floatval()), ну или как в данном случае, можно забить и предположить что пых сам разберется, что и к чему привести.
$query = array_values($query)[0];
это все равно, что так, верно?нет
$GET = [
"users" => ["one" =>'', "two" =>'', "three" =>''],
];
Ведь его значения равны тому, что я введу в поля.Вы путаете понятие представления, типа и интерпретации. Например, 111 !== '111' так как первое является числом, а второе строкой. Из браузера мы можем передать только набор байт, как его принимать и интерпретировать решает сервер. На сервере нет информации какой тип полей использовался для отправки, да и доверять форнтенду сервер не должен, по этому по умолчанию все что пришло интерпретируется как строка.
нужно два условия в одном if? первое это проверка на empty а второе это intval?Неужели чтение документации такая болезненная процедура? Чаще обращайтесь к докам, там практически все описано, в том числе и варианты применения.
Но что если, этот товар участвовал в "рекламе", и на него еще есть ссылки для перехода на других ресурсах,на других ресурсах это в рамках вашего сайта? Если да - можно адресовать на текущий урл, где товар доступен, если нет - это не ваш сайт, и следовательно у вас на сайте должно быть 404.
Я все перерыл, может есть примеры роутинга для такой структуры урлов, как в примере выше?обычно в роутере первые 2 параметра по умолчанию это имя контроллера и название экшена, все остальные параметры пути интерпретируются как массив параметров. Любой роутер умеет, можно от лары, можно любой популярный с гитхаба.
Была мысль для получения таких данных завести EntityRepository, в котором строить запросы используя createQueryBuilder, но на сколько понимаю, он должен быть привязан к какой-нибудь сущности.Напрашивается очевидный ход - сущность статистика, можно даже под нее таблицу завести, например для каких-то отчетов.
что такое локальное CRM?Гуглите CRM
и что такое роли в магазине?Гуглите RBAC