(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_scan — Подготовка сканирования
$id
   , string $type
   , string $startterm
   [, array $flags
  ] )Функция подготавливает запрос сканирования для установленного соединения по протоколу Z39.50.
Чтобы передать запрос сканирования на сервер и получить ответ нужно вызвать функцию yaz_wait(). По заверению yaz_wait() вызовите yaz_error() для получения ошибки и yaz_scan_result() для получения результата.
idДескриптор соединения, возвращенный yaz_connect().
typeВ настоящее время поддерживается только rpn.
starttermНачальная элемент для сканирования
       Форма в которой представлен начальный элемент сканирования задается
       параметром type.
      
Синтаксис этого параметра схож с запросом RPN, который описан для yaz_search(). Он состоит из нуля или более операторных настроек @attr, за которыми следует единственная лексема.
flagsЭтот необязательный параметр определяет дополнительную информацию для управления поведением запроса сканирования. Из массива флагов доступны три индекса: number (количество запрашиваемых термов), position (позиция терма) и stepSize (размер шага).
Эта функция не возвращает значения после выполнения.
Пример #1 Функция PHP которая сканирует заглавия
<?php
function scan_titles($id, $startterm) 
{
  yaz_scan($id, "rpn", "@attr 1=4 " . $startterm);
  yaz_wait();
  $errno = yaz_errno($id);
  if ($errno == 0) {
    $ar = yaz_scan_result($id, $options);
    echo 'Scan ok; ';
    foreach ($options as $key => $val) {
      echo "$key = $val ";
    }
    echo '<br /><table>';
    while (list($key, list($k, $term, $tcount)) = each($ar)) {
      if (empty($k)) continue;
      echo "<tr><td>$term</td><td>$tcount</td></tr>";
    }
    echo '</table>';
  } else {
    echo "Scan failed. Error: " . yaz_error($id) . "<br />";
  }
}
?>