PDO::sqliteCreateFunction Регистрация пользовательской функции для использования в SQL-запросах &reftitle.description; public boolPDO::sqliteCreateFunction stringfunction_name callablecallback intnum_args-1 intflags0 &warn.experimental.func; Этот метод позволяет вам регистрировать функцию PHP как пользовательскую функцию SQLite (User Defined Function, UDF), что позволит использовать её в SQL-запросах. UDF можно использовать в любом SQL-запросе, в котором позволяется использовать функции, например SELECT, UPDATE, а также в триггерах. &reftitle.parameters; function_name Имя функции для использовании в запросах. callback Функция обратного вызова для обработки вызовов SQL-функции. Функция обратного вызова должна возвращать значение понятного SQLite типа (то есть скалярного типа). Эта функция должна быть определена следующим образом: mixedcallback mixedvalue mixedvalues value Первый аргумент передаваемый в SQL-функцию. values Последующие аргументы. num_args Количество аргументов, которое принимает функция. Если задать равным -1, то функция будет принимать любое количество аргументов. flags Побитовая конъюнкция (ИЛИ) флагов. На данный момент поддерживается только флаг PDO::SQLITE_DETERMINISTIC, который определяет то, что функция всегда возвращает одинаковый результат для одинаковых входных значений. &reftitle.returnvalues; &return.success; &reftitle.changelog; &Version; &Description; 7.1.4 Добавлен параметр flags. &reftitle.examples; Пример использования <function>PDO::sqliteCreateFunction</function> sqliteCreateFunction('md5rev', 'md5_and_reverse', 1); $rows = $db->query('SELECT md5rev(filename) FROM files')->fetchAll(); ?> ]]> В этом примере мы определили функцию, вычисляющую md5 сумму строки и переворачивающую её. Когда SQL-запрос будет запущен, полученные значения filename будут преобразованы этой функцией. Результирующий набор $rows будет содержать преобразованные значения. Красота подобного подхода заключается в том, что вам не нужно после получения результирующего набора пробегаться по нему циклом &foreach; для вычисления нужных значений. Вы можете использовать и для переопределения стандартных агрегирующих функций SQLite. &reftitle.seealso; sqlite_create_function sqlite_create_aggregate