Да и вообще, я считаю, что подготовленные запросы не столько для защиты предназначены,
Знаешь кого ты сейчас сейчас напоминаешь? Специалиста из этого анекдота
Ты себе кажешься офигенно умным, но на самом деле ты дурак-дураком, потому что дальше собственного носа не видишь. У тебя этот settype один в целом мире, ты мыслишь даже не строками кода, а отдельными командами. Посмотреть в масштабе приложения у тебя умишка не хватает. И даже представить себе не можешь, что что валидация входящих данных и работа с БД только у твоем воробьином говнокоде происходит в одном и том же месте. А в нормальном приложении код для работы с БД вообще не знает что там у тебя за формат - емейл или любовное послание с сердечками.
Да, я б****, давно в программировании. С большой долей вероятности - задолго до твоего вылупления на свет.
Есть такое выражение - "уставы пишутся кровью". Вот "использовать только подготовленные" - это и есть такой устав. Не потому что "религия", а потому что это простое в применении и однозначное правило. А весь твой зоопарк вприсядку - "тут регулярочка, там проверочка, тут типчик подхимичить , а здесь вообще не надо потому что данные и так безопасные" - это умные люди проходили уже сто раз, и сто раз дерьма на этом наелись.
) в высокоуровневых ЯП достаточно указать диапазон символов)
это ты серьёзно сейчас написал? я понимаю что ты тут за клоуна, но зачем так подставляться-то?
при чем здесь "высокоуровневые ЯП?" причем здесь "диапазон символов"?
John Didact, это и есть пляски :) вместо одного стандартного способа - метаться между десятком.
пока ты колупаешь процедурный говнокод, в котором у тебя в одной шведской семье свалены в кучу SQL, HTML, PHP, JS и какие нибудь ещё извращения - то тебе да, других забот нет кроме как сидеть морщить умишко, "а каким мы сегодня будем способом выполнять запрос?". А когда немножко поумнеешь и станешь писать код посложнее, то будут и проблемы поважнее, чтобы себя занять.
John Didact, ну вот ты и ответил на свой вопрос.
вместо 100500 регулярок, settype, (int) и прочих разнообразных плясок народов севера, один простой надежный механизм.
hellcaster, я предложил тебе подумать, а не строчить ответ.
Ну ок, самостоятельно не получается, давай думать вместе.
Когда ты смотришь на сайт qna.habr.com, кто при этом запрашивает картинки запрашивает картинки с hsto.org?
opsimecom, подумать головой, а не другим местом, и сообразить, что новый домен забанить для того сайта - это 5 секунд.
Потом поскрести у себя в поисках такой штуки как совесть, и вообще перестать заниматься такими вещами.
Ну если абстрагироваться от это словесной пикировки, то я я против поиска хитрых решений.
У тебя есть решение? Оно работает? Оно логичное и понятное? Оставь как есть.
Если вот прямо невмоготу сократить код - вынеси его в функцию.
вызов flatten_2d_array() будет всяко короче любых "встроенных механизмов", и в то же время не будет вызхывать проблем с поддержкой кода
Вообще я тут подумал , что для вопроса, который в заголовке, первый ответ вполне адекватный. То есть если брать в расчет повторное использование вопроса, то ответ правильный.
Так что я бы оставил два кода - первый для неограниченной вложенности, и добавил второй для чисто двухуровневого массива который у автора, и для которого рекурсия - это из пушки по воробьям
ну в три
но зато через месяц ты не будешь чесать репу, пытаясь понять те танцы вприсядку, которые тебе скормили ниже
зато с ложечки. на халяву-то и укскс сладкий
у автора никаких проблем нет
вопрос под удаление