(PHP 4 >= 4.0.5, PECL yaz >= 0.9.0)
yaz_scan — Prépare un scan YAZ
$id,$type,$startterm,$flags = ?
   yaz_scan() prépare une requête 
   "Z39.50 Scan Request" sur la connexion YAZ spécifiée.
  
   Pour réellement transférer la requête "Scan Request"
   au serveur et recevoir le "Scan Response", 
   la fonction yaz_wait() doit être appelée. 
   Après la fin de yaz_wait(), appelez
   yaz_error() et yaz_scan_result()
   pour connaître la réponse.
  
idLa ressource de connexion retournée par yaz_connect().
type
       Actuellement seulement le type rpn est supporté.
      
starttermPoint de départ du scan.
       La forme dans laquelle le terme de départ est spécifié est donnée par
       le paramètre type.
      
       La syntaxe de ce paramètre est similaire à la requête RPN comme décrite
       dans yaz_search(). Cela consiste à aucune ou
       plusieurs spécifications d'opérateur @attr, ensuite
       suivies par exactement une seule marque.
      
flags
       Ce paramètre optionnel spécifie des informations supplémentaires pour
       contrôler le comportement de la requête de scan. Trois index sont
       actuellement lus à partir du tableau d'options :
       number (nombre de termes demandés),
       position (position préférée du terme) et
       stepSize (grandeur de pas préférée).
      
Aucune valeur n'est retournée.
Exemple #1 Fonction PHP qui analyse les titres sur un serveur YAZ
<?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 "Erreur de Scan. Erreur : " . yaz_error($id) . "<br />";
  }
}
?>