PDO::sqliteCreateCollation

(PHP 5 >= 5.3.11, PHP 7, PHP 8)

PDO::sqliteCreateCollation Registra uma Função Definida pelo Usuário para uso como função de collation em declarações SQL

Descrição

public PDO::sqliteCreateCollation(string $name, callable $callback): bool
Aviso

Esta função é EXPERIMENTAL. O comportamento desta função, seu nome e documentação poderão mudar sem aviso prévio em futuras versões do PHP. Use por sua conta e risco.

Parâmetros

name

Nome da função de collation SQL a ser criada ou redefinida.

callback

O nome de uma função PHP ou função definida pelo usuário a ser aplicada como chamada de retorno, definindo o comportamento da collation. Ela deve aceitar duas strings e retornar como strcmp(), ou seja, deve retornar -1, 1 ou 0 se a primeira string for ordenada antes, depois ou for igual à segunda.

Esta função precisa ser definida como:

collation(string $string1, string $string2): int

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de PDO::sqliteCreateCollation()

<?php
$db
= new PDO('sqlite::memory:');
$db->exec("CREATE TABLE test (col1 string)");
$db->exec("INSERT INTO test VALUES ('a1')");
$db->exec("INSERT INTO test VALUES ('a10')");
$db->exec("INSERT INTO test VALUES ('a2')");

$db->sqliteCreateCollation('NATURAL_CMP', 'strnatcmp');
foreach (
$db->query("SELECT col1 FROM test ORDER BY col1") as $row) {
echo
$row['col1'] . "\n";
}
echo
"\n";
foreach (
$db->query("SELECT col1 FROM test ORDER BY col1 COLLATE NATURAL_CMP") as $row) {
echo
$row['col1'] . "\n";
}
?>

O exemplo acima produzirá:

a1
a10
a2

a1
a2
a10

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top