Я не знаю о DB2, но большинство библиотек будут возвращать строки в том случае, если вы укажете их в своем запросе, поэтому вы можете SELECT USERID
, SELECT userid
или SELECT UserId
, в зависимости от того, что вам больше подходит.
Ключи массива никогда не чувствительны к регистру.
Можно было бы написать класс, имитирующий массив (посмотрите на PHP.net. Вам потребуется реализовать интерфейс для достижения этой цели).Каждое значение, которое вы добавляете к нему, может быть добавлено во внутреннюю структуру массива, используя строчную версию ключа.При чтении значения вы также можете использовать строчную версию указанного ключа.По сути, это заставит ваш класс вести себя как нечувствительный к регистру массив.
Подобный класс можно использовать и в циклах for, но, к сожалению, он не может быть передан в функции, которые действительно требуют параметр массива.
Другое решение: если у вас довольно маленькийКоличество запросов, и ваш слой базы данных хорошо отделен от остальной части вашего приложения, вы можете применить какой-то перевод.Просто выполните итерацию по полученным массивам и сопоставьте их ключи с конкретным корпусом, который вам нравится, используя массив перевода.Например, создайте массив, содержащий ('lowercase' => 'CamelCase') версии имен ваших полей.Таким образом, вы можете легко найти имена и найти подходящий для них корпус.Используя найденные ключи, вы можете создать новый массив, прежде чем вернуть его запрашивающему коду.
Эти ключи по-прежнему не чувствительны к регистру, но они будут иметь нужный вам регистр.