PDO::sqliteCreateCollation

(PHP 5 >= 5.3.11, PHP 7)

PDO::sqliteCreateCollation Registers a User Defined Function for use as a collating function in SQL statements

Açıklama

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

Bu işlev DENEYSELDİR. Bu işlevin davranışı, ismi ve belgeleri PHP'nin sonraki sürümlerinde hiçbir duyuru yapılmaksızın değiştirilebilir. Bu riski göze alamayacaksanız bu işlevi kullanmayın.

Değiştirgeler

name

Name of the SQL collating function to be created or redefined.

callback

The name of a PHP function or user-defined function to apply as a callback, defining the behavior of the collation. It should accept two strings and return as strcmp() does, i.e. it should return -1, 1, or 0 if the first string sorts before, sorts after, or is equal to the second.

This function need to be defined as:

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

Dönen Değerler

Başarı durumunda TRUE, başarısızlık durumunda FALSE döner.

Örnekler

Örnek 1 PDO::sqliteCreateCollation() example

<?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";
}
?>

Yukarıdaki örneğin çıktısı:

a1
a10
a2

a1
a2
a10

Notlar

Bilginize:

This method is not available with the SQLite2 driver. Use the old style sqlite API for that instead.