首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQLite3::createCollation

(PHP 5 >= 5.3.11, PHP 7)

SQLite3::createCollat??ion - 注册一个PHP函数用作SQL整理函数

描述

代码语言:javascript
复制
public bool SQLite3::createCollation ( string $name , callable $callback )

注册一个PHP函数或用户定义的函数,用作SQL语句中的整理函数。

参数

name

要创建或重新定义的SQL整理函数的名称

callback

用于定义排序行为的PHP函数或用户定义函数的名称。它应该接受两个字符串,并以strcmp()的形式返回,即,如果第一个字符串在之前排序,排序或等于第二个字符串,它应该返回-1,1或0。

返回值

成功时返回TRUE或失败时返回FALSE

示例

Example #1 SQLite3::createCollation() example

在SQLite3数据库中注册PHP函数strnatcmp()作为整理序列。

代码语言:javascript
复制
<?php

$db?=?new?SQLite3(":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->createCollation('NATURAL_CMP',?'strnatcmp');

$defaultSort?=?$db->query("SELECT?col1?FROM?test?ORDER?BY?col1");
$naturalSort?=?$db->query("SELECT?col1?FROM?test?ORDER?BY?col1?COLLATE?NATURAL_CMP");

echo?"default:\n";
while?($row?=?$defaultSort->fetchArray()){
????echo?$row['col1'],?"\n";
}

echo?"\nnatural:\n";
while?($row?=?$naturalSort->fetchArray()){
????echo?$row['col1'],?"\n";
}

$db->close();

?>

上面的例子将输出:

代码语言:javascript
复制
default:
a1
a10
a2

natural:
a1
a2
a10

另请参阅

← SQLite3::createAggregate

SQLite3::createFunction →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com