函数名称:yaz_search()
适用版本:PHP 4 >= 4.0.1, PHP 5, PHP 7
函数描述:yaz_search() 函数用于执行一个 Z39.50 搜索。
语法:yaz_search(resource $id, string $type, string $query)
参数:
- $id:Z39.50 连接资源,通过 yaz_connect() 函数获得。
- $type:搜索类型,可以是 "rpn" 或 "ccl"。
- $query:搜索查询字符串。
返回值:如果搜索成功,则返回一个结果集资源;如果搜索失败,则返回 FALSE。
示例:
// 创建 Z39.50 连接
$connection = yaz_connect("example.com", 210);
// 检查连接是否成功
if (!$connection) {
die("连接失败");
}
// 执行 Z39.50 搜索
$query = "ti=PHP";
$resultSet = yaz_search($connection, "rpn", $query);
// 检查搜索是否成功
if (!$resultSet) {
die("搜索失败");
}
// 获取搜索结果数量
$hits = yaz_hits($resultSet);
echo "总共找到 {$hits} 条结果\n";
// 遍历搜索结果并打印
for ($i = 1; $i <= $hits; $i++) {
$record = yaz_record($resultSet, $i, "string");
echo "结果 {$i}: {$record}\n";
}
// 关闭连接
yaz_close($connection);
以上示例演示了如何使用 yaz_search() 函数执行一个 Z39.50 搜索。首先,我们通过 yaz_connect() 函数创建一个 Z39.50 连接。然后,我们使用 yaz_search() 函数执行搜索,指定搜索类型为 "rpn",并传入查询字符串。如果搜索成功,我们可以通过 yaz_hits() 函数获取搜索结果数量,并使用 yaz_record() 函数遍历搜索结果并打印。最后,我们使用 yaz_close() 函数关闭连接。
请注意,示例中的参数和查询字符串仅供参考,您需要根据实际需求进行修改。另外,为了使用 yaz_search() 函数,您需要在 PHP 中启用 YAZ 扩展。