# php_manual

id: similar_text
type: function
doc:
<comment>Description:</comment>
  Calcule la similarité de deux chaînes
  
  Calcule la similarité entre les deux chaînes <strong>$string1</strong> et <strong>$string2</strong>, selon la méthode décrite dans
  Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1).
  Notez que cette implémentation n'utilise pas la méthode de pile comme dans le pseudo code
  d'Oliver, mais des appels récursifs, ce qui accélère ou pas le processus. Notez que la complexité
  de l'algorithme est en O(N**3) où N est la taille de la plus grande chaîne.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  La première chaîne.
  <info>string</info>  <strong>$string2</strong>  La seconde chaîne.
                    
                    Inverser <strong>$string1</strong> et <strong>$string2</strong> peut produire des résultats différents ; voir
                    l'exemple ci-dessous.
  <info>float</info>   <strong>$percent</strong>  En passant une référence en tant que troisième argument, <strong>similar_text()</strong> va
                    calculer la similarité en pourcentage, en divisant le résultat de <strong>similar_text()</strong>
                    par la moyenne de la longueur des chaîne de caractères fournies fois <return>100</return>.

<comment>Return:</comment>
  <info>int</info>  Retourne le nombre de caractères correspondant dans les deux chaîne de caractères.
       
       Le nombre de caractères correspondant est calculés en trouvant la première plus longue
       sous-chaîne commune, et puis faire ceci pour les préfixes et les sufixes, de façon récursive.
       La longueur de toutes les sous-chaînes communes sont ajoutées.

<comment>See Also:</comment>
   * <strong>levenshtein()</strong>
   * <strong>soundex()</strong>


id: simplexml_import_dom
type: function
doc:
<comment>Description:</comment>
  Construit un objet SimpleXMLElement à partir d'un
     objet DOM
  
  <strong>simplexml_import_dom()</strong> prend un nœud d'un document DOM et la transforme en nœud <class>SimpleXML</class>. Ce
  nouvel objet peut alors être utilisé comme un objet natif  <class>SimpleXML</class>.

<comment>Param:</comment>
  <info>SimpleXMLElement|DOMNode</info>  <strong>$node</strong>        Un élément DOM
  <info>string|null</info>               <strong>$class_name</strong>  Vous pouvez utiliser ce paramètre optionnel afin que
                                         <strong>simplexml_load_string()</strong> retourne un objet de la classe
                                         spécifiée. Cette classe doit étendre la classe
                                         <info>SimpleXMLElement</info>.

<comment>Return:</comment>
  <info>SimpleXMLElement|null</info>  Retourne un objet <class>SimpleXMLElement</class> ou <info>null</info> en cas d'échec.

<comment>See Also:</comment>
   * <strong>dom_import_simplexml()</strong>
   * 


id: simplexml_load_file
type: function
doc:
<comment>Description:</comment>
  Convertit un fichier XML en objet
  
  Convertit le document XML <strong>$filename</strong> en un objet de type <info>SimpleXMLElement</info>.

<comment>Param:</comment>
  <info>string</info>       <strong>$filename</strong>             Chemin vers le fichier XML
  <info>string|null</info>  <strong>$class_name</strong>           Vous pouvez utiliser ce paramètre optionnel et ainsi, la
                                     fonction <strong>simplexml_load_file()</strong> retournera un objet de la classe
                                     spécifiée. Cette classe doit étendre la classe
                                     <info>SimpleXMLElement</info>.
  <info>int</info>          <strong>$options</strong>              Opération de 'OU' logique des constantes d'option libxml.
  <info>string</info>       <strong>$namespace_or_prefix</strong>  Préfixe ou l'URI de l'espace de noms.
  <info>bool</info>         <strong>$is_prefix</strong>            <info>true</info> si <strong>$namespace_or_prefix</strong> est un préfixe, <info>false</info> si c'est
                                     l'URI ; par défaut, <info>false</info>.

<comment>Return:</comment>
  <info>SimpleXMLElement|false</info>  Retourne un objet de la classe <info>SimpleXMLElement</info> dont les propriétés
                          contiennent les données du document XML,  ou <info>false</info> si une erreur survient.
                          
                          Cette fonction peut retourner <info>false</info>, mais elle peut aussi retourner une
                          valeur équivalent à <info>false</info>. Veuillez lire la section sur les booléens pour
                          plus d'informations. Utilisez l'opérateur === pour tester la valeur de
                          retour exacte de cette fonction.

<comment>See Also:</comment>
   * <strong>simplexml_load_string()</strong>
   * SimpleXMLElement::__construct
   * 
   * <strong>libxml_use_internal_errors()</strong>
   * 
   * <strong>libxml_set_streams_context()</strong>


id: simplexml_load_string
type: function
doc:
<comment>Description:</comment>
  Convertit une chaîne XML en objet
  
  Convertit la chaîne XML <strong>$data</strong> et retourne un objet de la classe <info>SimpleXMLElement</info>.

<comment>Param:</comment>
  <info>string</info>       <strong>$data</strong>                 Une chaîne XML valide
  <info>string|null</info>  <strong>$class_name</strong>           Vous pouvez utiliser le paramètre optionnel et, ainsi, la
                                     fonction <strong>simplexml_load_string()</strong> retournera un objet de la
                                     classe spécifiée. Cette classe doit étendre la classe
                                     <info>SimpleXMLElement</info>.
  <info>int</info>          <strong>$options</strong>              Opération de 'OU' logique des constantes d'option libxml.
  <info>string</info>       <strong>$namespace_or_prefix</strong>  Préfixe ou URI de l'espace de noms.
  <info>bool</info>         <strong>$is_prefix</strong>            <info>true</info> si <strong>$namespace_or_prefix</strong> est un préfixe, <info>false</info> si c'est
                                     l'URI.

<comment>Return:</comment>
  <info>SimpleXMLElement|false</info>  Retourne un objet de la classe <info>SimpleXMLElement</info> dont les propriétés
                          contiennent les données du document XML,  ou <info>false</info> si une erreur survient.
                          
                          Cette fonction peut retourner <info>false</info>, mais elle peut aussi retourner une
                          valeur équivalent à <info>false</info>. Veuillez lire la section sur les booléens pour
                          plus d'informations. Utilisez l'opérateur === pour tester la valeur de
                          retour exacte de cette fonction.

<comment>See Also:</comment>
   * <strong>simplexml_load_file()</strong>
   * SimpleXMLElement::__construct
   * 
   * <strong>libxml_use_internal_errors()</strong>
   * 


id: sin
type: function
doc:
<comment>Description:</comment>
  Sinus
  
  <strong>sin()</strong> retourne le sinus de <strong>$num</strong> (<strong>$num</strong> in radians).

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  Une valeur, en radians

<comment>Return:</comment>
  <info>float</info>  Le sinus de <strong>$num</strong>.

<comment>See Also:</comment>
   * <strong>asin()</strong>
   * <strong>sinh()</strong>
   * <strong>cos()</strong>
   * <strong>tan()</strong>
   * <strong>deg2rad()</strong>


id: sinh
type: function
doc:
<comment>Description:</comment>
  Sinus hyperbolique
  
  Retourne le sinus hyperbolique de <strong>$num</strong>, défini comme <return>(exp($num) - exp(-$num))/2</return>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  L'argument à traiter

<comment>Return:</comment>
  <info>float</info>  Le sinus hyperbolique de <strong>$num</strong>.

<comment>See Also:</comment>
   * <strong>sin()</strong>
   * <strong>asinh()</strong>
   * <strong>cosh()</strong>
   * <strong>tanh()</strong>


id: sizeof
type: function
doc:
<comment>Description:</comment>
  Alias de count
  
  Cette fonction est un alias de :  <strong>count()</strong>.


id: sleep
type: function
doc:
<comment>Description:</comment>
  Arrête l'exécution durant quelques secondes
  
  Arrête l'exécution du programme pendant <strong>$seconds</strong> secondes.
  
  Afin de retarder l'exécution d'un programme pendant une fraction de seconde, utilisez la fonction
  <strong>usleep()</strong> car la fonction <strong>sleep()</strong> attend un entier. Par exemple, sleep(0.25) retardera l'exécution
  du programme pendant <return>0</return> seconde.

<comment>Param:</comment>
  <info>int</info>  <strong>$seconds</strong>  Le temps d'arret, en nombre de secondes (doit être supérieur ou égal à <return>0</return>).

<comment>Return:</comment>
  <info>int</info>  Retourne zéro en cas de succès.
       
       Si l'appel est interrompu par un signal, la fonction <strong>sleep()</strong> retournera une valeur différente
       de zéro. Sous Windows, la valeur sera toujours de <return>192</return> (la valeur de la constante
       <info>WAIT_IO_COMPLETION</info> de l'API Windows). Sous les autres plateformes, la valeur retournée sera
       le nombre de secondes restantes à la fonction <strong>sleep()</strong>.

<comment>See Also:</comment>
   * <strong>usleep()</strong>
   * <strong>time_nanosleep()</strong>
   * <strong>time_sleep_until()</strong>
   * <strong>set_time_limit()</strong>


id: snmp2_get
type: function
doc:
<comment>Description:</comment>
  Récupère un objet SNMP
  
  La fonction <strong>snmp2_get()</strong> est utilisée pour lire la valeur d'un objet SNMP spécifié par le paramètre
  <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   L'agent SNMP.
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  L'identifiant de l'objet SNMP.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>    Le nombre de tentative dans le cas où le délai d'expiration survient.

<comment>Return:</comment>
  <info>mixed</info>  Retourne la valeur de l'objet SNMP en cas de succès, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>snmp2_set()</strong>


id: snmp2_getnext
type: function
doc:
<comment>Description:</comment>
  Récupère l'objet SNMP qui suit immédiatement
     l'identifiant de l'objet fourni
  
  La fonction <strong>snmp2_get_next()</strong> est utilisée pour lire la valeur de l'objet SNMP qui suit
  immédiatement l'objet <strong>$object_id</strong> spécifié.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   Le nom d'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  L'identifiant de l'objet SNMP qui précède celui voulu.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>    Le nombre de tentative dans le cas où le délai d'expiration survient.

<comment>Return:</comment>
  <info>mixed</info>  Retourne la valeur de l'objet SNMP en cas de succès, ou <info>false</info> si une erreur survient. Dans
         le cas où une erreur survient, une alerte de type E_WARNING sera émise.

<comment>See Also:</comment>
   * <strong>snmp2_get()</strong>
   * <strong>snmp2_walk()</strong>


id: snmp2_real_walk
type: function
doc:
<comment>Description:</comment>
  Retourne tous les objets incluant les identifiants de leurs objets
     respectifs
  
  La fonction <strong>snmp2_real_walk()</strong> est utilisée pour parcourir un nombre d'objets SNMP en commençant
  par l'objet identifié par <strong>$object_id</strong> et retourne non seulement leurs valeurs, mais aussi les
  identifiants de leurs objets.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   Le nom d'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  L'identifiant de l'objet SNMP qui précède celui désiré.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>    Le nombre de tentatives dans le cas où le délai d'expiration survient.

<comment>Return:</comment>
  <info>array|false</info>  Retourne un tableau associatif d'identifiants d'objets SNMP ainsi que leurs valeurs
               en cas de succès ou <info>false</info> une erreur survient. Dans le cas où une erreur survient,
               une alerte de type E_WARNING sera émise.

<comment>See Also:</comment>
   * <strong>snmp2_walk()</strong>


id: snmp2_set
type: function
doc:
<comment>Description:</comment>
  Définit la valeur d'un objet SNMP
  
  La fonction <strong>snmp2_set()</strong> est utilisée pour définir la valeur d'un objet SNMP spécifié par son
  identifiant <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   Le nom d'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$community</strong>  La communauté d'écriture.
  <info>array|string</info>  <strong>$object_id</strong>  L'identifiant de l'objet SNMP.
  <info>array|string</info>  <strong>$type</strong>       Le MIB définit le type de chaque identifiant d'objets. Il doit
                            être spécifié sous la forme d'un simple caractère depuis la liste
                            suivante.
                            
                            Si la constante <info>OPAQUE_SPECIAL_TYPES</info> a été définie lors
                            de la compilation de la bibliothèque SNMP, les caractères suivants
                            seront également disponibles :
                            
                            La plupart de ces valeurs utilise le type ASN.1 correspondant. 's', 'x',
                            'd' et 'b'
                            sont toutes des façons différentes de spécifier la valeur OCTET STRING
                            et le type non-signé
                            'u' est également utilisé pour gérer les valeurs Gauge32.
                            
                            Si les fichiers MIB sont chargés dans l'arbre MIB avec "snmp_read_mib"
                            ou en les spécifiant
                            dans la configuration de libsnmp, '=' pourra être utilisé comme
                            paramètre
                            de type pour tous les identifiants d'objets, vu que le type peut
                            automatiquement être lu depuis le MIB.
                            
                            Notez qu'il y a 2 façons de définir une variable de type BITS like i.e.
                            "SYNTAX    BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5),
                            https(6)}":
                            
                            En utilisant le type "b" et une liste d'octets. Cette méthode n'est pas
                            recommandée vu que la requête GET pour un même OID retournera i.e. 0xF8.
                            
                            En utilisant le type "x" et un nombre hexadécimal mais sans(!) le
                            préfixe usuel "0x".
                            
                            Reportez-vous à la section sur les exemples pour plus de détails.
  <info>array|string</info>  <strong>$value</strong>      La nouvelle valeur.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>    Le nombre de tentatives dans le cas où le délai d'expiration survient.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.
        
        Si l'hôte SNMP rejète le type de données, une alerte de type E_WARNING sera émis, comme
        "Warning: Error in packet. Reason: (badValue) The value given has the wrong type or
        length.". Si un OID inconnu ou invalide est spécifié, l'alerte émise contiendra probablement
        ceci : "Could not add variable".

<comment>See Also:</comment>
   * <strong>snmp2_get()</strong>


id: snmp2_walk
type: function
doc:
<comment>Description:</comment>
  Récupère tous les objets SNMP depuis un agent
  
  La fonction <strong>snmp2_walk()</strong> est utilisée pour lire toutes les valeurs depuis un agent SNMP spécifié
  par le paramètre <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   L'agent SNMP (serveur).
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  Si <info>null</info>, <strong>$object_id</strong> sera la racine de l'arbre des objets SNMP et tous
                            les objets de cet arbre seront retournés sous la forme d'un tableau.
                            
                            Si <strong>$object_id</strong> est spécifié, tous les objets SNMP sous cet <strong>$object_id</strong>
                            seront retournés.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>    Le nombre de tentatives dans le cas où un délai d'expiration survient.

<comment>Return:</comment>
  <info>array|false</info>  Retourne un tableau de valeurs d'objet SNMP en commençant par l'objet <strong>$object_id</strong> ou
               <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>snmp2_real_walk()</strong>


id: snmp3_get
type: function
doc:
<comment>Description:</comment>
  Récupère un objet SNMP
  
  La fonction <strong>snmp3_get()</strong> est utilisée pour lire la valeur d'un objet SNMP spécifié par
  l'identifiant <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            Le nom de l'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$security_name</strong>       Le nom de la sécurité, habituellement, le nom d'utilisateur.
  <info>string</info>        <strong>$security_level</strong>      Le niveau de sécurité (noAuthNoPriv|authNoPriv|authPriv).
  <info>string</info>        <strong>$auth_protocol</strong>       Le protocole d'authentification (MD5 or SHA)
  <info>string</info>        <strong>$auth_passphrase</strong>     La phrase secrète d'authentification.
  <info>string</info>        <strong>$privacy_protocol</strong>    Le protocole d'authentification (<return>"MD5"</return>, <return>"SHA"</return>, <return>"SHA256"</return> ou
                                     <return>"SHA512"</return>).
  <info>string</info>        <strong>$privacy_passphrase</strong>  La phrase secrète privée.
  <info>array|string</info>  <strong>$object_id</strong>           L'identifiant de l'objet SNMP.
  <info>int</info>           <strong>$timeout</strong>             Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>             Le nombre de tentative dans le cas où le délai d'expiration
                                     survient.

<comment>Return:</comment>
  <info>mixed</info>  Retourne la valeur de l'objet SNMP en cas de succès, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>snmp3_set()</strong>


id: snmp3_getnext
type: function
doc:
<comment>Description:</comment>
  Récupère l'objet SNMP qui suit immédiatement l'objet fourni
  
  La fonction <strong>snmp3_getnext()</strong> est utilisée pour lire la valeur d'un objet SNMP qui suit
  immédiatement celui spécifié par l'identifiant <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            Le nom d'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$security_name</strong>       Le nom de la sécurité, habituellement, le nom d'utilisateur.
  <info>string</info>        <strong>$security_level</strong>      Le degré de sécurité (noAuthNoPriv|authNoPriv|authPriv).
  <info>string</info>        <strong>$auth_protocol</strong>       Le protocole d'authentification (MD5 ou SHA).
  <info>string</info>        <strong>$auth_passphrase</strong>     La phrase secrète d'authentification.
  <info>string</info>        <strong>$privacy_protocol</strong>    Le protocole d'authentification (<return>"MD5"</return>, <return>"SHA"</return>, <return>"SHA256"</return> ou
                                     <return>"SHA512"</return>).
  <info>string</info>        <strong>$privacy_passphrase</strong>  La phrase secrète privée.
  <info>array|string</info>  <strong>$object_id</strong>           L'identifiant de l'objet SNMP.
  <info>int</info>           <strong>$timeout</strong>             Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>             Le nombre de tentatives dans le cas où un délai d'expiration
                                     survient.

<comment>Return:</comment>
  <info>mixed</info>  Retourne la valeur de l'objet SNMP en cas de succès ou <info>false</info> si une erreur survient. Dans
         le cas d'une erreur, une alerte de type E_WARNING sera émise.

<comment>See Also:</comment>
   * <strong>snmp3_get()</strong>
   * <strong>snmp3_walk()</strong>


id: snmp3_real_walk
type: function
doc:
<comment>Description:</comment>
  Retourne tous les objets incluant les identifiants
     de leurs objets respectifs
  
  La fonction <strong>snmp3_real_walk()</strong> est utilisée pour parcourir un nombre d'objets SNMP en commençant
  par l'objet dont l'identifiant est <strong>$object_id</strong> et retourne non seulement leurs valeurs, mais aussi
  les identifiants des objets associés.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            Le nom d'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$security_name</strong>       Le nom de la sécurité, habituellement, le nom d'utilisateur.
  <info>string</info>        <strong>$security_level</strong>      Le niveau de sécurité (noAuthNoPriv|authNoPriv|authPriv).
  <info>string</info>        <strong>$auth_protocol</strong>       Le protocole d'authentification (MD5 ou SHA).
  <info>string</info>        <strong>$auth_passphrase</strong>     La phrase secrète d'authentification.
  <info>string</info>        <strong>$privacy_protocol</strong>    Le protocole d'authentification (<return>"MD5"</return>, <return>"SHA"</return>, <return>"SHA256"</return> ou
                                     <return>"SHA512"</return>).
  <info>string</info>        <strong>$privacy_passphrase</strong>  La phrase secrète privée.
  <info>array|string</info>  <strong>$object_id</strong>           L'identifiant de l'objet SNMP.
  <info>int</info>           <strong>$timeout</strong>             Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>             Le nombre de tentatives dans le cas où un délai d'expiration
                                     survient.

<comment>Return:</comment>
  <info>array|false</info>  Retourne un tableau associatif d'identifiants d'objets SNMP ainsi que leurs valeurs
               en cas de succès, ou <info>false</info> si une erreur survient. Dans le cas où une erreur
               survient, une alerte de niveau E_WARNING est émise.

<comment>See Also:</comment>
   * <strong>snmpwalk()</strong>


id: snmp3_set
type: function
doc:
<comment>Description:</comment>
  Définit la valeur d'un objet SNMP
  
  <strong>snmp3_set()</strong> est utilisé pour définir la valeur d'un objet SNMP spécifié par le paramètre
  <strong>$object_id</strong>.
  
  Même si le niveau de sécurité n'utilise pas d'authentification ou de protocole privée par mot de
  passe, des valeurs valides doivent être spécifiées.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            Le nom de l'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$security_name</strong>       Le nom de la sécurité, habituellement, le nom d'utilisateur.
  <info>string</info>        <strong>$security_level</strong>      Le niveau de sécurité (noAuthNoPriv|authNoPriv|authPriv).
  <info>string</info>        <strong>$auth_protocol</strong>       La protocole d'authentification (MD5 ou SHA).
  <info>string</info>        <strong>$auth_passphrase</strong>     La phrase secrète pour l'authentification.
  <info>string</info>        <strong>$privacy_protocol</strong>    Le protocole privé (DES ou AES)
  <info>string</info>        <strong>$privacy_passphrase</strong>  La phrase secrète privée.
  <info>array|string</info>  <strong>$object_id</strong>           L'identifiant de l'objet SNMP.
  <info>array|string</info>  <strong>$type</strong>                Le MIB définit le type de chaque identifiant d'objets. Il doit
                                     être spécifié sous la forme d'un simple caractère depuis la
                                     liste suivante.
                                     
                                     Si la constante <info>OPAQUE_SPECIAL_TYPES</info> a été définie lors
                                     de la compilation de la bibliothèque SNMP, les caractères
                                     suivants
                                     seront également disponibles :
                                     
                                     La plupart de ces valeurs utilise le type ASN.1 correspondant.
                                     's', 'x', 'd' et 'b'
                                     sont toutes des façons différentes de spécifier la valeur OCTET
                                     STRING et le type non-signé
                                     'u' est également utilisé pour gérer les valeurs Gauge32.
                                     
                                     Si les fichiers MIB sont chargés dans l'arbre MIB avec
                                     "snmp_read_mib" ou en les spécifiant
                                     dans la configuration de libsnmp, '=' pourra être utilisé comme
                                     paramètre
                                     de type pour tous les identifiants d'objets, vu que le type
                                     peut automatiquement être lu depuis le MIB.
                                     
                                     Notez qu'il y a 2 façons de définir une variable de type BITS
                                     like i.e.
                                     "SYNTAX    BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4),
                                     ssh(5), https(6)}":
                                     
                                     En utilisant le type "b" et une liste d'octets. Cette méthode
                                     n'est pas recommandée vu que la requête GET pour un même OID
                                     retournera i.e. 0xF8.
                                     
                                     En utilisant le type "x" et un nombre hexadécimal mais sans(!)
                                     le préfixe usuel "0x".
                                     
                                     Reportez-vous à la section sur les exemples pour plus de
                                     détails.
  <info>array|string</info>  <strong>$value</strong>               La nouvelle valeur.
  <info>int</info>           <strong>$timeout</strong>             Le nombre de millisecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>             Le nombre de tentative dans le cas où le délai d'expiration est
                                     atteint.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.
        
        Si l'hôte SNMP rejète le type de données, une alerte de type E_WARNING comme "Warning: Error
        in packet. Reason: (badValue) The value given has the wrong type or length." est affiché. Si
        un OID inconnu ou invalide est spécifié, l'alerte sera probablement "Could not add
        variable".


id: snmp3_walk
type: function
doc:
<comment>Description:</comment>
  Récupère tous les objets SNMP depuis un agent
  
  La fonction <strong>snmp3_walk()</strong> est utilisée pour lire toutes les valeurs depuis un agent SNMP spécifié
  par le paramètre <strong>$host</strong>.
  
  Même si le niveau de sécurité n'utilise pas de protocole d'authentification, des valeurs valides
  doivent être spécifiées.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>            Le nom de l'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$security_name</strong>       Le nom de la sécurité, habituellement, le nom de l'utilisateur.
  <info>string</info>        <strong>$security_level</strong>      Le niveau de sécurité (noAuthNoPriv|authNoPriv|authPriv).
  <info>string</info>        <strong>$auth_protocol</strong>       Le protocole d'authentification (<return>"MD5"</return>, <return>"SHA"</return>, <return>"SHA256"</return> ou
                                     <return>"SHA512"</return>).
  <info>string</info>        <strong>$auth_passphrase</strong>     La phrase secrète d'authentification.
  <info>string</info>        <strong>$privacy_protocol</strong>    Le protocole privé (DES ou AES).
  <info>string</info>        <strong>$privacy_passphrase</strong>  La phrase secrète privée.
  <info>array|string</info>  <strong>$object_id</strong>           Si vaut <info>null</info>, <strong>$object_id</strong> sera la racine de l'arbre des objets
                                     SNMP et tous les objets sous-jacents sont retournés sous forme
                                     d'un tableau.
                                     
                                     Si <strong>$object_id</strong> est spécifié, tous les objets SNMP sous l'objet
                                     <strong>$object_id</strong> seront retournés.
  <info>int</info>           <strong>$timeout</strong>             Le nombre de microsecondes avant le premier délai d'expiration
  <info>int</info>           <strong>$retries</strong>             Le nombre de tentatives dans le cas où le délai d'expiration
                                     survient.

<comment>Return:</comment>
  <info>array|false</info>  Retourne un tableau de valeurs d'objets SNMP en commençant depuis l'objet <strong>$object_id</strong>
               comme racine, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>snmp3_real_walk()</strong>


id: snmp_get_quick_print
type: function
doc:
<comment>Description:</comment>
  Lit la valeur courante de l'option quick_print de la bibliothèque NET-SNMP
    
  
  <strong>snmp_get_quick_print()</strong> retourne la valeur courante, stockée dans la bibliothèque NET-SNMP, de
  l'option quick_print. Par défaut, quick_print est désactivée.

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> si quick_print est actif, <info>false</info> sinon.

<comment>See Also:</comment>
   * <strong>snmp_set_quick_print()</strong> pour une description complète
     sur ce que fait quick_print.


id: snmp_get_valueretrieval
type: function
doc:
<comment>Description:</comment>
  Retourne la méthode avec laquelle les valeurs SNMP seront retournées

<comment>Return:</comment>
  <info>int</info>  Une combinaison de constantes ( <info>SNMP_VALUE_LIBRARY</info> ou <info>SNMP_VALUE_PLAIN</info> ) avec éventuellement
       une définition de SNMP_VALUE_OBJECT.

<comment>See Also:</comment>
   * <strong>snmp_set_valueretrieval()</strong>
   * 


id: snmp_read_mib
type: function
doc:
<comment>Description:</comment>
  Lit et analyse un fichier MIB dans l'arbre actif MIB
    
  
  Cette fonction est utilisée pour charger des MIBs additionnelles, i.e. spécifiques aux fabricants,
  ainsi, les OIDs humainement lisibles comme <return>VENDOR-MIB::foo.1</return> au lieu des OIDs numériques peuvent
  être utilisés.
  
  L'ordre de chargement des MIBs est important ; la bibliothèque Net-SNMP affichera des alertes si
  les objets référencés ne peuvent pas être résolus.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Le nom de fichier du MIB.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: snmp_set_enum_print
type: function
doc:
<comment>Description:</comment>
  Retourne toutes les valeurs qui sont des énumérations avec leur valeur d'énumération au lieu de
  l'entier
    
  
  Cette fonction permet de basculer si snmpwalk/snmpget etc. doit automatiquement chercher les
  valeurs énumérées dans le MIB et les retourne avec leur chaîne humainement lisible.

<comment>Param:</comment>
  <info>bool</info>  <strong>$enable</strong>  Vu que la valeur est interprétée comme un booléen par la bibliothèque Net-SNMP
                 library, il peut valoir "0" ou "1".

<comment>Return:</comment>
  <info>true</info>  Retourne toujours <info>true</info>.


id: snmp_set_oid_numeric_print
type: function
doc:
<comment>Description:</comment>
  Alias de snmp_set_oid_output_format
  
  Cette fonction est un alias de :  <strong>snmp_set_oid_output_format()</strong>.

<comment>See Also:</comment>
   * <strong>snmp_set_oid_output_format()</strong>


id: snmp_set_oid_output_format
type: function
doc:
<comment>Description:</comment>
  Définit le format de sortie OID
  
  <strong>snmp_set_oid_output_format()</strong> définit le format de sortie afin qu'il soit complet ou numérique.

<comment>Param:</comment>
  <info>int</info>  <strong>$format</strong>  

<comment>Return:</comment>
  <info>true</info>  Retourne toujours <info>true</info>.


id: snmp_set_quick_print
type: function
doc:
<comment>Description:</comment>
  Écrit la valeur courante de l'option enable de la bibliothèque NET-SNMP
  
  Fixe la valeur de l'option <strong>$enable</strong> de la bibliothèque NET-SNMP. Lorsqu'elle a la valeur de (1), la
  bibliothèque SNMP retournera des valeurs 'rapides'. Cela signifie que seule, la valeur sera
  retournée. Lorsque l'option <strong>$enable</strong> n'est pas activée (par défaut), la bibliothèque NET-SNMP va
  afficher d'autres informations (telles que l'adresse IP (IpAddress) ou OID). De plus, si
  quick_print n'est pas activée, la bibliothèque affichera aussi des valeurs hexadécimales
  supplémentaires pour toutes les chaînes de trois caractères ou moins.
  
  Par défaut, NET-SNMP retourne des valeurs détaillées, et quick_print sert à ne retourner que la
  valeur.
  
  Actuellement, les chaînes sont toujours retournées avec des guillemets supplémentaires. Ceci sera
  corrigé ultérieurement.

<comment>Param:</comment>
  <info>bool</info>  <strong>$enable</strong>  

<comment>Return:</comment>
  <info>true</info>  Retourne toujours <info>true</info>.

<comment>See Also:</comment>
   * <strong>snmp_get_quick_print()</strong>


id: snmp_set_valueretrieval
type: function
doc:
<comment>Description:</comment>
  Spécifie la méthode avec laquelle les valeurs SNMP seront retournées

<comment>Param:</comment>
  <info>int</info>  <strong>$method</strong>  

<comment>Return:</comment>
  <info>true</info>  Retourne toujours <info>true</info>.

<comment>See Also:</comment>
   * <strong>snmp_get_valueretrieval()</strong>
   * 


id: snmpget
type: function
doc:
<comment>Description:</comment>
  Reçoit un objet SNMP
  
  <strong>snmpget()</strong> sert à lire une valeur d'un objet SNMP représenté par <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   L'agent SNMP.
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  L'objet SNMP.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes depuis le premier timeout.
  <info>int</info>           <strong>$retries</strong>    Le nombre d'essais lorsque le délai maximal d'attente survient.

<comment>Return:</comment>
  <info>mixed</info>  Retourne la valeur de l'objet SNMP en cas de succès, <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>snmpset()</strong>


id: snmpgetnext
type: function
doc:
<comment>Description:</comment>
  Récupère un objet SNMP qui suit immédiatement
     l'objet fourni
  
  La fonction <strong>snmpgetnext()</strong> est utilisée pour lire la valeur d'un objet SNMP qui suit immédiatement
  l'objet dont l'identifiant est spécifié par le paramètre <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   Le nom d'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  The SNMP object id which precedes the wanted one.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>    Le nombre de tentative dans le cas où le délai d'expiration survient.

<comment>Return:</comment>
  <info>mixed</info>  Retourne la valeur de l'objet SNMP en cas de succès ou <info>false</info> si une erreur survient. Dans
         le cas où une erreur survient, une alerte de type E_WARNING sera émise.

<comment>See Also:</comment>
   * <strong>snmpget()</strong>
   * <strong>snmpwalk()</strong>


id: snmprealwalk
type: function
doc:
<comment>Description:</comment>
  Retourne tous les objets, y compris les identifiants respectifs inclus dans l'objet
  
  La fonction <strong>snmprealwalk()</strong> est utilisée pour parcourir des objets SNMP, en commençant à l'objet
  identifié par <strong>$object_id</strong> et retourne non seulement les valeurs mais aussi les identifiants des
  objets.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   Le nom d'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  L'identifiant de l'objet SNMP qui précède celui désiré.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes avant le premier délai d'expiration.
  <info>int</info>           <strong>$retries</strong>    Le nombre de tentatives dans le cas où le délai d'expiration survient.

<comment>Return:</comment>
  <info>array|false</info>  Retourne un tableau associatif d'identifiants d'objets SNMP ainsi que leurs valeurs
               en cas de succès ou <info>false</info> si une erreur survient. Dans le cas où une erreur survient,
               une alerte de type E_WARNING sera émise.

<comment>See Also:</comment>
   * <strong>snmpwalk()</strong>


id: snmpset
type: function
doc:
<comment>Description:</comment>
  Définit la valeur d'un objet SNMP
  
  <strong>snmpset()</strong> sert à définir la valeur de l'objet SNMP spécifié par <strong>$object_id</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   Le nom d'hôte de l'agent SNMP (serveur).
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  L'identifiant de l'objet SNMP.
  <info>array|string</info>  <strong>$type</strong>       Le MIB définit le type de chaque identifiant d'objets. Il doit
                            être spécifié sous la forme d'un simple caractère depuis la liste
                            suivante.
                            
                            Si la constante <info>OPAQUE_SPECIAL_TYPES</info> a été définie lors
                            de la compilation de la bibliothèque SNMP, les caractères suivants
                            seront également disponibles :
                            
                            La plupart de ces valeurs utilise le type ASN.1 correspondant. 's', 'x',
                            'd' et 'b'
                            sont toutes des façons différentes de spécifier la valeur OCTET STRING
                            et le type non-signé
                            'u' est également utilisé pour gérer les valeurs Gauge32.
                            
                            Si les fichiers MIB sont chargés dans l'arbre MIB avec "snmp_read_mib"
                            ou en les spécifiant
                            dans la configuration de libsnmp, '=' pourra être utilisé comme
                            paramètre
                            de type pour tous les identifiants d'objets, vu que le type peut
                            automatiquement être lu depuis le MIB.
                            
                            Notez qu'il y a 2 façons de définir une variable de type BITS like i.e.
                            "SYNTAX    BITS {telnet(0), ftp(1), http(2), icmp(3), snmp(4), ssh(5),
                            https(6)}":
                            
                            En utilisant le type "b" et une liste d'octets. Cette méthode n'est pas
                            recommandée vu que la requête GET pour un même OID retournera i.e. 0xF8.
                            
                            En utilisant le type "x" et un nombre hexadécimal mais sans(!) le
                            préfixe usuel "0x".
                            
                            Reportez-vous à la section sur les exemples pour plus de détails.
  <info>array|string</info>  <strong>$value</strong>      La nouvelle valeur.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes depuis le premier timeout.
  <info>int</info>           <strong>$retries</strong>    Le nombre d'essais avant d'atteindre le délai maximal d'attente.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.
        
        Si l'hôte SNMP rejète le type de données, une alerte de type E_WARNING comme "Warning: Error
        in packet. Reason: (badValue) The value given has the wrong type or length." sera affiché.
        Si un OID inconnu ou invalide est spécifié, le contenu de l'alerte sera probablement "Could
        not add variable".

<comment>See Also:</comment>
   * <strong>snmpget()</strong>


id: snmpwalk
type: function
doc:
<comment>Description:</comment>
  Reçoit tous les objets SNMP d'un agent
  
  <strong>snmpwalk()</strong> est utilisé pour lire toutes les valeurs d'un agent SNMP spécifié par <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   L'agent SNMP (serveur).
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  Si <info>null</info>, <strong>$object_id</strong> est pris comme racine des objets SNMP et tous les
                            objets de cet arbre sont retournés sous la forme d'un tableau.
                            
                            Si <strong>$object_id</strong> est spécifié, tous les objets SNMP suivant cet <strong>$object_id</strong>
                            sont retournés.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes depuis le premier timeout.
  <info>int</info>           <strong>$retries</strong>    Le nombre de tentative dans le cas où le délai d'expiration survient.

<comment>Return:</comment>
  <info>array|false</info>  Retourne un tableau de valeurs de l'objet SNMP, en commençant par <strong>$object_id</strong> ou <info>false</info>
               si une erreur survient.

<comment>See Also:</comment>
   * <strong>snmprealwalk()</strong>


id: snmpwalkoid
type: function
doc:
<comment>Description:</comment>
  Demande d'informations d'arbre sur une entité du réseau
  
  <strong>snmpwalkoid()</strong> est utilisé pour lire tous les identifiant d'objets ainsi que leurs valeurs
  respectives depuis l'agent SNMP spécifié par <strong>$hostname</strong>.
  
  L'existence de <strong>snmpwalkoid()</strong> et <strong>snmpwalk()</strong> a des raisons historiques. Les deux fonctions
  fournissent des compatibilités ascendantes. Utilisez plutôt la fonction <strong>snmprealwalk()</strong>.

<comment>Param:</comment>
  <info>string</info>        <strong>$hostname</strong>   L'agent SNMP.
  <info>string</info>        <strong>$community</strong>  La communauté de lecture.
  <info>array|string</info>  <strong>$object_id</strong>  Si <info>null</info>, <strong>$object_id</strong> est pris comme racine des objets SNMP et tous les
                            objets de cet arbre sont retournés sous la forme d'un tableau.
                            
                            Si <strong>$object_id</strong> est spécifié, tous les objets SNMP suivant cet <strong>$object_id</strong>
                            sont retournés.
  <info>int</info>           <strong>$timeout</strong>    Le nombre de microsecondes depuis le premier timeout.
  <info>int</info>           <strong>$retries</strong>    Le nombre de tentative dans le cas où le délai d'attente maximal
                            survient.

<comment>Return:</comment>
  <info>array|false</info>  Retourne un tableau associatif contenant les identifiants des objets ainsi que leurs
               valeurs respectives, à partir de <strong>$object_id</strong>, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>snmpwalk()</strong>


id: socket_accept
type: function
doc:
<comment>Description:</comment>
  Accepte une connexion sur un socket
  
  Une fois que le socket <strong>$socket</strong> a été créé avec la fonction <strong>socket_create()</strong>, lié à un nom avec la
  fonction <strong>socket_bind()</strong>, et mis en attente de connexion avec la fonction <strong>socket_listen()</strong>,
  <strong>socket_accept()</strong> va accepter les connexions sur ce socket. Une fois qu'une connexion est faite, une
  nouvelle instance de <class>Socket</class> est retournée. Elle peut être utilisée pour les communications. S'il y
  a plusieurs connexions en attente, la première sera utilisée. S'il n'y a pas de connexion en
  attente, <strong>socket_accept()</strong> se bloquera jusqu'à ce qu'une connexion se présente. Si <strong>$socket</strong> a été
  rendue non-bloquante, grâce à <strong>socket_set_blocking()</strong> ou <strong>socket_set_nonblock()</strong>, <info>false</info> sera retourné.
  
  L'instance de <class>Socket</class> retournée par <strong>socket_accept()</strong> ne doit pas être utilisée pour accepter de
  nouvelles connexions. Le socket original <strong>$socket</strong>, qui est en attente, reste ouvert et peut être
  réutilisé.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong>.

<comment>Return:</comment>
  <info>Socket|false</info>  Retourne une nouvelle instance de <class>Socket</class> en cas de succès ou <info>false</info> en cas d'erreur.
                Le code d'erreur généré peut être obtenu en appelant la fonction
                <strong>socket_last_error()</strong>. Ce code d'erreur peut être passé à la fonction
                <strong>socket_strerror()</strong> pour obtenir un message d'erreur, humainement lisible.

<comment>See Also:</comment>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_strerror()</strong>


id: socket_addrinfo_bind
type: function
doc:
<comment>Description:</comment>
  Create and bind to a socket from a given addrinfo
  
  Create a <class>Socket</class> instance, and bind it to the provided <class>AddressInfo</class>.  The return value of this
  function may be used with <strong>socket_listen()</strong>.

<comment>Param:</comment>
  <info>AddressInfo</info>  <strong>$address</strong>  <class>AddressInfo</class> instance created from <strong>socket_addrinfo_lookup()</strong>.

<comment>Return:</comment>
  <info>Socket|false</info>  Returns a <class>Socket</class> instance on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>socket_addrinfo_connect()</strong>
   * <strong>socket_addrinfo_explain()</strong>
   * <strong>socket_addrinfo_lookup()</strong>
   * <strong>socket_listen()</strong>


id: socket_addrinfo_connect
type: function
doc:
<comment>Description:</comment>
  Create and connect to a socket from a given addrinfo
  
  Create a <class>Socket</class> instance, and connect it to the provided <class>AddressInfo</class> instance.  The return value
  of this function may be used with the rest of the socket functions.

<comment>Param:</comment>
  <info>AddressInfo</info>  <strong>$address</strong>  <class>AddressInfo</class> instance created from <strong>socket_addrinfo_lookup()</strong>

<comment>Return:</comment>
  <info>Socket|false</info>  Returns a <class>Socket</class> instance on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>socket_addrinfo_bind()</strong>
   * <strong>socket_addrinfo_explain()</strong>
   * <strong>socket_addrinfo_lookup()</strong>


id: socket_addrinfo_explain
type: function
doc:
<comment>Description:</comment>
  Get information about addrinfo
  
  <strong>socket_addrinfo_explain()</strong> exposed the underlying <return>addrinfo</return> structure.

<comment>Param:</comment>
  <info>AddressInfo</info>  <strong>$address</strong>  <class>AddressInfo</class> instance created from <strong>socket_addrinfo_lookup()</strong>

<comment>Return:</comment>
  <info>array</info>  Returns an array containing the fields in the <return>addrinfo</return> structure.

<comment>See Also:</comment>
   * <strong>socket_addrinfo_bind()</strong>
   * <strong>socket_addrinfo_connect()</strong>
   * <strong>socket_addrinfo_lookup()</strong>


id: socket_addrinfo_lookup
type: function
doc:
<comment>Description:</comment>
  Get array with contents of getaddrinfo about the given hostname
  
  Lookup different ways we can connect to <strong>$host</strong>.  The returned array contains a set of <class>AddressInfo</class>
  instances that we can bind to using <strong>socket_addrinfo_bind()</strong>.

<comment>Param:</comment>
  <info>string</info>       <strong>$host</strong>     Hostname to search.
  <info>string|null</info>  <strong>$service</strong>  The service to connect to. If service is a numeric string, it designates
                         the port. Otherwise it designates a network service name, which is mapped
                         to a port by the operating system.
  <info>array</info>        <strong>$hints</strong>    Hints provide criteria for selecting addresses returned.  You may specify
                         the hints as defined by getaddrinfo.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array of <class>AddressInfo</class> instances that can be used with the other
               socket_addrinfo functions. On failure, <info>false</info> is returned.

<comment>See Also:</comment>
   * <strong>socket_addrinfo_bind()</strong>
   * <strong>socket_addrinfo_connect()</strong>
   * <strong>socket_addrinfo_explain()</strong>


id: socket_atmark
type: function
doc:
<comment>Description:</comment>
  Determines whether socket is at out-of-band mark
  
  Determines whether <strong>$socket</strong> is at out-of-band mark.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  A <class>Socket</class> instance created with <strong>socket_create()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_connect()</strong>
   * <strong>socket_create()</strong>


id: socket_bind
type: function
doc:
<comment>Description:</comment>
  Lie un nom à un socket
  
  Lie le nom donné par <strong>$address</strong> à l'interface de connexion décrite par <strong>$socket</strong>. Ceci doit être
  effectué avant qu'une connexion ne soit établie en utilisant <strong>socket_connect()</strong> ou <strong>socket_listen()</strong>.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>   Une instance de <class>Socket</class> créée par <strong>socket_create()</strong>.
  <info>string</info>  <strong>$address</strong>  Si le socket est de la famille <info>AF_INET</info>, le paramètre <strong>$address</strong> est une IP
                    numérique  (i.e. <return>127.0.0.1</return>).
                    
                    Si le socket est de la famille <info>AF_UNIX</info>, le paramètre <strong>$address</strong> représente le
                    chemin d'un socket de domaine Unix (i.e. /tmp/my.sock).
  <info>int</info>     <strong>$port</strong>     Le paramètre <strong>$port</strong> est uniquement utilisé lors de la liaison à un socket <info>AF_INET</info>
                    et désigne le port sur lequel écouter pour une connexion.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.
        
        Le code erreur peut être récupéré avec la fonction <strong>socket_last_error()</strong>. Ce code peut être
        passé à la fonction <strong>socket_strerror()</strong>  pour récupérer le message textuel de l'erreur.

<comment>See Also:</comment>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_clear_error
type: function
doc:
<comment>Description:</comment>
  Efface toutes les erreurs précédemment générées par un socket
  
  Efface tous les codes d'erreur qui ont été enregistrés pour le socket <strong>$socket</strong>, ou bien pour le
  socket général.
  
  <strong>socket_clear_error()</strong> permet de remettre à zéro les codes d'erreur d'un socket ou du socket global.
  Cela peut être utile pour détecter l'avènement d'une erreur durant une partie de l'application.

<comment>Param:</comment>
  <info>Socket|null</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_close
type: function
doc:
<comment>Description:</comment>
  Ferme une instance de Socket
  
  <strong>socket_close()</strong> ferme l'instance <class>Socket</class> fournis par <strong>$socket</strong>.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_accept()</strong>.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * <strong>socket_bind()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_strerror()</strong>


id: socket_cmsg_space
type: function
doc:
<comment>Description:</comment>
  Calcule la taille du buffer
  
  Calcule la taille du buffer qui doit être allouée pour recevoir les données auxiliaires.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>int</info>  <strong>$level</strong>  
  <info>int</info>  <strong>$type</strong>   

<comment>Return:</comment>
  <info>int|null</info>  

<comment>See Also:</comment>
   * <strong>socket_recvmsg()</strong>
   * <strong>socket_sendmsg()</strong>


id: socket_connect
type: function
doc:
<comment>Description:</comment>
  Crée une connexion sur un socket
  
  Crée une nouvelle connexion en utilisant l'instance <class>Socket</class> <strong>$socket</strong>, qui doit être une instance de
  <class>Socket</class> créée par <strong>socket_create()</strong>.

<comment>Param:</comment>
  <info>Socket</info>    <strong>$socket</strong>   Une instance de <class>Socket</class> créée avec <strong>socket_create()</strong>.
  <info>string</info>    <strong>$address</strong>  Le paramètre <strong>$address</strong> est soit une adresse valide IPv4 (e.g. <return>127.0.0.1</return>) si
                      <strong>$socket</strong> vaut <info>AF_INET</info>, soit une adresse valide IPv6 (e.g. <return>::1</return>) si le support
                      IPv6 est actif et que le paramètre <strong>$socket</strong> vaut <info>AF_INET6</info>, soit un chemin vers
                      un socket de domaine Unix, si la famille de sockets vaut <info>AF_UNIX</info>.
  <info>int|null</info>  <strong>$port</strong>     Le paramètre <strong>$port</strong> n'est utilisé et mandaté que lors d'une connexion à un
                      socket <info>AF_INET</info> ou <info>AF_INET6</info>, et désigne le port de l'hôte distant sur lequel la
                      connexion doit être effectuée.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient. Le code
        d'erreur généré peut être obtenu en appelant la fonction <strong>socket_last_error()</strong>. Ce code
        d'erreur peut être passé à la fonction <strong>socket_strerror()</strong> pour obtenir un message d'erreur
        humainement lisible.
        
        Si le socket est non-bloquant, alors cette fonction retourne <info>false</info> avec l'erreur suivant :
        <return>Operation now in progress</return>.

<comment>See Also:</comment>
   * <strong>socket_bind()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_create
type: function
doc:
<comment>Description:</comment>
  Crée un socket
  
  <strong>socket_create()</strong> crée un point de communication  (une socket) et retourne une instance de <class>Socket</class>
  Une connexion typique réseau est composée de deux sockets : une qui joue le rôle de client et
  l'autre celui du serveur.

<comment>Param:</comment>
  <info>int</info>  <strong>$domain</strong>    Le paramètre <strong>$domain</strong> spécifie la famille de protocoles à utiliser par le socket.
  <info>int</info>  <strong>$type</strong>      Le paramètre <strong>$type</strong> sélectionne le type de communication à utiliser par le socket.
  <info>int</info>  <strong>$protocol</strong>  Le paramètre <strong>$protocol</strong> définit le protocole spécifique pour le domaine <strong>$domain</strong> à
                  utiliser lors de communications sur un socket retourné. La valeur appropriée peut
                  être retrouvée par son nom en utilisant la fonction <strong>getprotobyname()</strong>. Si le
                  protocole désiré est TCP ou UDP, les constantes correspondantes <info>SOL_TCP</info> et <info>SOL_UDP</info>
                  peuvent être utilisées.

<comment>Return:</comment>
  <info>Socket|false</info>  <strong>socket_create()</strong> retourne une instance de <class>Socket</class> en cas de succès et <info>false</info> sinon. Le
                code d'erreur généré peut être obtenu en appelant la fonction <strong>socket_last_error()</strong>.
                Ce code d'erreur peut être passé à la fonction <strong>socket_strerror()</strong> pour obtenir un
                message d'erreur humainement lisible.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_create_listen
type: function
doc:
<comment>Description:</comment>
  Ouvre un socket sur un port pour accepter les connexions
  
  <strong>socket_create_listen()</strong> crée une nouvelle instance de <class>Socket</class>, de type <info>AF_INET</info>, mis en attente sur
  toutes les interfaces locales, pour le port <strong>$port</strong>.
  
  <strong>socket_create_listen()</strong> sert à simplifier la création de nouveaux sockets destinés à être mis en
  attente, et accepter de nouvelles connexions.

<comment>Param:</comment>
  <info>int</info>  <strong>$port</strong>     Le port que l'on doit écouter sur toutes les interfaces.
  <info>int</info>  <strong>$backlog</strong>  Le paramètre <strong>$backlog</strong> définit la taille maximum de la queue de connexions en
                 attente.  <info>SOMAXCONN</info> peut être utilisée comme valeur pour le paramètre <strong>$backlog</strong>.
                 Reportez-vous à <strong>socket_listen()</strong> pour plus de détails.

<comment>Return:</comment>
  <info>Socket|false</info>  <strong>socket_create_listen()</strong> retourne une nouvelle instance de <class>Socket</class> en cas de succès et
                <info>false</info> en cas d'erreur. Le code d'erreur généré peut être obtenu en appelant la
                fonction <strong>socket_last_error()</strong>. Ce code d'erreur peut être passé à la fonction
                <strong>socket_strerror()</strong> pour obtenir un message d'erreur humainement lisible.

<comment>See Also:</comment>
   * <strong>socket_create()</strong>
   * <strong>socket_create_pair()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_create_pair
type: function
doc:
<comment>Description:</comment>
  Crée une paire de sockets identiques et les stocke dans un tableau
  
  <strong>socket_create_pair()</strong> crée une paire de sockets identiques et les stocke dans <strong>$pair</strong>. Cette fonction
  est utilisée couramment dans IPC (<return>InterProcess Communication</return>).

<comment>Param:</comment>
  <info>int</info>    <strong>$domain</strong>    Le paramètre <strong>$domain</strong> spécifie la famille du protocole à utiliser par le socket.
                    Voir la documentation sur la fonction <strong>socket_create()</strong> pour une liste complète.
  <info>int</info>    <strong>$type</strong>      Le paramètre <strong>$type</strong> spécifie le type de  communication à utiliser par le socket.
                    Voir la documentation sur la fonction <strong>socket_create()</strong> pour une liste complète.
  <info>int</info>    <strong>$protocol</strong>  Le paramètre <strong>$protocol</strong> définit un protocole spécifique dans le domaine spécifié
                    <strong>$domain</strong> pour être utilisé lors d'une communication sur un socket retourné. La
                    valeur appropriée peut être retrouvée par son nom en utilisant la fonction
                    <strong>getprotobyname()</strong>. Si le protocole désiré est TCP ou UDP, les constantes
                    correspondantes <info>SOL_TCP</info> et <info>SOL_UDP</info> peuvent être utilisées.
                    
                    Voir la documentation sur la fonction <strong>socket_create()</strong> pour une liste complète
                    des protocoles supportés.
  <info>array</info>  <strong>$pair</strong>      Une référence vers un tableau dans lequel les deux instances de <class>Socket</class> seront
                    insérées.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_create()</strong>
   * <strong>socket_create_listen()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_export_stream
type: function
doc:
<comment>Description:</comment>
  Export a socket into a stream that encapsulates a socket
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  

<comment>Return:</comment>
  <info>resource|false</info>  Return resource ou <info>false</info> si une erreur survient.


id: socket_get_option
type: function
doc:
<comment>Description:</comment>
  Lit les options du socket
  
  <strong>socket_get_option()</strong> récupère la valeur de l'option spécifiée par le paramètre <strong>$option</strong> pour le
  socket spécifié par le paramètre <strong>$socket</strong>.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_accept()</strong>.
  <info>int</info>     <strong>$level</strong>   Le paramètre <strong>$level</strong> spécifie la couche de protocole de l'option. Par exemple,
                   pour connaître les options de la couche socket, la valeur <info>SOL_SOCKET</info> du paramètre
                   <strong>$level</strong> sera utilisée. Les autres degrés, comme <info>TCP</info>, peuvent être utilisés en
                   spécifiant le numéro du protocole de cette couche. Les numéros de protocoles
                   peuvent être trouvés en utilisant la fonction <strong>getprotobyname()</strong>.
  <info>int</info>     <strong>$option</strong>  Reporte si le socket <strong>$socket</strong> s'attarde sur la fonction <strong>socket_close()</strong> si des
                   données sont présentes ou pas. Par défaut, lorsque le socket est fermé,
                   <strong>socket_close()</strong> tente d'envoyer toutes les données qui ne l'ont pas encore été.
                   
                   Si l_onoff ne vaut pas zéro et que l_linger vaut zéro, toutes les données qui
                   n'ont pas encore été envoyées seront annulées et RST (réinitialisation) sera
                   envoyé dans le cas d'une connexion orientée socket.
                   
                   D'un autre côté, si l_onoff ne vaut pas zéro et l_linger ne vaut pas zéro,
                   <strong>socket_close()</strong> bloquera tant que les données non envoyées ne le seront pas ou
                   pendant le temps spécifié par l_linger. Si le socket est non-bloquant,
                   <strong>socket_close()</strong> échouera et retournera une erreur.

<comment>Return:</comment>
  <info>array|int|false</info>  Retourne la valeur de l'option fournie,  ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_create_listen()</strong>
   * <strong>socket_set_option()</strong>


id: socket_get_status
type: function
doc:
<comment>Description:</comment>
  Alias de stream_get_meta_data
  
  Cette fonction est un alias de :  <strong>stream_get_meta_data()</strong>.


id: socket_getopt
type: function
doc:
<comment>Description:</comment>
  Alias de socket_get_option
  
  Cette fonction est un alias de :  <strong>socket_get_option()</strong>.


id: socket_getpeername
type: function
doc:
<comment>Description:</comment>
  Interroge l'autre extrémité de la communication
  
  Interroge l'autre extrémité de la communication.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>   Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_accept()</strong>.
  <info>string</info>  <strong>$address</strong>  Si le socket <strong>$socket</strong> est de type <info>AF_INET</info>, ou <info>AF_INET6</info> <strong>socket_getpeername()</strong>
                    retournera l'adresse IP de l'hôte, en notation numérique (e.g. <return>127.0.0.1</return> ou
                    <return>fe80::1</return>) dans le paramètre <strong>$address</strong>, et si le paramètre optionnel <strong>$port</strong> est
                    présent, elle retournera aussi le port de la communication établie.
                    
                    Si le socket <strong>$socket</strong> est de type <info>AF_UNIX</info>, <strong>socket_getpeername()</strong> retournera le
                    chemin sur le système de fichiers (e.g. <return>/var/run/daemon.sock</return>) dans le  paramètre
                    <strong>$address</strong>.
  <info>int</info>     <strong>$port</strong>     Si fourni, ce devra être le port associé à l'adresse du paramètre <strong>$address</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.
        <strong>socket_getpeername()</strong> peut aussi retourner <info>false</info> si le type de le socket n'est ni <info>AF_INET</info>
        <info>AF_INET6</info>, ni <info>AF_UNIX</info>, auquel cas le dernier code d'erreur socket n'est pas modifié.

<comment>See Also:</comment>
   * <strong>socket_getsockname()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_getsockname
type: function
doc:
<comment>Description:</comment>
  Interroge le socket local
  
  <strong>socket_getsockname()</strong> ne doit pas être utilisée avec les sockets <info>AF_UNIX</info> créés avec
  <strong>socket_connect()</strong>. Seules les sockets suivant un appel de <strong>socket_bind()</strong> retourneront des valeurs
  logiques.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>   Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_accept()</strong>.
  <info>string</info>  <strong>$address</strong>  Si le socket <strong>$socket</strong> est de type <info>AF_INET</info>, ou <info>AF_INET6</info>, <strong>socket_getsockname()</strong>
                    retournera l'adresse IP locale, en notation numérique (e.g. <return>127.0.0.1</return> ou
                    <return>fe80::1</return>) dans le paramètre  <strong>$address</strong>, et si le paramètre optionnel  <strong>$port</strong> est
                    présent, elle retournera aussi le port de la  communication établie.
                    
                    Si le socket <strong>$socket</strong> est de type <info>AF_UNIX</info>, <strong>socket_getsockname()</strong> retournera le
                    chemin sur le système de fichiers (e.g. <return>/var/run/daemon.sock</return>) dans le  paramètre
                    <strong>$address</strong>.
  <info>int</info>     <strong>$port</strong>     Si fourni, ce devra être le port associé à l'adresse.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.
        <strong>socket_getsockname()</strong> peut aussi retourner <info>false</info> si le type du socket n'est ni <info>AF_INET</info>, ni
        <info>AF_INET</info>, ni <info>AF_UNIX</info>, auquel cas le dernier code d'erreur socket n'est pas modifié.

<comment>See Also:</comment>
   * <strong>socket_getpeername()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_import_stream
type: function
doc:
<comment>Description:</comment>
  Importe un flux
  
  Importe un flux qui encapsule un socket dans une ressource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  La ressource de flux à importer.

<comment>Return:</comment>
  <info>Socket|false</info>  Retourne <info>false</info> en cas d'échec.

<comment>See Also:</comment>
   * <strong>stream_socket_server()</strong>


id: socket_last_error
type: function
doc:
<comment>Description:</comment>
  Lit la dernière erreur générée par un socket
  
  Si une instance de <class>Socket</class> est passée à cette fonction, la dernière erreur qui aura été générée par
  ce socket sera retourné. Si <strong>$socket</strong> est <info>null</info>, le dernier code d'erreur généré est retourné. Ce
  comportement est particulièrement pratique pour des fonctions comme <strong>socket_create()</strong> qui ne
  retournent pas de socket en cas d'échec, et <strong>socket_select()</strong> qui peut échouer sans raison
  directement liée au socket. Le code d'erreur peut être transmis à <strong>socket_strerror()</strong> qui retourne
  un message d'erreur lisible.
  
  Si aucune erreur n'est survenue, ou si l'erreur a été supprimée avec la fonction
  <strong>socket_clear_error()</strong>, cette fonction retournera <return>0</return>.

<comment>Param:</comment>
  <info>Socket|null</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong>.

<comment>Return:</comment>
  <info>int</info>  Retourne le code erreur associé au socket.


id: socket_listen
type: function
doc:
<comment>Description:</comment>
  Attend une connexion sur un socket
  
  Une fois que le socket <strong>$socket</strong> a été créé avec la fonction <strong>socket_create()</strong> et liée à un nom avec
  la fonction <strong>socket_bind()</strong>, il peut être mis en attente de la connexion entrante.
  
  <strong>socket_listen()</strong> ne fonctionne qu'avec des sockets de type <info>SOCK_STREAM</info> et <info>SOCK_SEQPACKET</info>.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>   Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_addrinfo_bind()</strong>.
  <info>int</info>     <strong>$backlog</strong>  Un nombre maximum de <strong>$backlog</strong> connexions seront mises en attente de traitement.
                    Si une demande de connexion arrive et que la  queue est pleine, le client
                    recevra une erreur indiquant  <return>ECONNREFUSED</return>, ou, si le protocole de support
                    accepte les retransmissions, la requête sera ignorée pour que les tentatives
                    ultérieures finissent par réussir.
                    
                    Le nombre maximum passé dans le paramètre <strong>$backlog</strong> dépend essentiellement de la
                    plate-forme de support. Sur Linux, il est tronqué automatiquement à <info>SOMAXCONN</info>.
                    Sous Windows, si la constante <info>SOMAXCONN</info> est passée, le service responsable des
                    sockets choisira une valeur maximum raisonnable. Il n'y a pas de méthode pour
                    deviner la valeur réellement choisie.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient. Le code
        d'erreur généré peut être obtenu en appelant la fonction <strong>socket_last_error()</strong>. Ce code
        d'erreur peut être passé à la fonction <strong>socket_strerror()</strong> pour obtenir un message d'erreur
        humainement lisible.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_create()</strong>
   * <strong>socket_strerror()</strong>
   * <strong>socket_addrinfo_bind()</strong>


id: socket_read
type: function
doc:
<comment>Description:</comment>
  Lit des données d'un socket
  
  <strong>socket_read()</strong> lit des données depuis l'instance de <class>Socket</class> <strong>$socket</strong>, créée par <strong>socket_create()</strong> ou
  <strong>socket_accept()</strong>.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_accept()</strong>.
  <info>int</info>     <strong>$length</strong>  Elle lit un maximum de <strong>$length</strong> octets. Sinon, vous pouvez utiliser <info>\r</info>, <info>\n</info> ou <info>\0</info>
                   pour terminer la lecture (suivant la valeur choisie pour <strong>$mode</strong>, voir ci-dessous).
  <info>int</info>     <strong>$mode</strong>    Le paramètre optionnel <strong>$mode</strong> peut prendre l'une des valeurs constantes suivantes
                   : <info>PHP_BINARY_READ</info> (Défaut) - utilise la fonction système <return>recv()</return>. Capable de lire
                   les données binaires. <info>PHP_NORMAL_READ</info> - la lecture s'arrête aux <return>\n</return>  et <return>\r</return>
                   
                   <info>PHP_BINARY_READ</info> (Défaut) - utilise la fonction système <return>recv()</return>. Capable de lire
                   les données binaires.
                   
                   <info>PHP_NORMAL_READ</info> - la lecture s'arrête aux <return>\n</return>  et <return>\r</return>

<comment>Return:</comment>
  <info>string|false</info>  <strong>socket_read()</strong> retourne les données sous forme de chaîne en cas de succès, et <info>false</info>
                sinon (y compris si l'hôte distant a fermé la connexion). Le code d'erreur généré
                peut être obtenu en appelant la fonction <strong>socket_last_error()</strong>. Ce code d'erreur peut
                être passé à la fonction <strong>socket_strerror()</strong> pour obtenir un message d'erreur
                humainement lisible.
                
                <strong>socket_read()</strong> retourne une chaîne de longueur zéro (""), lorsqu'il n'y a plus de
                données à lire.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>
   * <strong>socket_write()</strong>


id: socket_recv
type: function
doc:
<comment>Description:</comment>
  Reçoit des données d'un socket connecté
  
  La fonction <strong>socket_recv()</strong> reçoit <strong>$length</strong> octets de données dans <strong>$data</strong> depuis <strong>$socket</strong>.
  <strong>socket_recv()</strong> peut être utilisée pour récupérer des données depuis des sockets connectés. Aussi,
  des drapeaux permettent de changer le comportement de la fonction.
  
  <strong>$data</strong> est passé par référence, il doit donc être présent dans la liste des arguments. Les données
  reçues depuis la <strong>$socket</strong> par <strong>socket_recv()</strong> seront retournées dans <strong>$data</strong>.

<comment>Param:</comment>
  <info>Socket</info>       <strong>$socket</strong>  <strong>$socket</strong> doit être une instance de <class>Socket</class> précédemment créée par
                        socket_create().
  <info>string|null</info>  <strong>$data</strong>    Les données reçues seront transmises dans <strong>$data</strong>. Si une erreur survient, si
                        la connexion est fermée ou si aucune donnée n'est disponible, <strong>$data</strong> vaudra
                        alors <info>null</info>.
  <info>int</info>          <strong>$length</strong>  Jusqu'à <strong>$length</strong> octets seront lus depuis l'hôte distant.
  <info>int</info>          <strong>$flags</strong>   La valeur de <strong>$flags</strong> peut être une combinaison des drapeaux suivants, groupés
                        au moyen de l'opérateur binaire OR (<return>|</return>).

<comment>Return:</comment>
  <info>int|false</info>  <strong>socket_recv()</strong> retourne le nombre d'octets reçus, ou <info>false</info> si une erreur est apparue. Le
             code d'erreur actuel peut être récupéré en appelant <strong>socket_last_error()</strong>. Ce code
             d'erreur peut être passé à la fonction <strong>socket_strerror()</strong> pour avoir une représentation
             textuelle de l'erreur.


id: socket_recvfrom
type: function
doc:
<comment>Description:</comment>
  Reçoit des données d'un socket, connecté ou pas
  
  La fonction <strong>socket_recvfrom()</strong> reçoit <strong>$length</strong> octets de données du buffer <strong>$data</strong> depuis <strong>$address</strong> sur
  le port <strong>$port</strong> (si le socket n'est pas du type <info>AF_UNIX</info>), en utilisant <strong>$socket</strong>. <strong>socket_recvfrom()</strong>
  peut être utilisé pour récupérer les données depuis des sockets connectées ou non. De plus, un ou
  plusieurs drapeaux peuvent être spécifiés pour modifier ce comportement.
  
  Les paramètres <strong>$address</strong> et <strong>$port</strong> doivent être passés par référence. Si le socket n'est pas
  connecté, <strong>$address</strong> contiendra l'adresse internet de l'hôte distant ou le chemin du socket Unix. Si
  le socket est connecté, <strong>$address</strong> vaut <info>null</info>. De plus, le paramètre <strong>$port</strong> contiendra le port de
  l'hôte distant dans le cas d'un socket <info>AF_INET</info> ou <info>AF_INET6</info>.
  
  Cette fonction gère les chaînes binaires.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>   Le paramètre <strong>$socket</strong> doit être une instance de <class>Socket</class> créé par <strong>socket_create()</strong>.
  <info>string</info>  <strong>$data</strong>     Les données récupérées seront placées dans la variable spécifiée par ce
                    paramètre.
  <info>int</info>     <strong>$length</strong>   Jusqu'à <strong>$length</strong> octets doivent être récupérés de l'hôte distant.
  <info>int</info>     <strong>$flags</strong>    La valeur de ce paramètre peut être une combinaison des drapeaux suivants,
                    joints par un OU binaire (<return>|</return>).
  <info>string</info>  <strong>$address</strong>  Si le socket est du type <info>AF_UNIX</info>, <strong>$address</strong> sera le chemin vers ce fichier.
                    Sinon, pour les sockets non-connectés, <strong>$address</strong> est l'adresse IP de l'hôte
                    distant, ou <info>null</info> si le socket est connecté.
  <info>int</info>     <strong>$port</strong>     Cet argument ne s'applique qu'aux sockets <info>AF_INET</info> et <info>AF_INET6</info>, et spécifie le
                    port distant depuis lequel les données sont reçues. Si la socket est connectée,
                    <strong>$port</strong> vaudra <info>null</info>.

<comment>Return:</comment>
  <info>int|false</info>  <strong>socket_recvfrom()</strong> retourne le nombre d'octets reçus, ou <info>false</info> si une erreur survient.
             Le code erreur actuel peut être retrouvé en appelant la fonction <strong>socket_last_error()</strong>.
             Ce code erreur peut être passé à la fonction <strong>socket_strerror()</strong> afin de récupérer une
             explication textuelle de l'erreur.

<comment>See Also:</comment>
   * <strong>socket_recv()</strong>
   * <strong>socket_send()</strong>
   * <strong>socket_sendto()</strong>
   * <strong>socket_create()</strong>


id: socket_recvmsg
type: function
doc:
<comment>Description:</comment>
  Lit un message
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>   
  <info>array</info>   <strong>$message</strong>  
  <info>int</info>     <strong>$flags</strong>    

<comment>Return:</comment>
  <info>int|false</info>  

<comment>See Also:</comment>
   * <strong>socket_sendmsg()</strong>
   * <strong>socket_cmsg_space()</strong>


id: socket_select
type: function
doc:
<comment>Description:</comment>
  Exécute l'appel système select() sur un tableau de sockets avec une durée d'expiration
  
  <strong>socket_select()</strong> accepte un tableau de sockets et attend qu'elles changent de statut. Ceux qui sont
  familiers avec les sockets de BSD reconnaîtront dans ces tableaux de sockets les jeux de pointeurs
  de fichiers. Trois tableaux indépendants de sockets sont surveillés.

<comment>Param:</comment>
  <info>array|null</info>  <strong>$read</strong>          Les sockets listés dans le paramètre <strong>$read</strong> seront surveillés en lecture
                             : pour savoir quand ils sont disponibles en lecture (plus précisément,
                             si une lecture ne va pas bloquer, en particulier, un socket a déjà
                             atteint une fin de fichier, auquel cas <strong>socket_read()</strong> retournera une
                             chaîne de taille zéro).
  <info>array|null</info>  <strong>$write</strong>         Les sockets listés dans <strong>$write</strong> seront surveillés en écriture : pour
                             voir si une écriture ne va pas bloquer.
  <info>array|null</info>  <strong>$except</strong>        Les sockets listés dans <strong>$except</strong> seront surveillés pour leurs
                             exceptions.
  <info>int|null</info>    <strong>$seconds</strong>       Les paramètres <strong>$seconds</strong> et <strong>$microseconds</strong> ensembles forment le paramètre
                             <return>timeout</return> (durée de vie). Le <return>timeout</return> est la durée maximale de temps avant
                             que <strong>socket_select()</strong> ne se termine. <strong>$seconds</strong> peut être zéro, ce qui fera
                             que <strong>socket_select()</strong> retournera immédiatement. C'est très pratique pour
                             faire du polling (sondage). Si <strong>$seconds</strong> est <info>null</info> (pas de timeout),
                             <strong>socket_select()</strong> peut se bloquer indéfiniment.
  <info>int</info>         <strong>$microseconds</strong>  

<comment>Return:</comment>
  <info>int|false</info>  En cas de succès, <strong>socket_select()</strong> retourne le nombre de sockets contenues dans les
             tableaux modifiés. Ce nombre peut être zéro si la durée maximale d'attente a été
             atteinte. En cas d'erreur, <info>false</info> est retourné. Le code d'erreur généré peut être obtenu
             en appelant la fonction <strong>socket_last_error()</strong>.
             
             Assurez-vous bien d'utiliser l'opérateur <return>===</return> lorsque vous vérifiez les erreurs. Étant
             donnée que <strong>socket_select()</strong> peut retourner 0, la comparaison avec <info>false</info> via <return>==</return> donnerait
             <info>true</info> : Analyser le résultat de <strong>socket_select()</strong>
             ]]>

<comment>See Also:</comment>
   * <strong>socket_read()</strong>
   * <strong>socket_write()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_strerror()</strong>


id: socket_send
type: function
doc:
<comment>Description:</comment>
  Envoie des données à un socket connecté
  
  La fonction <strong>socket_send()</strong> envoie <strong>$length</strong> octets au socket <strong>$socket</strong> depuis le buffer <strong>$data</strong>.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_accept()</strong>.
  <info>string</info>  <strong>$data</strong>    Un buffer contenant les données qui seront envoyées sur l'hôte distant.
  <info>int</info>     <strong>$length</strong>  Le nombre d'octets qui doivent être envoyés à l'hôte distant depuis le buffer
                   <strong>$data</strong>.
  <info>int</info>     <strong>$flags</strong>   La valeur du paramètre <strong>$flags</strong> peut être une combinaison des drapeaux suivants,
                   joints par un OU binaire (<return>|</return>). Valeurs possibles pour <strong>$flags</strong><info>MSG_OOB</info> Traite les
                   données OOB (out-of-band). <info>MSG_EOR</info> Indique un marqueur d'enregistrement. Les
                   données envoyées complètent l'enregistrement. <info>MSG_EOF</info> Termine l'envoi via le
                   socket et inclue une notification appropriée à la fin des données envoyées. Les
                   données envoyées complètent la transaction. <info>MSG_DONTROUTE</info> Ignore le routage,
                   utilise une interface directe.

<comment>Return:</comment>
  <info>int|false</info>  Retourne le nombre d'octets envoyés, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_sendto()</strong>


id: socket_sendmsg
type: function
doc:
<comment>Description:</comment>
  Envoi un message
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>   
  <info>array</info>   <strong>$message</strong>  
  <info>int</info>     <strong>$flags</strong>    

<comment>Return:</comment>
  <info>int|false</info>  Retourne le nombre d'octets envoyés,  ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_recvmsg()</strong>
   * <strong>socket_cmsg_space()</strong>


id: socket_sendto
type: function
doc:
<comment>Description:</comment>
  Envoie un message à un socket, qu'il soit connecté ou pas
  
  <strong>socket_sendto()</strong> envoie <strong>$length</strong> octets issus du buffer <strong>$data</strong> via le socket <strong>$socket</strong>, vers le port
  <strong>$port</strong>, à l'adresse <strong>$address</strong>.

<comment>Param:</comment>
  <info>Socket</info>    <strong>$socket</strong>   Une instance de <class>Socket</class> créée par <strong>socket_create()</strong>.
  <info>string</info>    <strong>$data</strong>     Les données à envoyer seront prises depuis le buffer <strong>$data</strong>.
  <info>int</info>       <strong>$length</strong>   <strong>$length</strong> octets depuis <strong>$data</strong> doivent être envoyés.
  <info>int</info>       <strong>$flags</strong>    Peut être une combinaison des drapeaux suivants, joints par un OU binaire (<return>|</return>).
                      Valeurs possibles pour <strong>$flags</strong><info>MSG_OOB</info> Traite les données OOB (out-of-band).
                      <info>MSG_EOR</info> Indique un marqueur d'enregistrement. Les données envoyées complètent
                      l'enregistrement. <info>MSG_EOF</info> Termine l'envoi via le socket et inclue une
                      notification appropriée à la fin des données envoyées. Les données envoyées
                      complètent la transaction. <info>MSG_DONTROUTE</info> Ignore le routage, utilise une
                      interface directe.
  <info>string</info>    <strong>$address</strong>  L'adresse IP de l'hôte distant.
  <info>int|null</info>  <strong>$port</strong>     <strong>$port</strong> est le numéro de port sur lequel les données doivent être envoyées.

<comment>Return:</comment>
  <info>int|false</info>  <strong>socket_sendto()</strong> retourne le nombre d'octets envoyés sur l'hôte distant ou <info>false</info> si une
             erreur survient.

<comment>See Also:</comment>
   * <strong>socket_send()</strong>


id: socket_set_block
type: function
doc:
<comment>Description:</comment>
  Met le socket en mode bloquant
  
  <strong>socket_set_block()</strong> supprime l'option <info>O_NONBLOCK</info> de le socket spécifié par <strong>$socket</strong>.
  
  Lorsqu'une opération (e.g. réception, envoie, connexion, acceptation, ...) est effectuée sur un
  socket non-bloquant, le script ne se met pas en pause tant qu'elle reçoit un signal. Au lieu de
  cela, si l'opération doit résulter en un blocage, la fonction appelée échouera.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_accept()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_set_nonblock()</strong>
   * <strong>socket_set_option()</strong>


id: socket_set_blocking
type: function
doc:
<comment>Description:</comment>
  Alias de stream_set_blocking
  
  Cette fonction est un alias de :   <strong>stream_set_blocking()</strong>.


id: socket_set_nonblock
type: function
doc:
<comment>Description:</comment>
  Sélectionne le mode non bloquant d'un pointeur de fichier
  
  La fonction <strong>socket_set_nonblock()</strong> configure l'option <info>O_NONBLOCK</info> pour le socket spécifié par le
  paramètre <strong>$socket</strong>.
  
  Lorsqu'une opération (e.g. réception, envoie, connexion, acceptation, ...) est effectuée sur un
  socket non-bloquant, le script ne se met pas en pause tant qu'elle reçoit un signal. Au lieu de
  cela, si l'opération doit résulter en un blocage, la fonction appelée échouera.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_accept()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_set_block()</strong>
   * <strong>socket_set_option()</strong>
   * <strong>stream_set_blocking()</strong>


id: socket_set_option
type: function
doc:
<comment>Description:</comment>
  Modifie les options de socket
  
  <strong>socket_set_option()</strong> configure l'option spécifiée par <strong>$option</strong>, au niveau de protocole <strong>$level</strong> à la
  valeur pointée par <strong>$value</strong> pour le socket spécifié par <strong>$socket</strong>.

<comment>Param:</comment>
  <info>Socket</info>            <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong> ou <strong>socket_accept()</strong>.
  <info>int</info>               <strong>$level</strong>   Le paramètre <strong>$level</strong> spécifie la couche du protocole de l'option. Par
                             exemple, pour modifier une option de la couche socket, un niveau égal à
                             <info>SOL_SOCKET</info> va être utilisé. Les autres niveaux, comme TCP, peuvent être
                             utilisés en spécifiant un numéro de protocole pour ce niveau. Les
                             numéros de protocoles peuvent être utilisés en utilisant la fonction
                             <strong>getprotobyname()</strong>.
  <info>int</info>               <strong>$option</strong>  Les options disponibles sont les mêmes que pour la fonction
                             <strong>socket_get_option()</strong>.
  <info>array|string|int</info>  <strong>$value</strong>   La valeur de l'option.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_create()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_strerror()</strong>
   * <strong>socket_last_error()</strong>
   * <strong>socket_get_option()</strong>


id: socket_set_timeout
type: function
doc:
<comment>Description:</comment>
  Alias de stream_set_timeout
  
  Cette fonction est un alias de :  <strong>stream_set_timeout()</strong>.


id: socket_setopt
type: function
doc:
<comment>Description:</comment>
  Alias de socket_set_option
  
  Cette fonction est un alias de :  <strong>socket_set_option()</strong>.


id: socket_shutdown
type: function
doc:
<comment>Description:</comment>
  Éteint un socket en lecture et/ou écriture
  
  <strong>socket_shutdown()</strong> vous permet d'empêcher les données entrantes ou sortantes ou les deux (par
  défaut) d'être émises via le socket <strong>$socket</strong>.
  
  Le ou les buffers associés peuvent, ou peuvent ne pas être vidés.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>  Une instance de <class>Socket</class> créée par <strong>socket_create()</strong>.
  <info>int</info>     <strong>$mode</strong>    La valeur du paramètre <strong>$mode</strong> peut être une des valeurs suivantes : Valeurs
                   possibles pour <strong>$mode</strong><return>0</return> Empêche la lecture du socket <return>1</return> Empêche l'écriture du socket
                   <return>2</return> Empêche l'écriture et la lecture du socket

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: socket_strerror
type: function
doc:
<comment>Description:</comment>
  Retourne une chaîne décrivant un message d'erreur
  
  <strong>socket_strerror()</strong> prend un code d'erreur comme paramètre <strong>$error_code</strong>. Cette valeur est souvent
  retournée par la fonction <strong>socket_last_error()</strong>. La fonction retourne le message d'erreur
  correspondant.
  
  Bien que les messages d'erreur générés par l'extension socket soient en anglais, le système gérant
  les messages de cette fonction dépend de la locale courante (<info>LC_MESSAGES</info>).

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  Une numéro d'erreur de socket valide, comme produit par la fonction
                    <strong>socket_last_error()</strong>.

<comment>Return:</comment>
  <info>string</info>  Retourne le message d'erreur associé avec le paramètre <strong>$error_code</strong>.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_create()</strong>


id: socket_write
type: function
doc:
<comment>Description:</comment>
  Écrit dans un socket
  
  <strong>socket_write()</strong> écrit dans le socket <strong>$socket</strong> les données du buffer <strong>$data</strong>.

<comment>Param:</comment>
  <info>Socket</info>    <strong>$socket</strong>  
  <info>string</info>    <strong>$data</strong>    Le buffer à écrire.
  <info>int|null</info>  <strong>$length</strong>  Le paramètre optionnel <strong>$length</strong> peut spécifier explicitement la taille des
                     données qui doivent être écrites. Si cette longueur est plus grande que la
                     taille du buffer, elle sera ramenée automatiquement à la taille du buffer
                     lui-même.

<comment>Return:</comment>
  <info>int|false</info>  <strong>socket_write()</strong> retourne le nombre d'octets qui ont pu être écrits dans le socket ou
             <info>false</info> si une erreur survient. Le code d'erreur généré peut être obtenu en appelant la
             fonction <strong>socket_last_error()</strong>. Ce code d'erreur peut être passé à la fonction
             <strong>socket_strerror()</strong> pour obtenir un message d'erreur, humainement lisible.
             
             Il est parfaitement valide pour <strong>socket_write()</strong> de retourner zéro, ce qui signifie
             qu'aucun octet n'a été écrit. Soyez bien sûr d'utiliser l'opérateur <return>===</return> pour comparer
             le retour de la fonction avec <info>false</info>, et détecter un cas d'erreur.

<comment>See Also:</comment>
   * <strong>socket_accept()</strong>
   * <strong>socket_bind()</strong>
   * <strong>socket_connect()</strong>
   * <strong>socket_listen()</strong>
   * <strong>socket_read()</strong>
   * <strong>socket_strerror()</strong>


id: socket_wsaprotocol_info_export
type: function
doc:
<comment>Description:</comment>
  Exports the WSAPROTOCOL_INFO Structure
  
  Exports the <return>WSAPROTOCOL_INFO</return> structure into shared memory and returns an identifier to be used
  with <strong>socket_wsaprotocol_info_import()</strong>. The exported ID is only valid for the given <strong>$process_id</strong>.
  
  This function is available only on Windows.

<comment>Param:</comment>
  <info>Socket</info>  <strong>$socket</strong>      A <class>Socket</class> instance.
  <info>int</info>     <strong>$process_id</strong>  The ID of the process which will import the socket.

<comment>Return:</comment>
  <info>string|false</info>  Returns an identifier to be used for the import,  ou <info>false</info> si une erreur survient

<comment>See Also:</comment>
   * <strong>socket_wsaprotocol_info_import()</strong>
   * <strong>socket_wsaprotocol_info_release()</strong>


id: socket_wsaprotocol_info_import
type: function
doc:
<comment>Description:</comment>
  Imports a Socket from another Process
  
  Imports a socket which has formerly been exported from another process.
  
  This function is available only on Windows.

<comment>Param:</comment>
  <info>string</info>  <strong>$info_id</strong>  The ID which has been returned by a former call to
                    <strong>socket_wsaprotocol_info_export()</strong>.

<comment>Return:</comment>
  <info>Socket|false</info>  Returns a <class>Socket</class> instance on success,  ou <info>false</info> si une erreur survient

<comment>See Also:</comment>
   * <strong>socket_wsaprotocol_info_export()</strong>


id: socket_wsaprotocol_info_release
type: function
doc:
<comment>Description:</comment>
  Releases an exported WSAPROTOCOL_INFO Structure
  
  Releases the shared memory corresponding to the given <strong>$info_id</strong>.
  
  This function is available only on Windows.

<comment>Param:</comment>
  <info>string</info>  <strong>$info_id</strong>  The ID which has been returned by a former call to
                    <strong>socket_wsaprotocol_info_export()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>socket_wsaprotocol_info_export()</strong>


id: sodium_add
type: function
doc:
<comment>Description:</comment>
  Add large numbers
  
  This adds the parameter <strong>$string2</strong> to <strong>$string1</strong>, overwriting the value stored in <strong>$string1</strong>. This
  function assumes both parameters are binary strings that represent unsigned integers in
  little-endian byte order.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  String representing an arbitrary-length unsigned integer in little-endian byte
                    order. This parameter is passed by reference and will hold the sum of the two
                    parameters.
  <info>string</info>  <strong>$string2</strong>  String representing an arbitrary-length unsigned integer in little-endian byte
                    order.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: sodium_base642bin
type: function
doc:
<comment>Description:</comment>
  Decodes a base64-encoded string into raw binary.
  
  Converts a base64 encoded string into raw binary. Unlike <strong>base64_decode()</strong>, <strong>sodium_base642bin()</strong> is
  constant-time (a property that is important for any code that touches cryptographic inputs, such
  as plaintexts or keys) and supports multiple character sets.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  <info>string</info>; Encoded string.
  <info>int</info>     <strong>$id</strong>      <info>SODIUM_BASE64_VARIANT_ORIGINAL</info> for standard (<return>A-Za-z0-9/\+</return>) Base64 encoding.
                   <info>SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING</info> for standard (<return>A-Za-z0-9/\+</return>) Base64
                   encoding, without <return>=</return> padding characters. <info>SODIUM_BASE64_VARIANT_URLSAFE</info> for
                   URL-safe (<return>A-Za-z0-9\-_</return>) Base64 encoding. <info>SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING</info>
                   for URL-safe (<return>A-Za-z0-9\-_</return>) Base64 encoding, without <return>=</return> padding characters.
  <info>string</info>  <strong>$ignore</strong>  Characters to ignore when decoding (e.g. whitespace characters).

<comment>Return:</comment>
  <info>string</info>  Decoded string.


id: sodium_bin2base64
type: function
doc:
<comment>Description:</comment>
  Encodes a raw binary string with base64.
  
  Converts a raw binary string into a base64-encoded string. Unlike <strong>base64_encode()</strong>,
  <strong>sodium_bin2base64()</strong> is constant-time (a property that is important for any code that touches
  cryptographic inputs, such as plaintexts or keys) and supports multiple character sets.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Raw binary string.
  <info>int</info>     <strong>$id</strong>      <info>SODIUM_BASE64_VARIANT_ORIGINAL</info> for standard (<return>A-Za-z0-9/\+</return>) Base64 encoding.
                   <info>SODIUM_BASE64_VARIANT_ORIGINAL_NO_PADDING</info> for standard (<return>A-Za-z0-9/\+</return>) Base64
                   encoding, without <return>=</return> padding characters. <info>SODIUM_BASE64_VARIANT_URLSAFE</info> for
                   URL-safe (<return>A-Za-z0-9\-_</return>) Base64 encoding. <info>SODIUM_BASE64_VARIANT_URLSAFE_NO_PADDING</info>
                   for URL-safe (<return>A-Za-z0-9\-_</return>) Base64 encoding, without <return>=</return> padding characters.

<comment>Return:</comment>
  <info>string</info>  Base64-encoded string.


id: sodium_bin2hex
type: function
doc:
<comment>Description:</comment>
  Encode to hexadecimal
  
  Converts a raw binary string into a hex-encoded string. Unlike the standard hex-encoding function,
  <strong>sodium_bin2hex()</strong> is constant-time (a property that is important for any code that touches
  cryptographic inputs, such as plaintexts or keys).

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Raw binary string.

<comment>Return:</comment>
  <info>string</info>  Hex encoded string.


id: sodium_compare
type: function
doc:
<comment>Description:</comment>
  Compare large numbers
  
  Compare two strings as if they were arbitrary-length, unsigned little-endian integers, without
  side-channel leakage.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  Left operand
  <info>string</info>  <strong>$string2</strong>  Right operand

<comment>Return:</comment>
  <info>int</info>  Returns <return>-1</return> if <strong>$string1</strong> is less than <strong>$string2</strong>.
       
       Returns <return>1</return> if <strong>$string1</strong> is greater than <strong>$string2</strong>.
       
       Returns <return>0</return> if both strings are equal.


id: sodium_crypto_aead_aes256gcm_decrypt
type: function
doc:
<comment>Description:</comment>
  Verify then decrypt a message with AES-256-GCM
  
  Verify then decrypt with AES-256-GCM. Only available if
  <strong>sodium_crypto_aead_aes256gcm_is_available()</strong> returns <info>true</info>.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>       Must be in the format provided by <strong>sodium_crypto_aead_aes256gcm_encrypt()</strong>
                            (ciphertext and tag, concatenated).
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 12 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_aead_aes256gcm_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypt then authenticate with AES-256-GCM
  
  Encrypt then authenticate with AES-256-GCM. Only available if
  <strong>sodium_crypto_aead_aes256gcm_is_available()</strong> returns <info>true</info>.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>          The plaintext message to encrypt.
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 12 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the ciphertext and authentication tag as a string of raw binary bytes. (Format:
          ciphertext, then tag.)


id: sodium_crypto_aead_aes256gcm_is_available
type: function
doc:
<comment>Description:</comment>
  Check if hardware supports AES256-GCM
  
  The return value of this function depends on whether or not the hardware supports
  hardware-accelerated AES.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if it is safe to encrypt with AES-256-GCM, and <info>false</info> otherwise.


id: sodium_crypto_aead_aes256gcm_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random AES-256-GCM key
  
  Generate a random key for use with <strong>sodium_crypto_aead_aes256gcm_encrypt()</strong> and
  <strong>sodium_crypto_aead_aes256gcm_decrypt()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_aead_chacha20poly1305_decrypt
type: function
doc:
<comment>Description:</comment>
  Verify then decrypt with ChaCha20-Poly1305
  
  Verify then decrypt with ChaCha20-Poly1305.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>       Must be in the format provided by
                            <strong>sodium_crypto_aead_chacha20poly1305_encrypt()</strong> (ciphertext and tag,
                            concatenated).
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 8 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_aead_chacha20poly1305_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypt then authenticate with ChaCha20-Poly1305
  
  Encrypt then authenticate with ChaCha20-Poly1305.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>          The plaintext message to encrypt.
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 8 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the ciphertext and tag on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_aead_chacha20poly1305_ietf_decrypt
type: function
doc:
<comment>Description:</comment>
  Verify that the ciphertext includes a valid tag
  
  Verify then decrypt with ChaCha20-Poly1305 (IETF variant).
  
  The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>       Must be in the format provided by
                            <strong>sodium_crypto_aead_chacha20poly1305_ietf_encrypt()</strong> (ciphertext and tag,
                            concatenated).
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 12 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_aead_chacha20poly1305_ietf_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypt a message
  
  Encrypt then authenticate with ChaCha20-Poly1305 (IETF variant).
  
  The IETF variant uses 96-bit nonces and 32-bit internal counters, instead of 64-bit for both.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>          The plaintext message to encrypt.
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 12 bytes long.
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the ciphertext and tag on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_aead_chacha20poly1305_ietf_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random ChaCha20-Poly1305 (IETF) key.
  
  Generate a random key for use with <strong>sodium_crypto_aead_chacha20poly1305_ietf_encrypt()</strong> and
  <strong>sodium_crypto_aead_chacha20poly1305_ietf_decrypt()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_aead_chacha20poly1305_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random ChaCha20-Poly1305 key.
  
  Generate a random key for use with <strong>sodium_crypto_aead_chacha20poly1305_encrypt()</strong> and
  <strong>sodium_crypto_aead_chacha20poly1305_decrypt()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_aead_xchacha20poly1305_ietf_decrypt
type: function
doc:
<comment>Description:</comment>
  (Preferred) Verify then decrypt with XChaCha20-Poly1305
  
  Verify then decrypt with ChaCha20-Poly1305 (eXtended-nonce variant).
  
  Generally, XChaCha20-Poly1305 is the best of the provided AEAD modes to use.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>       Must be in the format provided by
                            <strong>sodium_crypto_aead_chacha20poly1305_ietf_encrypt()</strong> (ciphertext and tag,
                            concatenated).
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 24 bytes long. This
                            is a large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_aead_xchacha20poly1305_ietf_encrypt
type: function
doc:
<comment>Description:</comment>
  (Preferred) Encrypt then authenticate with XChaCha20-Poly1305
  
  Encrypt then authenticate with XChaCha20-Poly1305 (eXtended-nonce variant).
  
  Generally, XChaCha20-Poly1305 is the best of the provided AEAD modes to use.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>          The plaintext message to encrypt.
  <info>string</info>  <strong>$additional_data</strong>  Additional, authenticated data. This is used in the verification of the
                            authentication tag appended to the ciphertext, but it is not encrypted
                            or stored in the ciphertext.
  <info>string</info>  <strong>$nonce</strong>            A number that must be only used once, per message. 24 bytes long. This
                            is a large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>              Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the ciphertext and tag on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_aead_xchacha20poly1305_ietf_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random XChaCha20-Poly1305 key.
  
  Generate a random key for use with <strong>sodium_crypto_aead_xchacha20poly1305_ietf_encrypt()</strong> and
  <strong>sodium_crypto_aead_xchacha20poly1305_ietf_decrypt()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_auth
type: function
doc:
<comment>Description:</comment>
  Compute a tag for the message
  
  Symmetric message authentication via <strong>sodium_crypto_auth()</strong> provides integrity, but not
  confidentiality.
  
  Unlike with digital signatures (e.g. <strong>sodium_crypto_sign_detached()</strong>), any party capable of
  verifying a message is also capable of authenticating their own messages. (Hence, symmetric
  authentication.)

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message you intend to authenticate
  <info>string</info>  <strong>$key</strong>      Authentication key

<comment>Return:</comment>
  <info>string</info>  Authentication tag


id: sodium_crypto_auth_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random key for sodium_crypto_auth
  
  Generate a key for use with <strong>sodium_crypto_auth()</strong> and <strong>sodium_crypto_auth_verify()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 256-bit random key.


id: sodium_crypto_auth_verify
type: function
doc:
<comment>Description:</comment>
  Verifies that the tag is valid for the message
  
  Verify the authentication tag is valid for a given message and key.
  
  Unlike with digital signatures (e.g. <strong>sodium_crypto_sign_verify_detached()</strong>), any party capable of
  verifying a message is also capable of authenticating their own messages. (Hence, symmetric
  authentication.)

<comment>Param:</comment>
  <info>string</info>  <strong>$mac</strong>      Authentication tag produced by <strong>sodium_crypto_auth()</strong>
  <info>string</info>  <strong>$message</strong>  Message
  <info>string</info>  <strong>$key</strong>      Authentication key

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: sodium_crypto_box
type: function
doc:
<comment>Description:</comment>
  Authenticated public-key encryption
  
  Encrypt a message using asymmetric (public key) cryptography.
  
  The algorithm used by functions prefixed with <strong>sodium_crypto_box()</strong> are Elliptic Curve
  Diffie-Hellman over the Montgomery curve, Curve25519; usually abbreviated as X25519.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>   The message to be encrypted.
  <info>string</info>  <strong>$nonce</strong>     A number that must be only used once, per message. 24 bytes long. This is a
                     large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key_pair</strong>  See <strong>sodium_crypto_box_keypair_from_secretkey_and_publickey()</strong>. This should
                     include the sender's X25519 secret key and the recipient's X25519 public key.

<comment>Return:</comment>
  <info>string</info>  Returns the encrypted message (ciphertext plus authentication tag). The ciphertext will be
          16 bytes longer than the plaintext, and a raw binary string. See <strong>sodium_bin2base64()</strong> for
          safe encoding for storage.


id: sodium_crypto_box_keypair
type: function
doc:
<comment>Description:</comment>
  Randomly generate a secret key and a corresponding public key
  
  Generates a secret key and a public key as one string.
  
  To get the secret key out of this unified keypair string, see <strong>sodium_crypto_box_secretkey()</strong>. To
  get the public key out of this unified keypair string, see <strong>sodium_crypto_box_publickey()</strong>.

<comment>Return:</comment>
  <info>string</info>  One string containing both the X25519 secret key and corresponding X25519 public key.


id: sodium_crypto_box_keypair_from_secretkey_and_publickey
type: function
doc:
<comment>Description:</comment>
  Create a unified keypair string from a secret key and public key
  
  This function exists to satisfy the API requirements of e.g. <strong>crypto_box()</strong>. Pass in one party's
  secret key and the other's public key, and you will obtain a "keypair" for your conversation.

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  Secret key.
  <info>string</info>  <strong>$public_key</strong>  Public key.

<comment>Return:</comment>
  <info>string</info>  X25519 Keypair.


id: sodium_crypto_box_open
type: function
doc:
<comment>Description:</comment>
  Authenticated public-key decryption
  
  Decrypt a message using asymmetric (public key) cryptography.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>  The encrypted message to attempt to decrypt.
  <info>string</info>  <strong>$nonce</strong>       A number that must be only used once, per message. 24 bytes long. This is a
                       large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key_pair</strong>    See <strong>sodium_crypto_box_keypair_from_secretkey_and_publickey()</strong>. This should
                       include the sender's public key and the recipient's secret key.

<comment>Return:</comment>
  <info>string|false</info>  Returns the plaintext message on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_box_publickey
type: function
doc:
<comment>Description:</comment>
  Extract the public key from a crypto_box keypair
  
  Given a keypair, fetch only the public key.

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  A keypair, such as one generated by <strong>sodium_crypto_box_keypair()</strong> or
                     <strong>sodium_crypto_box_seed_keypair()</strong>

<comment>Return:</comment>
  <info>string</info>  X25519 public key.


id: sodium_crypto_box_publickey_from_secretkey
type: function
doc:
<comment>Description:</comment>
  Calculate the public key from a secret key
  
  Given a secret key, calculate the corresponding public key.
  
  This only works with the type of keys intended for use with <strong>crypto_box()</strong> (which uses Elliptic
  Curve Diffie-Hellman over the Montgomery curve, Curve25519; abbreviated as X25519), not
  <strong>crypto_sign()</strong> (which uses Edwards Digital Signature Algorithm over the Edwards Curve with the
  corresponding paramaters; abbreviated Ed25519).

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  X25519 secret key

<comment>Return:</comment>
  <info>string</info>  X25519 public key.


id: sodium_crypto_box_seal
type: function
doc:
<comment>Description:</comment>
  Anonymous public-key encryption
  
  Encrypt a message such that only the recipient can decrypt it.
  
  Unlike with <strong>sodium_crypto_box()</strong>, you only need to know the recipient's public key to use
  <strong>sodium_crypto_box_seal()</strong>. One consequence of this convenience, however, is that the ciphertext
  isn't bound to a static public key, and is therefore not authenticated. Hence, anonymous
  public-key encryption.
  
  <strong>sodium_crypto_box_seal()</strong> still provides ciphertext integrity. Just not sender identity
  authentication.
  
  If you also need sender authentication, the <strong>sodium_crypto_sign()</strong> functions are likely the best
  place to start.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>     The message to encrypt.
  <info>string</info>  <strong>$public_key</strong>  The public key that corresponds to the only key that can decrypt the message.

<comment>Return:</comment>
  <info>string</info>  A ciphertext string in the format of (one-time public key, encrypted message,
          authentication tag).


id: sodium_crypto_box_seal_open
type: function
doc:
<comment>Description:</comment>
  Anonymous public-key decryption
  
  Decrypt a message that was encrypted with <strong>sodium_crypto_box_seal()</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>  The encrypted message
  <info>string</info>  <strong>$key_pair</strong>    The keypair of the recipient. Must include the secret key.

<comment>Return:</comment>
  <info>string|false</info>  The plaintext on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_box_secretkey
type: function
doc:
<comment>Description:</comment>
  Extracts the secret key from a crypto_box keypair
  
  Given a keypair, fetch only the secret key.

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  A keypair, such as one generated by <strong>sodium_crypto_box_keypair()</strong> or
                     <strong>sodium_crypto_box_seed_keypair()</strong>

<comment>Return:</comment>
  <info>string</info>  X25519 secret key.


id: sodium_crypto_box_seed_keypair
type: function
doc:
<comment>Description:</comment>
  Deterministically derive the key pair from a single key
  
  Clamps the seed to form a secret key, derives the public key, and returns the two as a keypair.
  
  The <return>*_seed_keypair</return> functions are ideal for generating a keypair from a password and salt. Use the
  result as a <strong>$seed</strong> to generate the desired keys.

<comment>Param:</comment>
  <info>string</info>  <strong>$seed</strong>  Some cryptographic input. Must be 32 bytes.

<comment>Return:</comment>
  <info>string</info>  X25519 Keypair (secret key and public key).


id: sodium_crypto_core_ristretto255_add
type: function
doc:
<comment>Description:</comment>
  Adds an element
  
  Adds an element <strong>$q</strong> to <strong>$p</strong>. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$p</strong>  An element.
  <info>string</info>  <strong>$q</strong>  An element.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_random()</strong>
   * <strong>sodium_crypto_core_ristretto255_sub()</strong>


id: sodium_crypto_core_ristretto255_from_hash
type: function
doc:
<comment>Description:</comment>
  Maps a vector
  
  Maps a 64-bytes vector <strong>$s</strong> to a group element. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  A 64-bytes vector.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_hex2bin()</strong>
   * <strong>sodium_bin2hex()</strong>
   * <strong>sodium_crypto_core_ristretto255_from_hash()</strong>


id: sodium_crypto_core_ristretto255_is_valid_point
type: function
doc:
<comment>Description:</comment>
  Determines if a point on the ristretto255 curve
  
  Determines if a point on the ristretto255 curve, in canonical form, on the main subgroup, and that
  the point doesn't have a small order. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  An Elliptic-curve point.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$s</strong> is on the ristretto255 curve, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>
   * <strong>sodium_crypto_scalarmult_ristretto255_base()</strong>


id: sodium_crypto_core_ristretto255_random
type: function
doc:
<comment>Description:</comment>
  Generates a random key
  
  Generates a random key. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_add()</strong>
   * <strong>sodium_crypto_core_ristretto255_sub()</strong>


id: sodium_crypto_core_ristretto255_scalar_add
type: function
doc:
<comment>Description:</comment>
  Adds a scalar value
  
  Adds an element <strong>$y</strong> to <strong>$x</strong>. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$x</strong>  Scalar, representing the X coordinate.
  <info>string</info>  <strong>$y</strong>  Scalar, representing the Y coordinate.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>
   * <strong>sodium_crypto_core_ristretto255_scalar_sub()</strong>


id: sodium_crypto_core_ristretto255_scalar_complement
type: function
doc:
<comment>Description:</comment>
  The sodium_crypto_core_ristretto255_scalar_complement purpose
  
  Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  Scalar value.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_invert
type: function
doc:
<comment>Description:</comment>
  Inverts a scalar value
  
  Inverts a scalar value. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  Scalar value.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_mul
type: function
doc:
<comment>Description:</comment>
  Multiplies a scalar value
  
  Multiplies a scalar value. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$x</strong>  Scalar, representing the X coordinate.
  <info>string</info>  <strong>$y</strong>  Scalar, representing the Y coordinate.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_negate
type: function
doc:
<comment>Description:</comment>
  Negates a scalar value
  
  Negates a scalar value. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  Scalar value.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_random
type: function
doc:
<comment>Description:</comment>
  Generates a random key
  
  Generates a random key. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_add()</strong>
   * <strong>sodium_crypto_core_ristretto255_scalar_sub()</strong>


id: sodium_crypto_core_ristretto255_scalar_reduce
type: function
doc:
<comment>Description:</comment>
  Reduces a scalar value
  
  Reduces a scalar value. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$s</strong>  Scalar value.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>


id: sodium_crypto_core_ristretto255_scalar_sub
type: function
doc:
<comment>Description:</comment>
  Subtracts a scalar value
  
  Subtracts a scalar <strong>$y</strong> from <strong>$x</strong>. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$x</strong>  Scalar, representing the X coordinate.
  <info>string</info>  <strong>$y</strong>  Scalar, representing the Y coordinate.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_scalar_random()</strong>
   * <strong>sodium_crypto_core_ristretto255_scalar_add()</strong>


id: sodium_crypto_core_ristretto255_sub
type: function
doc:
<comment>Description:</comment>
  Subtracts an element
  
  Subtracts an element <strong>$q</strong> from <strong>$p</strong>. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$p</strong>  An element.
  <info>string</info>  <strong>$q</strong>  An element.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_core_ristretto255_random()</strong>
   * <strong>sodium_crypto_core_ristretto255_add()</strong>


id: sodium_crypto_generichash
type: function
doc:
<comment>Description:</comment>
  Get a hash of the message
  
  Hash a message with BLAKE2b.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message being hashed.
  <info>string</info>  <strong>$key</strong>      (Optional) cryptographic key. This serves the same function as a HMAC key, but
                    it's utilized as a reserved section of the internal BLAKE2 state.
  <info>int</info>     <strong>$length</strong>   Output size.

<comment>Return:</comment>
  <info>string</info>  The cryptographic hash as raw bytes. If a hex-encoded output is desired, the result can be
          passed to <strong>sodium_bin2hex()</strong>.


id: sodium_crypto_generichash_final
type: function
doc:
<comment>Description:</comment>
  Complete the hash
  
  The finalization method for the streaming generichash API.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>   Hash state returned from <strong>sodium_crypto_generichash_init()</strong>
  <info>int</info>     <strong>$length</strong>  Output length.

<comment>Return:</comment>
  <info>string</info>  Cryptographic hash.


id: sodium_crypto_generichash_init
type: function
doc:
<comment>Description:</comment>
  Initialize a hash for streaming
  
  The initialization method for the streaming generichash API.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>     The generichash key.
  <info>int</info>     <strong>$length</strong>  The expected output length of the hash function.

<comment>Return:</comment>
  <info>string</info>  Returns a hash state, serialized as a raw binary string.


id: sodium_crypto_generichash_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random generichash key
  
  Generate a random key for use with the generichash API.

<comment>Return:</comment>
  <info>string</info>  A random 256-bit key.


id: sodium_crypto_generichash_update
type: function
doc:
<comment>Description:</comment>
  Add message to a hash
  
  Appends a message to the internal hash state.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>    The return value of <strong>sodium_crypto_generichash_init()</strong>.
  <info>string</info>  <strong>$message</strong>  Data to append to the hashing state.

<comment>Return:</comment>
  <info>true</info>  Retourne toujours <info>true</info>.


id: sodium_crypto_kdf_derive_from_key
type: function
doc:
<comment>Description:</comment>
  Derive a subkey
  
  Derive a subkey from a root key and additional context.
  
  Similar to <strong>hash_hkdf()</strong>.

<comment>Param:</comment>
  <info>int</info>     <strong>$subkey_length</strong>  Length of the key to return (in bytes)
  <info>int</info>     <strong>$subkey_id</strong>      Return the Nth subkey from a given root key. Useful for seeking.
  <info>string</info>  <strong>$context</strong>        Application-specific context.
  <info>string</info>  <strong>$key</strong>            The root key from which the subkey is derived.

<comment>Return:</comment>
  <info>string</info>  A string of pseudorandom (raw binary) bytes.


id: sodium_crypto_kdf_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random root key for the KDF interface
  
  Generates a random key suitable for serving as the root key for
  <strong>sodium_crypto_kdf_derive_from_key()</strong>.

<comment>Return:</comment>
  <info>string</info>  A random 256-bit key.


id: sodium_crypto_kx_client_session_keys
type: function
doc:
<comment>Description:</comment>
  Calculate the client-side session keys.
  
  Calculate the client-side session keys, using the X25519 + BLAKE2b key-exchange method.

<comment>Param:</comment>
  <info>string</info>  <strong>$client_key_pair</strong>  A crypto_kx keypair, such as one generated by
                            <strong>sodium_crypto_kx_keypair()</strong>.
  <info>string</info>  <strong>$server_key</strong>       A crypto_kx public key.

<comment>Return:</comment>
  <info>array</info>  An array consisting of two strings. The first should be used for receiving data from the
         server. The second should be used for sending data to the server.


id: sodium_crypto_kx_keypair
type: function
doc:
<comment>Description:</comment>
  Creates a new sodium keypair
  
  Create a new sodium keypair consisting of the secret key (32 bytes) followed by the public key (32
  bytes). The keys can be retrieved by calling <strong>sodium_crypto_kx_secretkey()</strong> and
  <strong>sodium_crypto_kx_publickey()</strong>, respectively.

<comment>Return:</comment>
  <info>string</info>  Returns the new keypair on success; throws an exception otherwise.


id: sodium_crypto_kx_publickey
type: function
doc:
<comment>Description:</comment>
  Extract the public key from a crypto_kx keypair
  
  Extract the public key from a crypto_kx keypair.

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  X25519 keypair, such as one generated by <strong>sodium_crypto_kx_keypair()</strong>.

<comment>Return:</comment>
  <info>string</info>  X25519 public key.


id: sodium_crypto_kx_secretkey
type: function
doc:
<comment>Description:</comment>
  Extract the secret key from a crypto_kx keypair.
  
  Extract the secret key from a crypto_kx keypair.

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  X25519 keypair, such as one generated by <strong>sodium_crypto_kx_keypair()</strong>.

<comment>Return:</comment>
  <info>string</info>  X25519 secret key.


id: sodium_crypto_kx_seed_keypair
type: function
doc:
<comment>Description:</comment>
  Description
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$seed</strong>  

<comment>Return:</comment>
  <info>string</info>  


id: sodium_crypto_kx_server_session_keys
type: function
doc:
<comment>Description:</comment>
  Calculate the server-side session keys.
  
  Calculate the server-side session keys, using the X25519 + BLAKE2b key-exchange method.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key_pair</strong>  A crypto_kx keypair, such as one generated by
                            <strong>sodium_crypto_kx_keypair()</strong>.
  <info>string</info>  <strong>$client_key</strong>       A crypto_kx public key.

<comment>Return:</comment>
  <info>array</info>  An array consisting of two strings. The first should be used for receiving data from the
         client. The second should be used for sending data to the client.


id: sodium_crypto_pwhash
type: function
doc:
<comment>Description:</comment>
  Derive a key from a password, using Argon2
  
  This function provides low-level access to libsodium's crypto_pwhash key derivation function.
  Unless you have specific reason to use this function, you should use <strong>sodium_crypto_pwhash_str()</strong> or
  <strong>password_hash()</strong> functions instead.
  
  A common reason to use this particular function is to derive the seeds for cryptographic keys from
  a password and salt, and then use these seeds to generate the actual keys needed for some purpose
  (e.g. <strong>sodium_crypto_sign_detached()</strong>).

<comment>Param:</comment>
  <info>int</info>     <strong>$length</strong>    <info>int</info>; The length of the password hash to generate, in bytes.
  <info>string</info>  <strong>$password</strong>  <info>string</info>; The password to generate a hash for.
  <info>string</info>  <strong>$salt</strong>      A salt to add to the password before hashing. The salt should be unpredictable,
                     ideally generated from a good random number source such as <strong>random_bytes()</strong>, and
                     have a length of at least <info>SODIUM_CRYPTO_PWHASH_SALTBYTES</info> bytes.
  <info>int</info>     <strong>$opslimit</strong>  Represents a maximum amount of computations to perform. Raising this number
                     will make the function require more CPU cycles to compute a key. There are some
                     constants available to set the operations limit to appropriate values depending
                     on intended use, in order of strength:
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE</info>,
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE</info> and
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE</info>.
  <info>int</info>     <strong>$memlimit</strong>  The maximum amount of RAM that the function will use, in bytes. There are
                     constants to help you choose an appropriate value, in order of size:
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE</info>,
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE</info>, and
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE</info>. Typically these should be paired with
                     the matching <strong>$opslimit</strong> values.
  <info>int</info>     <strong>$algo</strong>      <info>int</info> A number indicating the hash algorithm to use. By default
                     <info>SODIUM_CRYPTO_PWHASH_ALG_DEFAULT</info> (the currently recommended algorithm, which
                     can change from one version of libsodium to another), or explicitly using
                     <info>SODIUM_CRYPTO_PWHASH_ALG_ARGON2ID13</info>, representing the Argon2id algorithm
                     version 1.3.

<comment>Return:</comment>
  <info>string</info>  Returns the derived key. The return value is a binary string of the hash, not an
          ASCII-encoded representation, and does not contain additional information about the
          parameters used to create the hash, so you will need to keep that information if you are
          ever going to verify the password in future. Use <strong>sodium_crypto_pwhash_str()</strong> to avoid
          needing to do all that.


id: sodium_crypto_pwhash_scryptsalsa208sha256
type: function
doc:
<comment>Description:</comment>
  Derives a key from a password, using scrypt
  
  This is the scrypt counterpart to <strong>sodium_crypto_pwhash()</strong>.
  
  A common reason to use this particular function is to derive the seeds for cryptographic keys from
  a password and salt, and then use these seeds to generate the actual keys needed for some purpose
  (e.g. <strong>sodium_crypto_sign_detached()</strong>).

<comment>Param:</comment>
  <info>int</info>     <strong>$length</strong>    The length of the password hash to generate, in bytes.
  <info>string</info>  <strong>$password</strong>  The password to generate a hash for.
  <info>string</info>  <strong>$salt</strong>      A salt to add to the password before hashing. The salt should be unpredictable,
                     ideally generated from a good random number source such as <strong>random_bytes()</strong>, and
                     have a length of at least <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_SALTBYTES</info>
                     bytes.
  <info>int</info>     <strong>$opslimit</strong>  Represents a maximum amount of computations to perform. Raising this number
                     will make the function require more CPU cycles to compute a key. There are some
                     constants available to set the operations limit to appropriate values depending
                     on intended use, in order of strength:
                     <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_INTERACTIVE</info> and
                     <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_OPSLIMIT_SENSITIVE</info>.
  <info>int</info>     <strong>$memlimit</strong>  The maximum amount of RAM that the function will use, in bytes. There are
                     constants to help you choose an appropriate value, in order of size:
                     <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_INTERACTIVE</info> and
                     <info>SODIUM_CRYPTO_PWHASH_SCRYPTSALSA208SHA256_MEMLIMIT_SENSITIVE</info>. Typically these
                     should be paired with the matching <strong>$opslimit</strong> values.

<comment>Return:</comment>
  <info>string</info>  A string of bytes of the desired length.


id: sodium_crypto_pwhash_scryptsalsa208sha256_str
type: function
doc:
<comment>Description:</comment>
  Get an ASCII encoded hash
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  
  <info>int</info>     <strong>$opslimit</strong>  
  <info>int</info>     <strong>$memlimit</strong>  

<comment>Return:</comment>
  <info>string</info>  


id: sodium_crypto_pwhash_scryptsalsa208sha256_str_verify
type: function
doc:
<comment>Description:</comment>
  Verify that the password is a valid password verification string
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$hash</strong>      
  <info>string</info>  <strong>$password</strong>  

<comment>Return:</comment>
  <info>bool</info>  


id: sodium_crypto_pwhash_str
type: function
doc:
<comment>Description:</comment>
  Get an ASCII-encoded hash
  
  Uses a CPU- and memory-hard hash algorithm along with a randomly-generated salt, and memory and
  CPU limits to generate an ASCII-encoded hash suitable for password storage.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  <info>string</info>; The password to generate a hash for.
  <info>int</info>     <strong>$opslimit</strong>  Represents a maximum amount of computations to perform. Raising this number
                     will make the function require more CPU cycles to compute a key. There are
                     constants available to set the operations limit to appropriate values depending
                     on intended use, in order of strength:
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_INTERACTIVE</info>,
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_MODERATE</info> and
                     <info>SODIUM_CRYPTO_PWHASH_OPSLIMIT_SENSITIVE</info>.
  <info>int</info>     <strong>$memlimit</strong>  The maximum amount of RAM that the function will use, in bytes. There are
                     constants to help you choose an appropriate value, in order of size:
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_INTERACTIVE</info>,
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_MODERATE</info>, and
                     <info>SODIUM_CRYPTO_PWHASH_MEMLIMIT_SENSITIVE</info>. Typically these should be paired with
                     the matching opslimit values.

<comment>Return:</comment>
  <info>string</info>  Returns the hashed password.
          
          In order to produce the same password hash from the same password, the same values for
          <strong>$opslimit</strong> and <strong>$memlimit</strong> must be used. These are embedded within the generated hash, so
          everything that's needed to verify the hash is included. This allows the
          <strong>sodium_crypto_pwhash_str_verify()</strong> function to verify the hash without needing separate
          storage for the other parameters.

<comment>See Also:</comment>
   * <strong>sodium_crypto_pwhash_str_verify()</strong>
   * <strong>sodium_crypto_pwhash()</strong>
   * <strong>password_hash()</strong>
   * <strong>password_verify()</strong>
   * Libsodium Argon2 docs


id: sodium_crypto_pwhash_str_needs_rehash
type: function
doc:
<comment>Description:</comment>
  Determine whether or not to rehash a password
  
  Determine whether or not to rehash a password, based on the current hash <strong>$opslimit</strong> and <strong>$memlimit</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  Password hash
  <info>int</info>     <strong>$opslimit</strong>  Configured opslimit; see <strong>sodium_crypto_pwhash_str()</strong>
  <info>int</info>     <strong>$memlimit</strong>  Configured memlimit; see <strong>sodium_crypto_pwhash_str()</strong>

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the provided memlimit/opslimit do not match what's stored in the hash.
        Returns <info>false</info> if they match.


id: sodium_crypto_pwhash_str_verify
type: function
doc:
<comment>Description:</comment>
  Verifies that a password matches a hash
  
  Checks that a password hash created using <strong>sodium_crypto_pwhash_str()</strong> matches a given plain-text
  password. Note that the parameters are in the opposite order to the same parameters in the similar
  <strong>password_verify()</strong> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$hash</strong>      Un hachage créé par la fonction <strong>password_hash()</strong>.
  <info>string</info>  <strong>$password</strong>  Le mot de passe utilisateur.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the password and hash match, or <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>sodium_crypto_pwhash_str()</strong>
   * <strong>password_hash()</strong>
   * <strong>password_verify()</strong>


id: sodium_crypto_scalarmult
type: function
doc:
<comment>Description:</comment>
  Compute a shared secret given a user's secret key and another user's public key
  
  Elliptic Curve Diffie-Hellman. Calculates scalar n times point p, on an elliptic curve.

<comment>Param:</comment>
  <info>string</info>  <strong>$n</strong>  scalar, which is typically a secret key
  <info>string</info>  <strong>$p</strong>  point (x-coordinate), which is typically a public key

<comment>Return:</comment>
  <info>string</info>  A 32-byte random string.


id: sodium_crypto_scalarmult_base
type: function
doc:
<comment>Description:</comment>
  Alias de sodium_crypto_box_publickey_from_secretkey
  
  Cette fonction est un alias de :  <strong>sodium_crypto_box_publickey_from_secretkey()</strong>.


id: sodium_crypto_scalarmult_ristretto255
type: function
doc:
<comment>Description:</comment>
  Computes a shared secret
  
  Calculates scalar <strong>$n</strong> times point <strong>$p</strong>. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$n</strong>  A scalar, which is typically a secret key.
  <info>string</info>  <strong>$p</strong>  A point (x-coordinate), which is typically a public key.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_scalarmult_ristretto255_base()</strong>


id: sodium_crypto_scalarmult_ristretto255_base
type: function
doc:
<comment>Description:</comment>
  Calculates the public key from a secret key
  
  Given a secret key, calculates the corresponding public key. Available as of libsodium 1.0.18.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>string</info>  <strong>$n</strong>  A secret key.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte random chaîne de caractères.

<comment>See Also:</comment>
   * <strong>sodium_crypto_scalarmult_ristretto255()</strong>


id: sodium_crypto_secretbox
type: function
doc:
<comment>Description:</comment>
  Authenticated shared-key encryption
  
  Encrypt a message with a symmetric (shared) key.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The plaintext message to encrypt.
  <info>string</info>  <strong>$nonce</strong>    A number that must be only used once, per message. 24 bytes long. This is a
                    large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>      Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Returns the encrypted string.

<comment>See Also:</comment>
   * <strong>sodium_crypto_secretbox_open()</strong>
   * <strong>sodium_crypto_secretbox_keygen()</strong>
   * <strong>random_bytes()</strong>


id: sodium_crypto_secretbox_keygen
type: function
doc:
<comment>Description:</comment>
  Generate random key for sodium_crypto_secretbox
  
  Generate a key for use with <strong>sodium_crypto_secretbox()</strong> and <strong>sodium_crypto_secretbox_open()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the generated string of cryptographically secure random bytes.

<comment>See Also:</comment>
   * <strong>sodium_bin2hex()</strong>
   * <strong>random_bytes()</strong>


id: sodium_crypto_secretbox_open
type: function
doc:
<comment>Description:</comment>
  Authenticated shared-key decryption
  
  Decrypt an encrypted message with a symmetric (shared) key.

<comment>Param:</comment>
  <info>string</info>  <strong>$ciphertext</strong>  Must be in the format provided by <strong>sodium_crypto_secretbox()</strong> (ciphertext and
                       tag, concatenated).
  <info>string</info>  <strong>$nonce</strong>       A number that must be only used once, per message. 24 bytes long. This is a
                       large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>         Encryption key (256-bit).

<comment>Return:</comment>
  <info>string|false</info>  The decrypted string on success ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sodium_crypto_secretbox()</strong>
   * <strong>sodium_crypto_secretbox_keygen()</strong>
   * <strong>random_bytes()</strong>


id: sodium_crypto_secretstream_xchacha20poly1305_init_pull
type: function
doc:
<comment>Description:</comment>
  Initialize a secretstream context for decryption
  
  Initialize a secretstream context for decryption.

<comment>Param:</comment>
  <info>string</info>  <strong>$header</strong>  The header of the secretstream. This should be one of the values produced by
                   <strong>sodium_crypto_secretstream_xchacha20poly1305_init_push()</strong>.
  <info>string</info>  <strong>$key</strong>     Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Secretstream state.


id: sodium_crypto_secretstream_xchacha20poly1305_init_push
type: function
doc:
<comment>Description:</comment>
  Initialize a secretstream context for encryption
  
  Initialize a secretstream context for encryption.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  Cryptography key. See <strong>sodium_crypto_secretstream_xchacha20poly1305_keygen()</strong>.

<comment>Return:</comment>
  <info>array</info>  An array with two string values:


id: sodium_crypto_secretstream_xchacha20poly1305_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random secretstream key.
  
  Generate a random secretstream key.

<comment>Return:</comment>
  <info>string</info>  Returns a string of random bytes.


id: sodium_crypto_secretstream_xchacha20poly1305_pull
type: function
doc:
<comment>Description:</comment>
  Decrypt a chunk of data from an encrypted stream
  
  Decrypt a chunk of data from an encrypted stream.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>            See <strong>sodium_crypto_secretstream_xchacha20poly1305_init_pull()</strong> and
                            <strong>sodium_crypto_secretstream_xchacha20poly1305_init_push()</strong>
  <info>string</info>  <strong>$ciphertext</strong>       The ciphertext chunk to decrypt.
  <info>string</info>  <strong>$additional_data</strong>  Optional additional data to include in the authentication tag.

<comment>Return:</comment>
  <info>array|false</info>  An array with two values: <info>string</info>; The decrypted chunk <info>int</info>; An optional tag (if
               provided during push). Possible values:
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE</info>: the most common tag, that
               doesn't add any information about the nature of the message.
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL</info>: indicates that the message
               marks the end of the stream, and erases the secret key used to encrypt the previous
               sequence. <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH</info>: indicates that the
               message marks the end of a set of messages, but not the end of the stream. For
               example, a huge JSON string sent as multiple chunks can use this tag to indicate to
               the application that the string is complete and that it can be decoded. But the
               stream itself is not closed, and more data may follow.
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY</info>: "forget" the key used to
               encrypt this message and the previous ones, and derive a new secret key.
               
               <info>string</info>; The decrypted chunk
               
               <info>int</info>; An optional tag (if provided during push). Possible values:
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_MESSAGE</info>: the most common tag, that
               doesn't add any information about the nature of the message.
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_FINAL</info>: indicates that the message
               marks the end of the stream, and erases the secret key used to encrypt the previous
               sequence. <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_PUSH</info>: indicates that the
               message marks the end of a set of messages, but not the end of the stream. For
               example, a huge JSON string sent as multiple chunks can use this tag to indicate to
               the application that the string is complete and that it can be decoded. But the
               stream itself is not closed, and more data may follow.
               <info>SODIUM_CRYPTO_SECRETSTREAM_XCHACHA20POLY1305_TAG_REKEY</info>: "forget" the key used to
               encrypt this message and the previous ones, and derive a new secret key.


id: sodium_crypto_secretstream_xchacha20poly1305_push
type: function
doc:
<comment>Description:</comment>
  Encrypt a chunk of data so that it can safely be decrypted in a streaming API
  
  Encrypt a chunk of data so that it can safely be decrypted in a streaming API.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>            See <strong>sodium_crypto_secretstream_xchacha20poly1305_init_pull()</strong> and
                            <strong>sodium_crypto_secretstream_xchacha20poly1305_init_push()</strong>
  <info>string</info>  <strong>$message</strong>          
  <info>string</info>  <strong>$additional_data</strong>  
  <info>int</info>     <strong>$tag</strong>              Optional. Can be used to assert decryption behavior (i.e. re-keying or
                            indicating the final chunk in a stream).

<comment>Return:</comment>
  <info>string</info>  Returns the encrypted ciphertext.


id: sodium_crypto_secretstream_xchacha20poly1305_rekey
type: function
doc:
<comment>Description:</comment>
  Explicitly rotate the key in the secretstream state
  
  Explicitly rotate the key in the secretstream state. Overwrites the value passed in.

<comment>Param:</comment>
  <info>string</info>  <strong>$state</strong>  Secretstream state.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: sodium_crypto_shorthash
type: function
doc:
<comment>Description:</comment>
  Compute a short hash of a message and key
  
  <strong>sodium_crypto_shorthash()</strong> wraps a hash function called SipHash-2-4, which is ideal for
  implementing hash tables that are not susceptible to hash collision denial of service attacks
  (Hash-DoS).
  
  SipHash-2-4 isn't a general purpose cryptographic hash function.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message to hash.
  <info>string</info>  <strong>$key</strong>      The hash key.

<comment>Return:</comment>
  <info>string</info>  


id: sodium_crypto_shorthash_keygen
type: function
doc:
<comment>Description:</comment>
  Get random bytes for key
  
  Generate a key for use with <strong>sodium_crypto_shorthash()</strong>.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>string</info>  


id: sodium_crypto_sign
type: function
doc:
<comment>Description:</comment>
  Sign a message
  
  Sign a message with a secret key, that can be verified by the corresponding public key. This
  function attaches the signature to the message. See <strong>sodium_crypto_sign_detached()</strong> for detached
  signatures.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>     Message to sign.
  <info>string</info>  <strong>$secret_key</strong>  Secret key. See <strong>sodium_crypto_sign_secretkey()</strong>

<comment>Return:</comment>
  <info>string</info>  Signed message (not encrypted).


id: sodium_crypto_sign_detached
type: function
doc:
<comment>Description:</comment>
  Sign the message
  
  Sign a message with a secret key, that can be verified by the corresponding public key. This
  function returns a detached signature.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>     Message to sign.
  <info>string</info>  <strong>$secret_key</strong>  Secret key. See <strong>sodium_crypto_sign_secretkey()</strong>

<comment>Return:</comment>
  <info>string</info>  Cryptographic signature.


id: sodium_crypto_sign_ed25519_pk_to_curve25519
type: function
doc:
<comment>Description:</comment>
  Convert an Ed25519 public key to a Curve25519 public key
  
  Given an Ed25519 public key, calculate the birationally equivalent X25519 public key.

<comment>Param:</comment>
  <info>string</info>  <strong>$public_key</strong>  Public key suitable for the crypto_sign functions.

<comment>Return:</comment>
  <info>string</info>  Public key suitable for the crypto_box functions.


id: sodium_crypto_sign_ed25519_sk_to_curve25519
type: function
doc:
<comment>Description:</comment>
  Convert an Ed25519 secret key to a Curve25519 secret key
  
  Given an Ed25519 secret key, calculate the birationally equivalent X25519 secret key.

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  Secret key suitable for the crypto_sign functions.

<comment>Return:</comment>
  <info>string</info>  Secret key suitable for the crypto_box functions.


id: sodium_crypto_sign_keypair
type: function
doc:
<comment>Description:</comment>
  Randomly generate a secret key and a corresponding public key
  
  Generate a random Ed25519 keypair as one string.

<comment>Return:</comment>
  <info>string</info>  Ed25519 keypair.


id: sodium_crypto_sign_keypair_from_secretkey_and_publickey
type: function
doc:
<comment>Description:</comment>
  Join a secret key and public key together
  
  Join a secret key and public key together.

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  Ed25519 secret key
  <info>string</info>  <strong>$public_key</strong>  Ed25519 public key

<comment>Return:</comment>
  <info>string</info>  Keypair


id: sodium_crypto_sign_open
type: function
doc:
<comment>Description:</comment>
  Check that the signed message has a valid signature
  
  Verify the signature attached to a message and return the message

<comment>Param:</comment>
  <info>string</info>  <strong>$signed_message</strong>  A message signed with <strong>sodium_crypto_sign()</strong>
  <info>string</info>  <strong>$public_key</strong>      An Ed25519 public key

<comment>Return:</comment>
  <info>string|false</info>  Returns the original signed message on success,  ou <info>false</info> si une erreur survient.


id: sodium_crypto_sign_publickey
type: function
doc:
<comment>Description:</comment>
  Extract the Ed25519 public key from a keypair
  
  Extract the Ed25519 public key from a keypair

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  Ed25519 keypair (see: <strong>sodium_crypto_sign_keypair()</strong>)

<comment>Return:</comment>
  <info>string</info>  Ed25519 public key


id: sodium_crypto_sign_publickey_from_secretkey
type: function
doc:
<comment>Description:</comment>
  Extract the Ed25519 public key from the secret key
  
  Extract the Ed25519 public key from the secret key

<comment>Param:</comment>
  <info>string</info>  <strong>$secret_key</strong>  Ed25519 secret key

<comment>Return:</comment>
  <info>string</info>  Ed25519 public key


id: sodium_crypto_sign_secretkey
type: function
doc:
<comment>Description:</comment>
  Extract the Ed25519 secret key from a keypair
  
  Extract the Ed25519 secret key from a keypair

<comment>Param:</comment>
  <info>string</info>  <strong>$key_pair</strong>  Ed25519 keypair (see: <strong>sodium_crypto_sign_keypair()</strong>)

<comment>Return:</comment>
  <info>string</info>  Ed25519 secret key


id: sodium_crypto_sign_seed_keypair
type: function
doc:
<comment>Description:</comment>
  Deterministically derive the key pair from a single key
  
  Clamps the seed to form a secret key, derives the public key, and returns the two as a keypair.
  
  The <return>*_seed_keypair</return> functions are ideal for generating a keypair from a password and salt. Use the
  result as a <strong>$seed</strong> to generate the desired keys.

<comment>Param:</comment>
  <info>string</info>  <strong>$seed</strong>  Some cryptographic input. Must be 32 bytes.

<comment>Return:</comment>
  <info>string</info>  Keypair (secret key and public key)


id: sodium_crypto_sign_verify_detached
type: function
doc:
<comment>Description:</comment>
  Verify signature for the message
  
  Verify signature for the message

<comment>Param:</comment>
  <info>string</info>  <strong>$signature</strong>   The cryptographic signature obtained from <strong>sodium_crypto_sign_detached()</strong>
  <info>string</info>  <strong>$message</strong>     The message being verified
  <info>string</info>  <strong>$public_key</strong>  Ed25519 public key

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: sodium_crypto_stream
type: function
doc:
<comment>Description:</comment>
  Generate a deterministic sequence of bytes from a seed
  
  Generate a deterministic sequence of bytes from a seed, using the XSalsa20 stream cipher.

<comment>Param:</comment>
  <info>int</info>     <strong>$length</strong>  The number of bytes to return.
  <info>string</info>  <strong>$nonce</strong>   A number that must be only used once, per message. 24 bytes long. This is a large
                   enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>     Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  String of pseudorandom bytes.


id: sodium_crypto_stream_keygen
type: function
doc:
<comment>Description:</comment>
  Generate a random sodium_crypto_stream key.
  
  Generate a key for use with <strong>sodium_crypto_stream()</strong> and <strong>sodium_crypto_stream_xor()</strong>.

<comment>Return:</comment>
  <info>string</info>  Encryption key (256-bit).


id: sodium_crypto_stream_xchacha20
type: function
doc:
<comment>Description:</comment>
  Expands the key and nonce into a keystream of pseudorandom bytes
  
  Expands the <strong>$key</strong> and <strong>$nonce</strong> into a keystream of pseudorandom bytes.

<comment>Param:</comment>
  <info>int</info>     <strong>$length</strong>  Number of bytes desired.
  <info>string</info>  <strong>$nonce</strong>   24-byte nonce.
  <info>string</info>  <strong>$key</strong>     Key, possibly generated from <strong>sodium_crypto_stream_xchacha20_keygen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a pseudorandom stream that can be used with <strong>sodium_crypto_stream_xchacha20_xor()</strong>.


id: sodium_crypto_stream_xchacha20_keygen
type: function
doc:
<comment>Description:</comment>
  Returns a secure random key
  
  Returns a secure random key for use with <strong>sodium_crypto_stream_xchacha20()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a 32-byte secure random key for use with <strong>sodium_crypto_stream_xchacha20()</strong>.


id: sodium_crypto_stream_xchacha20_xor
type: function
doc:
<comment>Description:</comment>
  Encrypts a message using a nonce and a secret key (no authentication)
  
  Encrypts a <strong>$message</strong> using a <strong>$nonce</strong> and a secret <strong>$key</strong> (no authentication).
  
  This encryption is unauthenticated, and does not prevent chosen-ciphertext attacks. Make sure to
  combine the ciphertext with a Message Authentication Code, for example with
  <strong>sodium_crypto_aead_xchacha20poly1305_ietf_encrypt()</strong> function, or <strong>sodium_crypto_auth()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message to encrypt.
  <info>string</info>  <strong>$nonce</strong>    24-byte nonce.
  <info>string</info>  <strong>$key</strong>      Key, possibly generated from <strong>sodium_crypto_stream_xchacha20_keygen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Encrypted message.

<comment>See Also:</comment>
   * <strong>sodium_crypto_stream_xchacha20_xor_ic()</strong>


id: sodium_crypto_stream_xchacha20_xor_ic
type: function
doc:
<comment>Description:</comment>
  Encrypts a message using a nonce and a secret key (no authentication)
  
  The function is similar to <strong>sodium_crypto_stream_xchacha20_xor()</strong> but adds the ability to set the
  initial value of the block counter to a non-zero value. This permits direct access to any block
  without having to compute the previous ones.
  
  This encryption is unauthenticated, and does not prevent chosen-ciphertext attacks. Make sure to
  combine the ciphertext with a Message Authentication Code, for example with
  <strong>sodium_crypto_aead_xchacha20poly1305_ietf_encrypt()</strong> function, or <strong>sodium_crypto_auth()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message to encrypt.
  <info>string</info>  <strong>$nonce</strong>    24-byte nonce.
  <info>int</info>     <strong>$counter</strong>  The initial value of the block counter.
  <info>string</info>  <strong>$key</strong>      Key, possibly generated from <strong>sodium_crypto_stream_xchacha20_keygen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Encrypted message,  ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sodium_crypto_stream_xchacha20_xor()</strong>


id: sodium_crypto_stream_xor
type: function
doc:
<comment>Description:</comment>
  Encrypt a message without authentication
  
  This function encrypts a message with XSalsa20, but does not provide any ciphertext guarantees
  about the plaintext.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message to encrypt
  <info>string</info>  <strong>$nonce</strong>    A number that must be only used once, per message. 24 bytes long. This is a
                    large enough bound to generate randomly (i.e. <strong>random_bytes()</strong>).
  <info>string</info>  <strong>$key</strong>      Encryption key (256-bit).

<comment>Return:</comment>
  <info>string</info>  Encrypted message.


id: sodium_hex2bin
type: function
doc:
<comment>Description:</comment>
  Decodes a hexadecimally encoded binary string
  
  Decodes a hexadecimally encoded binary string.
  
  Like <strong>sodium_bin2hex()</strong>, <strong>sodium_hex2bin()</strong> is resistant to side-channel attacks while <strong>hex2bin()</strong> is
  not.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Hexadecimal representation of data.
  <info>string</info>  <strong>$ignore</strong>  Optional string argument for characters to ignore.

<comment>Return:</comment>
  <info>string</info>  Returns the binary representation of the given <strong>$string</strong> data.


id: sodium_increment
type: function
doc:
<comment>Description:</comment>
  Increment large number
  
  Treat the string as a little-endian unsigned integer, then increase it by 1. Constant-time.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  String to increment.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: sodium_memcmp
type: function
doc:
<comment>Description:</comment>
  Test for equality in constant-time
  
  Compare two strings in constant-time.
  
  In practice, you almost always want to use <strong>hash_equals()</strong> instead, since it provides the same logic
  but returns a <info>bool</info> instead of an <info>int</info>. However, if you're using the return value of a comparison in
  a calculation that's timing-sensitive, and worried about timing leaks with bool-to-int
  conversions, <strong>sodium_memcmp()</strong> is an ideal replacement.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  String to compare
  <info>string</info>  <strong>$string2</strong>  Other string to compare

<comment>Return:</comment>
  <info>int</info>  Returns <return>0</return> if both strings are equal; <return>-1</return> otherwise.


id: sodium_memzero
type: function
doc:
<comment>Description:</comment>
  Overwrite a string with NUL characters
  
  <strong>sodium_memzero()</strong> zeroes out the string that is passed by reference.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  String.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: sodium_pad
type: function
doc:
<comment>Description:</comment>
  Add padding data
  
  Right-pad a string to a desired length. Timing-safe.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      Unpadded string.
  <info>int</info>     <strong>$block_size</strong>  The string will be padded until it is an even multiple of the block size.

<comment>Return:</comment>
  <info>string</info>  Padded string.


id: sodium_unpad
type: function
doc:
<comment>Description:</comment>
  Remove padding data
  
  Unpad a padded string. Timing-safe.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      Padded string.
  <info>int</info>     <strong>$block_size</strong>  The block size for padding.

<comment>Return:</comment>
  <info>string</info>  Unpadded string.


id: solr_get_version
type: function
doc:
<comment>Description:</comment>
  Retourne la version courante de l'extension Solr utilisée par Apache
  
  Cette fonction retourne la version courante de l'extension, sous la forme d'une chaîne de
  caractères.

<comment>Return:</comment>
  <info>string</info>  Retourne un chaîne de caractères en cas de succès, et <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>SolrUtils::getSolrVersion()</strong>


id: sort
type: function
doc:
<comment>Description:</comment>
  Trie un tableau en ordre croissant
  
  Trie <strong>$array</strong> sur place suivant les valeurs en ordre croissant.
  
  Si deux membres se comparent comme égaux, ils maintiennent leur ordre original. Antérieur à PHP
  8.0.0, leur ordre relatif dans le tableau trié n'est pas défini.
  
  Cette fonction assigne de nouvelles clés aux éléments dans <strong>$array</strong>. Elle effacera toutes les clés
  existantes qui ont pu être assignées, plutôt que de réarranger les clés.
  
  Réinitialise le pointeur interne du tableau au premier élément.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  Le tableau d'entrée.
  <info>int</info>    <strong>$flags</strong>  Le deuxième paramètre optionnel <strong>$flags</strong> peut être utilisé pour modifier le
                 comportement de tri en utilisant ces valeurs :
                 
                 Type de drapeaux de tri : <info>SORT_REGULAR</info> - compare items normally; the details are
                 described in the comparison operators section<info>SORT_NUMERIC</info> - compare les éléments
                 numériquement<info>SORT_STRING</info> - compare les éléments comme des chaînes de
                 caractères<info>SORT_LOCALE_STRING</info> - compare les éléments comme des chaînes de
                 caractères, basé sur la locale courante. Ceci utilise la locale, qui peut être
                 changée en utilisant <strong>setlocale()</strong> <info>SORT_NATURAL</info> - compare les éléments comme des
                 chaînes de caractères utilisant "l'ordre naturel" comme <strong>natsort()</strong> <info>SORT_FLAG_CASE</info> -
                 peut être combiné (OU bit à bit) avec <info>SORT_STRING</info> ou <info>SORT_NATURAL</info> pour trier les
                 chaînes sans tenir compte de la casse
                 
                 <info>SORT_REGULAR</info> - compare items normally; the details are described in the comparison
                 operators section
                 
                 <info>SORT_NUMERIC</info> - compare les éléments numériquement
                 
                 <info>SORT_STRING</info> - compare les éléments comme des chaînes de caractères
                 
                 <info>SORT_LOCALE_STRING</info> - compare les éléments comme des chaînes de caractères, basé sur
                 la locale courante. Ceci utilise la locale, qui peut être changée en utilisant
                 <strong>setlocale()</strong>
                 
                 <info>SORT_NATURAL</info> - compare les éléments comme des chaînes de caractères utilisant
                 "l'ordre naturel" comme <strong>natsort()</strong>
                 
                 <info>SORT_FLAG_CASE</info> - peut être combiné (OU bit à bit) avec <info>SORT_STRING</info> ou <info>SORT_NATURAL</info>
                 pour trier les chaînes sans tenir compte de la casse

<comment>Return:</comment>
  <info>true</info>  Retourne toujours <info>true</info>.

<comment>See Also:</comment>
   * <strong>rsort()</strong>
   * Les fonctions de tri des tableaux


id: soundex
type: function
doc:
<comment>Description:</comment>
  Calcule la clé soundex
  
  Calcule la clé soundex de la chaîne <strong>$string</strong>.
  
  La clé soundex possède la propriété qui fait que deux mots prononcés similairement auront la même
  clé soundex. Cette fonction est donc utilisée pour simplifier les recherches dans les bases de
  données, où vous connaissez la prononciation d'un mot ou nom, mais pas son orthographe exacte.
  
  L'implémentation de la fonction soundex de PHP a été décrite par Donald Knuth dans <return>"The Art Of
  Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392</return>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  La chaîne d'entrée.

<comment>Return:</comment>
  <info>string</info>  Retourne la clé soundex en tant que chaîne de caractères avec quatre caractères. Si au
          moins une lettre est contenue dans <strong>$string</strong>, la chaîne retourné débute avec une lettre.
          Sinon <return>"0000"</return> est retourné.

<comment>See Also:</comment>
   * <strong>levenshtein()</strong>
   * <strong>metaphone()</strong>
   * <strong>similar_text()</strong>


id: spl_autoload
type: function
doc:
<comment>Description:</comment>
  Implémentation par défaut d'__autoload()
    
  
  Cette fonction est prévue pour être utilisée comme implémentation par défaut pour <strong>__autoload()</strong>. Si
  rien de plus n'est spécifié et que <strong>spl_autoload_register()</strong> est appelé sans aucun paramètre, alors
  cette fonction sera utilisée pour tous les futures appels à <strong>__autoload()</strong>.

<comment>Param:</comment>
  <info>string</info>       <strong>$class</strong>            Le nom de la classe (et de l'espace de noms) à instancier.
  <info>string|null</info>  <strong>$file_extensions</strong>  Par défaut, la fonction vérifie tous les chemins d'inclusion qui
                                 pourraient contenir des noms de fichier ajoutés par le nom de
                                 classe, utilisant les extensions .inc et .php.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: spl_autoload_call
type: function
doc:
<comment>Description:</comment>
  Essai toutes les fonctions __autoload() enregistrées pour charger la classe demandée
    
  
  Cette fonction peut être utilisée pour rechercher manuellement une classe ou une interface en
  utilisant les fonctions enregistrées __autoload.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>  Le nom de la classe cherchée.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: spl_autoload_extensions
type: function
doc:
<comment>Description:</comment>
  Enregistre et retourne l'extension du fichier par défaut pour spl_autoload
    
  
  Cette fonction peut modifier et vérifier les extensions de fichiers pour <strong>__autoload()</strong> la fonction
  interne de secours que <strong>spl_autoload()</strong> utilisera.
  
  Il ne devrait pas y avoir d'espaces entre les extensions de fichiers définies.

<comment>Param:</comment>
  <info>string|null</info>  <strong>$file_extensions</strong>  Si <info>null</info>, elle retourne simplement la liste courante des extensions,
                                 séparées par une virgule. Pour modifier cette liste, appelez
                                 simplement la fonction avec la nouvelle liste d'extensions à
                                 utiliser dans une chaîne de caractères, dont chaque extension sera
                                 séparée par une virgule.

<comment>Return:</comment>
  <info>string</info>  Une liste d'extensions de fichiers, délimitées par des virgules, pour <strong>spl_autoload()</strong>.


id: spl_autoload_functions
type: function
doc:
<comment>Description:</comment>
  Retourne toutes les fonctions __autoload() enregistrées
    
  
  Récupère toutes les fonctions __autoload() enregistrées.

<comment>Return:</comment>
  <info>array</info>  Un tableau contenant toutes les fonctions __autoload enregistrées. Si aucune fonction n'est
         enregistrée, ou si la pile d'autoload n'est pas active, alors la valeur de retour sera un
         tableau vide.


id: spl_autoload_register
type: function
doc:
<comment>Description:</comment>
  Enregistre une fonction en tant qu'implémentation de __autoload()
  
  <strong>spl_autoload_register()</strong> enregistre une fonction dans la pile <strong>__autoload()</strong> fournie. Si la pile
  n'est pas encore active, elle est activée.
  
  Si votre code dispose déjà d'une fonction <strong>__autoload()</strong>, alors cette fonction doit explicitement
  enregistrer la pile __autoload.  Ceci est du au fait que <strong>spl_autoload_register()</strong>  remplace le
  cache du moteur pour la fonction <strong>__autoload()</strong> par soit <strong>spl_autoload()</strong>,  soit <strong>spl_autoload_call()</strong>.
  
  Si vous devez utiliser plusieurs fonctions d'autochargement, la fonction <strong>spl_autoload_register()</strong>
  est faite pour cela. Elle crée une file d'attente de fonctions d'autochargement, et les exécute
  les unes après les autres, dans l'ordre où elles ont été définies. A contrario, la fonction
  <strong>__autoload()</strong> ne peut être définie qu'une seule fois.

<comment>Param:</comment>
  <info>callable|null</info>  <strong>$callback</strong>  La fonction d'autoload à enregistrer. Si <info>null</info>, alors, l'implémentation
                            par défaut de la fonction <strong>spl_autoload()</strong> sera enregistrée.
                            
                            La <strong>$class</strong> ne contiendra pas le backslash initial d'un identifiant
                            entièrement qualifié.
  <info>bool</info>           <strong>$throw</strong>     Ce paramètre spécifie si <strong>spl_autoload_register()</strong> doit lancer des
                            exceptions lorsque le <strong>$callback</strong> n'a pu être enregistré.
                            
                            Ce paramètre est ignoré à partir de PHP 8.0.0, et une notice sera émise
                            s'il est défini à <info>false</info>. <strong>spl_autoload_register()</strong> lancera toujours une
                            <class>TypeError</class> avec des arguments non valides.
  <info>bool</info>           <strong>$prepend</strong>   Si ce paramètre vaut <info>true</info>, <strong>spl_autoload_register()</strong> ajoutera la fonction
                            au début de la pile de l'autoloader au lieu de l'ajouter à la fin de la
                            pile.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>__autoload()</strong>


id: spl_autoload_unregister
type: function
doc:
<comment>Description:</comment>
  Efface une fonction donnée de l'implémentation __autoload()
    
  
  Efface une fonction de la pile autoload. Si la pile est active et vide après l'effacement de la
  fonction donnée, alors elle sera désactivée.
  
  Lorsque cette fonction active une pile autoload, toutes les fonctions __autoload existantes ne
  seront pas réactivées.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  La fonction autoload à effacer.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: spl_classes
type: function
doc:
<comment>Description:</comment>
  Retourne les classes SPL disponibles
    
  
  <strong>spl_classes()</strong> retourne un tableau avec la liste des classes SPL actuellement disponibles.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau contenant les classes SPL actuellement disponibles.


id: spl_object_hash
type: function
doc:
<comment>Description:</comment>
  Retourne l'identifiant de hachage pour un objet donné
    
  
  Cette fonction retourne un identifiant unique pour l'objet. Cet identifiant peut être utilisé
  comme clé de hachage pour stocker les objets ou pour les identifier, tant que l'objet n'est pas
  détruit. Une fois l'objet détruit,  l'identifiant peut être réutilisé pour d'autres objets. Ce
  comportement est similaire à celui de la <strong>spl_object_id()</strong>.

<comment>Param:</comment>
  <info>object</info>  <strong>$object</strong>  N'importe quel objet.

<comment>Return:</comment>
  <info>string</info>  Une chaîne de caractères unique pour chaque objet existant et qui sera toujours identique
          pour chaque objet.

<comment>See Also:</comment>
   * <strong>spl_object_id()</strong>


id: spl_object_id
type: function
doc:
<comment>Description:</comment>
  Retourne le gestionnaire d'objet entier pour un objet donné
    
  
  Cette fonction retourne un identifiant unique pour l'objet. L'id de l'objet est unique pour la
  durée de vie de l'objet. Une fois que l'objet est détruit, son id peut être réutilisé pour
  d'autres objets. Ce comportement est similaire à <strong>spl_object_hash()</strong>.

<comment>Param:</comment>
  <info>object</info>  <strong>$object</strong>  N'importe quel objet.

<comment>Return:</comment>
  <info>int</info>  Un identifiant entier qui est unique pour chaque objet actuellement existant et toujours le
       même pour chaque objet.


id: sprintf
type: function
doc:
<comment>Description:</comment>
  Retourne une chaîne formatée
  
  Retourne une chaîne formatée, avec le format <strong>$format</strong>, en utilisant les arguments <strong>$args</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$format</strong>  La chaîne de format est composé de zéro ou plusieurs directives : des caractères
                   ordinaires (à l'exception de <return>%</return>) qui sont copiés directement dans le résultat et
                   des spécifications de conversion, chacun ayant pour résultat de récupérer ses
                   propres paramètre.
                   
                   Une spécification de conversion qui suit ce prototype :
                   <return>%[argnum$][flags][width][.precision]specifier</return>.
                   
                   Un entier suivit d'un signe dollar <return>$</return>, pour spécifier quel numéro d'argument à
                   traiter dans la conversion.
                   
                   DrapeauxDrapeauDescription<return>-</return> Justifie le texte à gauche donnée la largeur du champ
                   ; Justification à droite est le comportement par défaut. <return>+</return> Préfixe les nombres
                   positives avec un signe plus <return>+</return> ; Par défaut seul les nombres négatifs sont
                   préfixés avec un signe négatif. <return> </return>(espace) Complète le résultat avec des espaces.
                   Ceci est par défaut. <return>0</return> Complète uniquement les nombres à gauches avec des zéros.
                   Avec le spécificateur <return>s</return> ceci peut aussi compléter à droite avec des zéros.
                   <return>'</return>(char) Complète le résultat avec le caractère (char).
                   
                   Soit un entier indiquant le nombre de caractères (minimum) que cette conversion
                   doit produire, soit <return>*</return>. Si <return>*</return> est utilisé, alors la largeur est fournie en tant que
                   valeur entière supplémentaire précédant celle formatée par le spécificateur.
                   
                   Un point <return>.</return> suivi optionnellement soit d'un entier, soit de <return>*</return>, dont la
                   signification dépend du spécificateur :  Pour les spécificateurs <return>e</return>, <return>E</return>, <return>f</return> et <return>F</return> :
                   ceci est le nombre de chiffres à afficher après la virgule (par défaut, ceci est
                   6).  Pour les spécificateurs <return>g</return>, <return>G</return>, <return>h</return> et <return>H</return> : ceci est le nombre maximal de
                   chiffres significatifs à afficher. digits to be printed.  Pour le spécificateur <return>s</return>
                   : il agit comme un point de coupure, définissant une limite maximale de
                   caractères de la chaîne.   Si le point est spécifié sans une valeur explicite
                   pour la précision, 0 est assumé. Si <return>*</return> est utilisé, la précision est fournie en
                   tant que valeur entière supplémentaire précédant celle formatée par le
                   spécificateur.
                   
                   Pour les spécificateurs <return>e</return>, <return>E</return>, <return>f</return> et <return>F</return> : ceci est le nombre de chiffres à afficher
                   après la virgule (par défaut, ceci est 6).
                   
                   Pour les spécificateurs <return>g</return>, <return>G</return>, <return>h</return> et <return>H</return> : ceci est le nombre maximal de chiffres
                   significatifs à afficher. digits to be printed.
                   
                   Pour le spécificateur <return>s</return> : il agit comme un point de coupure, définissant une
                   limite maximale de caractères de la chaîne.
                   
                   Si le point est spécifié sans une valeur explicite pour la précision, 0 est
                   assumé. Si <return>*</return> est utilisé, la précision est fournie en tant que valeur entière
                   supplémentaire précédant celle formatée par le spécificateur.
                   
                   SpécificateursSpécificateurDescription<return>%</return> Un caractère de pourcentage littéral.
                   Aucun argument n'est nécessaire. <return>b</return> L'argument est traité comme un entier et
                   présenté comme un nombre binaire. <return>c</return> L'argument est traité comme un entier et
                   présenté comme le caractère de code ASCII correspondant. <return>d</return> L'argument est traité
                   comme un entier et présenté comme un nombre entier décimal (signé). <return>e</return> L'argument
                   est traité comme une notation scientifique (e.g. <return>1.2e+2</return>). <return>E</return> Comme le
                   spécificateur <return>e</return> mais utilise une lettre majuscule (par exemple 1.2E+2). <return>f</return>
                   L'argument est traité comme un nombre à virgule flottante (type nombre décimal)
                   et présenté comme un nombre à virgule flottante (tenant compte de la locale
                   utilisée). <return>F</return> L'argument est traité comme un nombre à virgule flottante (type
                   nombre décimal) et présenté comme un nombre à virgule flottante (ne tenant pas
                   compte de la locale utilisée). <return>g</return> Format général.  Soit P égal à la précision si
                   différent de 0, 6 si la précision est omit ou 1 si la précision est zéro. Alors,
                   si la conversion avec le style E aurait comme exposant X :  Si P &gt; X ≥ −4, la
                   conversion est avec style f et précision P − (X + 1). Sinon, la conversion est
                   avec le style e et précision P - 1. <return>G</return> Comme le spécificateur <return>g</return> mais utilise <return>E</return> et
                   <return>f</return>. <return>h</return> Comme le spécificateur <return>g</return> mais utilise <return>F</return>. Disponible à partir de PHP 8.0.0. <return>H</return>
                   Comme le spécificateur <return>g</return> mais utilise <return>E</return> et <return>F</return>. Disponible à partir de PHP 8.0.0. <return>o</return>
                   L'argument est traité comme un entier et présenté comme un nombre octal. <return>s</return>
                   L'argument est traité et présenté comme une chaîne de caractères. <return>u</return> L'argument
                   est traité comme un entier et présenté comme un nombre décimal non signé. <return>x</return>
                   L'argument est traité comme un entier et présenté comme un nombre hexadécimal
                   (les lettres en minuscules). <return>X</return> L'argument est traité comme un entier et présenté
                   comme un nombre hexadécimal (les lettres en majuscules).
                   
                   Format général.
                   
                   Soit P égal à la précision si différent de 0, 6 si la précision est omit ou 1 si
                   la précision est zéro. Alors, si la conversion avec le style E aurait comme
                   exposant X :
                   
                   Si P &gt; X ≥ −4, la conversion est avec style f et précision P − (X + 1). Sinon,
                   la conversion est avec le style e et précision P - 1.
                   
                   Le spécificateur de type <return>c</return> ignore l'alignement et la taille.
                   
                   Le fait de tenter d'utiliser une combinaison d'une chaîne et de spécificateurs
                   avec des jeux de caractères qui nécessitent plus d'un octet par caractères
                   donnera un résultat inattendu.
                   
                   Les variables seront contraints à un type approprié pour le spécificateur :
                   Gestion des typesTypeSpécificateurs<info>string</info><return>s</return><info>int</info><return>d</return>, <return>u</return>, <return>c</return>, <return>o</return>, <return>x</return>, <return>X</return>, <return>b</return><info>float</info><return>e</return>, <return>E</return>, <return>f</return>, <return>F</return>,
                   <return>g</return>, <return>G</return>, <return>h</return>, <return>H</return>
  <info>mixed</info>   <strong>$values</strong>  

<comment>Return:</comment>
  <info>string</info>  Retourne une chaîne de caractères créée suivant le format <strong>$format</strong>.

<comment>See Also:</comment>
   * <strong>printf()</strong>
   * <strong>fprintf()</strong>
   * <strong>vprintf()</strong>
   * <strong>vsprintf()</strong>
   * <strong>vfprintf()</strong>
   * <strong>sscanf()</strong>
   * <strong>fscanf()</strong>
   * <strong>number_format()</strong>
   * <strong>date()</strong>


id: sqlsrv_begin_transaction
type: function
doc:
<comment>Description:</comment>
  Commence une transaction
  
  La transaction commençant avec la fonction <strong>sqlsrv_begin_transaction()</strong> inclut toutes les requêtes
  qui sont exécutées après l'appel à la fonction <strong>sqlsrv_begin_transaction()</strong> et avant l'appel à la
  fonction <strong>sqlsrv_rollback()</strong> ou la fonction <strong>sqlsrv_commit()</strong>. Une transaction explicite peut être
  commencée et validée (ou annulée) en utilisant ces fonctions au lieu d'exécuter les requêtes SQL
  qui commencent et valident/annulent les transactions. Pour plus d'informations, reportez-vous aux
  transactions SQLSRV.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  La ressource de connexion retournée par un appel à la fonction <strong>sqlsrv_connect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_commit()</strong>
   * <strong>sqlsrv_rollback()</strong>


id: sqlsrv_cancel
type: function
doc:
<comment>Description:</comment>
  Annule une requête
  
  Annule une requête. Tous les résultats associés avec la requête qui n'ont pas été utilisés seront
  supprimés. Après l'appel à la fonction <strong>sqlsrv_cancel()</strong>, la requête spécifiée peut être ré-exécutée
  si elle a été créée avec la fonction <strong>sqlsrv_prepare()</strong>. L'appel à la fonction <strong>sqlsrv_cancel()</strong> n'est
  pas nécessaire si tous les résultats associés avec la requête ont été utilisés.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  La ressource de la requête à annuler.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_free_stmt()</strong>
   * <strong>sqlsrv_prepare()</strong>


id: sqlsrv_client_info
type: function
doc:
<comment>Description:</comment>
  Retourne les informations sur le client ainsi que sur la connexion spécifiée
  
  Retourne des informations sur le client ainsi que sur la connexion spécifiée.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  La connexion sur laquelle on souhaite des informations.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau associatif dont les clés sont décrites dans la table ci-dessous.
         Retourne <info>false</info> sinon.  Tableau retourné par
         sqlsrv_client_infoCléDescriptionDriverDllNameSQLNCLI10.DLLDriverODBCVerversion ODBC
         (xx.yy)DriverVerversion de la bibliothèque DLL native client du serveur
         (10.5.xxx)ExtensionVerversion de la bibliothèque php_sqlsrv.dll (2.0.xxx.x)

<comment>See Also:</comment>
   * <strong>sqlsrv_server_info()</strong>


id: sqlsrv_close
type: function
doc:
<comment>Description:</comment>
  Clôture une connexion établie et libère les ressources associées
  
  Clôture une connexion établie et libère les ressources associées.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  La connexion à fermer.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_connect()</strong>


id: sqlsrv_commit
type: function
doc:
<comment>Description:</comment>
  Valide une transaction commencée avec la fonction sqlsrv_begin_transaction
  
  Valide une transaction commencée par la fonction <strong>sqlsrv_begin_transaction()</strong>. La connexion est
  retournée en mode auto-commit après l'appel à la fonction <strong>sqlsrv_commit()</strong>. La transaction validée
  inclut toutes les requêtes exécutées après un appel à la fonction <strong>sqlsrv_begin_transaction()</strong>. Les
  transactions doivent commencer, être valider ou être annuler en utilisant ces fonctions au lieu
  d'utiliser des requêtes déclarant le début ou l'annulation d'une transaction. Pour plus
  d'informations, reportez-vous aux transactions SQLSRV.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  La connexion sur laquelle la transaction va être validée.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_begin_transaction()</strong>
   * <strong>sqlsrv_rollback()</strong>


id: sqlsrv_configure
type: function
doc:
<comment>Description:</comment>
  Modifie la configuration du gestionnaire d'erreurs et d'historisations du driver
  
  Modifie la configuration du gestionnaire d'erreurs et d'historisations du driver.

<comment>Param:</comment>
  <info>string</info>  <strong>$setting</strong>  Le nom de la configuration à définir. Les valeurs possibles sont
                    "WarningsReturnAsErrors", "LogSubsystems", et "LogSeverity".
  <info>mixed</info>   <strong>$value</strong>    La valeur de la configuration à définir. La table suivante montre les valeurs
                    possibles : Options de configuration du gestionnaire d'erreurs et
                    d'historisationsConfigurationsOptionsWarningsReturnAsErrors1 (<info>true</info>) ou 0
                    (<info>false</info>)LogSubsystemsSQLSRV_LOG_SYSTEM_ALL (-1)  SQLSRV_LOG_SYSTEM_CONN (2)
                    SQLSRV_LOG_SYSTEM_INIT (1)  SQLSRV_LOG_SYSTEM_OFF (0)  SQLSRV_LOG_SYSTEM_STMT
                    (4)  SQLSRV_LOG_SYSTEM_UTIL (8)LogSeveritySQLSRV_LOG_SEVERITY_ALL (-1)
                    SQLSRV_LOG_SEVERITY_ERROR (1)  SQLSRV_LOG_SEVERITY_NOTICE (4)
                    SQLSRV_LOG_SEVERITY_WARNING (2)

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * Le gestionnaire d'erreur SQLSRV.
   * Le gestionnaire d'historisation SQLSRV.


id: sqlsrv_connect
type: function
doc:
<comment>Description:</comment>
  Ouvre une connexion sur une base de données Microsoft SQL Server
  
  Ouvre une connexion sur une base de données Microsoft SQL Server. Par défaut, la connexion tente
  d'utiliser l'authentification Windows. Pour se connecter en utilisant l'authentification SQL
  Server, ajouter l'"UID" et le "PWD" dans le tableau d'options de connexion.

<comment>Param:</comment>
  <info>string</info>  <strong>$serverName</strong>      Le nom du serveur sur lequel nous souhaitons réaliser une connexion. Pour
                           se connecter sur une instance particulière, faites suivre le nom du
                           serveur, puis un antislash, puis le nom de l'instance (i.e.
                           serverName\sqlexpress).
  <info>array</info>   <strong>$connectionInfo</strong>  Un tableau associatif spécifiant les options pour la connexion sur le
                           serveur. Si les valeurs des clés UID et PWD ne sont pas spécifiées, la
                           connexion tentera d'utiliser l'authentification Windows. Pour une liste
                           complète des clés supportées, reportez-vous aux options de connexion
                           SQLSRV.

<comment>Return:</comment>
  <info>resource</info>  Une ressource de connexion. Si la connexion n'a pu être ouverte, <info>false</info> sera retourné.

<comment>See Also:</comment>
   * <strong>sqlsrv_close()</strong>
   * <strong>sqlsrv_errors()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_errors
type: function
doc:
<comment>Description:</comment>
  Retourne une erreur ainsi que certaines informations sur la dernière opération SQLSRV effectuée
  
  Retourne une erreur ainsi que certaines informations sur la dernière opération SQLSRV effectuée.

<comment>Param:</comment>
  <info>int</info>  <strong>$errorsOrWarnings</strong>  Détermine si l'on doit retourner des informations sur l'erreur, des
                          informations sur l'alerte, ou les deux. Si ce paramètre n'est pas fourni,
                          les deux informations seront retournées. Voici la liste des valeurs
                          supportées par ce paramètre : SQLSRV_ERR_ALL, SQLSRV_ERR_ERRORS,
                          SQLSRV_ERR_WARNINGS.

<comment>Return:</comment>
  <info>mixed</info>  Si une erreur et/ou une alerte survient lors de la dernière opération SQLSRV, un tableau de
         tableaux contenant les informations de l'erreur sera retourné. Si aucune erreur ni alerte
         ne survient, <info>null</info> sera retourné. Le tableau suivant décrit la structure du tableau retourné
         : Tableau retourné par sqlsrv_errorsCléDescriptionSQLSTATE Pour les erreurs originaires du
         driver ODBC, ce sera le SQLSTATE retourné par ODBC. Pour les erreurs originaires du
         Microsoft Drivers pour PHP pour le serveur SQL, un SQLSTATE de IMSSP. Pour les alertes
         originaires du Microsoft Drivers pour PHP pour le serveur SQL, un SQLSTATE de 01SSP. code
         Pour les erreurs originaires du serveur SQL, le code erreur natif du serveur SQL. Pour les
         erreurs originaires du ODBC driver, le code erreur retourné par ODBC. Pour les erreurs
         originaires du Microsoft Drivers pour PHP pour le serveur SQL, le code erreur Microsoft
         Drivers pour PHP pour le serveur SQL. messageUne description de l'erreur.

<comment>See Also:</comment>
   * <strong>sqlsrv_configure()</strong>


id: sqlsrv_execute
type: function
doc:
<comment>Description:</comment>
  Exécute une requête préparée avec la fonction sqlsrv_prepare
  
  Exécute une requête préparée avec la fonction <strong>sqlsrv_prepare()</strong>. Cette fonction est idéale pour
  exécuter une requête préparée à plusieurs reprises avec des valeurs différentes pour les
  paramètres.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  Une ressource de requête retournée par la fonction <strong>sqlsrv_prepare()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_prepare()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_fetch
type: function
doc:
<comment>Description:</comment>
  Rend la prochaine ligne d'un jeu de résultats disponible pour lecture
  
  Rend la prochaine ligne d'un jeu de résultats disponible pour lecture. Utilisez la fonction
  <strong>sqlsrv_get_field()</strong> pour llire les champs de la ligne.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>    Une ressource de requête créée par l'exécution de la fonction <strong>sqlsrv_query()</strong> ou
                     de la fonction <strong>sqlsrv_execute()</strong>.
  <info>int</info>       <strong>$row</strong>     La ligne à traiter. Ce paramètre ne peut être utilisé que si la requête
                     spécifiée a été préparée avec un curseur scrollable. Dans ce cas, ce paramètre
                     peut prendre une des valeurs suivantes :
                     SQLSRV_SCROLL_NEXTSQLSRV_SCROLL_PRIORSQLSRV_SCROLL_FIRSTSQLSRV_SCROLL_LASTSQLSRV_SCROLL_ABSOLUTESQLSRV_SCROLL_RELATIVE
  <info>int</info>       <strong>$offset</strong>  Spécifie la ligne à traiter si le paramètre row est défini à
                     <info>SQLSRV_SCROLL_ABSOLUTE</info> ou  <info>SQLSRV_SCROLL_RELATIVE</info>. Notez que la première ligne
                     d'un jeu de résultats a l'index 0.

<comment>Return:</comment>
  <info>mixed</info>  Retourne <info>true</info> si la prochaine ligne du jeu de résultats a été récupérée avec succès, <info>false</info>
         si une erreur survient et <info>null</info> s'il n'y a plus de ligne à récupérer dans le jeu de
         résultats.

<comment>See Also:</comment>
   * <strong>sqlsrv_get_field()</strong>
   * <strong>sqlsrv_fetch_array()</strong>
   * <strong>sqlsrv_fetch_object()</strong>


id: sqlsrv_fetch_array
type: function
doc:
<comment>Description:</comment>
  Retourne une ligne sous la forme d'un tableau
  
  Retourne la prochaine ligne de données disponible sous la forme d'un tableau associatif, d'un
  tableau numérique ou les deux (par défaut).

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>       Une ressource de requête retournée par sqlsrv_query ou sqlsrv_prepare.
  <info>int</info>       <strong>$fetchType</strong>  Une constante prédéfinie spécifiant le type de tableau à retourner. Les
                        valeurs possibles sont <info>SQLSRV_FETCH_ASSOC</info>,  <info>SQLSRV_FETCH_NUMERIC</info>, et
                        <info>SQLSRV_FETCH_BOTH</info> (la valeur par défaut).
                        
                        Le type de récupération SQLSRV_FETCH_ASSOC ne doit pas être utilisé lors du
                        traitement d'un jeu de résultats possédant des colonnes dont le nom est
                        identique.
  <info>int</info>       <strong>$row</strong>        Spécifie la ligne à traiter dans le jeu de résultats utilisant un curseur
                        scrollable. Les valeurs possibles sont <info>SQLSRV_SCROLL_NEXT</info>,
                        <info>SQLSRV_SCROLL_PRIOR</info>, <info>SQLSRV_SCROLL_FIRST</info>, <info>SQLSRV_SCROLL_LAST</info>,
                        <info>SQLSRV_SCROLL_ABSOLUTE</info> et,  <info>SQLSRV_SCROLL_RELATIVE</info> (la valeur par défaut).
                        Lorsque ce paramètre est spécifié, le paramètre <strong>$fetchType</strong> doit également
                        être explicitement défini.
  <info>int</info>       <strong>$offset</strong>     Spécifie la ligne à accéder si le paramètre row est défini à
                        <info>SQLSRV_SCROLL_ABSOLUTE</info> ou <info>SQLSRV_SCROLL_RELATIVE</info>. Notez que la première
                        ligne du jeu de résultats a comme index 0.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau en cas de succès, <info>null</info> s'il n'y a plus de ligne à retourner, et <info>false</info>
         si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_connect()</strong>
   * <strong>sqlsrv_query()</strong>
   * <strong>sqlsrv_errors()</strong>
   * <strong>sqlsrv_fetch()</strong>


id: sqlsrv_fetch_object
type: function
doc:
<comment>Description:</comment>
  Récupère la prochaine ligne de données du jeu de résultats sous la forme d'un objet
  
  Récupère la prochaine ligne de données du jeu de résultats sous la forme d'une instance de la
  classe spécifiée dont les propriétés correspondent aux noms des champs de la ligne récupérée et
  les valeurs correspondant aux valeurs des champs de la ligne récupérée.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        Une ressource de requête créée par la fonction <strong>sqlsrv_query()</strong> ou la
                         fonction <strong>sqlsrv_execute()</strong>.
  <info>string</info>    <strong>$className</strong>   Le nom de la classe à instancier. Si aucun nom de classe n'est spécifié,
                         stdClass sera instanciée.
  <info>array</info>     <strong>$ctorParams</strong>  Valeurs à passer au constructeur de la classe spécifiée. Si le constructeur
                         de la classe spécifiée prend des paramètres, le tableau ctorParams doit
                         être fourni.
  <info>int</info>       <strong>$row</strong>         La ligne à traiter. Ce paramètre ne peut être utilisé que si la requête
                         spécifié a été préparée avec un curseur scrollable. Dans ce cas, ce
                         paramètre peut prend un des valeurs suivantes :
                         SQLSRV_SCROLL_NEXTSQLSRV_SCROLL_PRIORSQLSRV_SCROLL_FIRSTSQLSRV_SCROLL_LASTSQLSRV_SCROLL_ABSOLUTESQLSRV_SCROLL_RELATIVE
  <info>int</info>       <strong>$offset</strong>      Spécifie la ligne à traiter si le paramètre row est défini à la valeur
                         <info>SQLSRV_SCROLL_ABSOLUTE</info> ou <info>SQLSRV_SCROLL_RELATIVE</info>. Notez que la première
                         ligne du jeu de résultats a un index de 0.

<comment>Return:</comment>
  <info>mixed</info>  Retourne un objet en cas de succès, <info>null</info> s'il n'y a plus de ligne à retourner, et <info>false</info> si
         une erreur survient ou si la classe spécifiée n'existe pas.

<comment>See Also:</comment>
   * <strong>sqlsrv_fetch()</strong>
   * <strong>sqlsrv_fetch_array()</strong>


id: sqlsrv_field_metadata
type: function
doc:
<comment>Description:</comment>
  Récupère les données méta pour les champs d'une requête préparée par la fonction
     sqlsrv_prepare ou la fonction sqlsrv_query
    
  
  Récupère les données méta pour les champs d'une requête préparée par la fonction <strong>sqlsrv_prepare()</strong>
  ou la fonction <strong>sqlsrv_query()</strong>. La fonction <strong>sqlsrv_field_metadata()</strong> peut être appelée sur une
  requête avant ou après son exécution.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  Une ressource de requête depuis laquelle les données méta seront récupérées.

<comment>Return:</comment>
  <info>mixed</info>  Retourne un tableau de tableaux en cas de succès. Sinon <info>false</info> est retourné. Chaque tableau
         retourné est décrit dans la table suivante : Tableau retourné par la fonction
         sqlsrv_field_metadataCléDescriptionNameLe nom du champ.TypeLa valeur numérique pour le type
         SQL.SizeLe nombre de caractères pour les champs de type caractères, le nombre d'octets pour
         les champs de type binaire, ou <info>null</info> pour les autres types.PrecisionLa précision pour les
         variables de type précision, <info>null</info> pour les autres types.Scale L'échelle pour les variables
         de type scale, <info>null</info> pour les autres types.Nullable Une énumération indiquant si la colonne
         peut être nulle, ne peut pas l'être, ou si cette information n'est pas connue. Pour plus
         d'informations, reportez-vous à la documentation sur la fonction sqlsrv_field_metadata de
         la documentation Microsoft SQLSRV.

<comment>See Also:</comment>
   * <strong>sqlsrv_client_info()</strong>


id: sqlsrv_free_stmt
type: function
doc:
<comment>Description:</comment>
  Libère toutes les ressources de la requête spécifiée
  
  Libère toutes les ressources pour la requête spécifié. La requête ne pourra plus être utilisé
  après le passage à la fonction <strong>sqlsrv_free_stmt()</strong>. Si la requête <strong>sqlsrv_free_stmt()</strong> est appelée
  alors que la requête est en cours d'exécution, l'exécution de la requête est interrompue, et la
  requête est annulée.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  La requête dont les ressources seront libérées. Notez que <info>null</info> est une valeur de
                   paramètre valide. Cette valeur permet à la fonction d'être appelée à plusieurs
                   reprises dans un script.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_cancel()</strong>


id: sqlsrv_get_config
type: function
doc:
<comment>Description:</comment>
  Retourne la valeur de la configuration spécifiée
  
  Retourne la valeur de la configuration spécifiée.

<comment>Param:</comment>
  <info>string</info>  <strong>$setting</strong>  Le nom de la configuration pour laquelle la valeur sera retournée. Pour une
                    liste des configurations, voir la fonction <strong>sqlsrv_configure()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  Retourne la valeur de la configuration demandée. Si une configuration invalide est fournie,
         <info>false</info> sera retourné.

<comment>See Also:</comment>
   * <strong>sqlsrv_configure()</strong>


id: sqlsrv_get_field
type: function
doc:
<comment>Description:</comment>
  Récupère les données du champ depuis la ligne actuellement sélectionnée
  
  Récupère les données du champ depuis la ligne actuellement sélectionnée. Les champs doivent être
  lus dans l'ordre. Leurs indices commencent à 0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        Une ressource de requête retournée par la fonction <strong>sqlsrv_query()</strong> ou la
                         fonction <strong>sqlsrv_execute()</strong>.
  <info>int</info>       <strong>$fieldIndex</strong>  L'index du champ à récupérer. Les indices des champs commencent à 0. Les
                         champs doit être lus dans l'ordre, i.e. si vous accédez au champ d'indice
                         1, alors le champ d'indice 0 ne sera plus disponible.
  <info>int</info>       <strong>$getAsType</strong>   Le type de données PHP pour les données du champ retourné. Si ce paramètre
                         n'est pas défini, les données du champ seront retournées sous la forme d'un
                         type de données PHP par défaut. Pour plus d'informations sur les types de
                         données PHP par défaut, reportez-vous à la section sur les types de données
                         PHP par défaut de la documentation Microsoft SQLSRV.

<comment>Return:</comment>
  <info>mixed</info>  Retourne les données depuis le champ spécifié en cas de succès. Retourne <info>false</info> si une
         erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_fetch()</strong>
   * <strong>sqlsrv_fetch_array()</strong>
   * <strong>sqlsrv_fetch_object()</strong>


id: sqlsrv_has_rows
type: function
doc:
<comment>Description:</comment>
  Indique si la requête spécifiée contient des lignes
  
  Indique si la requête spécifiée contient des lignes.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  Une ressource de requête retournée par la fonction <strong>sqlsrv_query()</strong> ou la fonction
                   <strong>sqlsrv_execute()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> si la requête spécifiée contient des lignes, <info>false</info> si elle n'en contient pas
        ou bien si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_num_rows()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_next_result
type: function
doc:
<comment>Description:</comment>
  Rend actif le prochain résultat de la requête spécifiée
  
  Rend actif le prochain résultat de la requête spécifiée. Les résultats incluent les jeux de
  résultats, le nombre de lignes, et les paramètres de sortie.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  La requête sur laquelle le prochain résultat sera appelé.

<comment>Return:</comment>
  <info>mixed</info>  Retourne <info>true</info> si le prochain résultat a été récupéré avec succès, <info>false</info> si une erreur
         survient, et <info>null</info> s'il n'y a plus de résultat à récupérer.

<comment>See Also:</comment>
   * <strong>sqlsrv_query()</strong>
   * <strong>sqlsrv_fetch_array()</strong>
   * <strong>sqlsrv_rows_affected()</strong>


id: sqlsrv_num_fields
type: function
doc:
<comment>Description:</comment>
  Récupère le nombre de champs (colonnes) dans une requête
  
  Récupère le nombre de champs (colonnes) dans une requête.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  La requête depuis laquelle le nombre de champs est retournée. La fonction
                   <strong>sqlsrv_num_fields()</strong> peut être appelée sur une requête avant ou après l'exécution
                   de la requête.

<comment>Return:</comment>
  <info>mixed</info>  Retourne le nombre de champs en cas de succès. Retourne <info>false</info> sinon.

<comment>See Also:</comment>
   * <strong>sqlsrv_field_metadata()</strong>
   * <strong>sqlsrv_fetch()</strong>
   * <strong>sqlsrv_get_field()</strong>


id: sqlsrv_num_rows
type: function
doc:
<comment>Description:</comment>
  Récupère le nombre de lignes d'un jeu de résultats
  
  Récupère le nombre de lignes d'un jeu de résultats. Cette fonction nécessite que la ressource de
  requête ait été créée avec un curseur statique ou keyset. Pour plus d'informations, reportez-vous
  aux fonctions <strong>sqlsrv_query()</strong>, <strong>sqlsrv_prepare()</strong>, ou au chapitre Spécifier un type de curseur et
  sélectionner des lignes dans la documentation de Microsoft SQLSRV.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  La requête depuis laquelle le nombre total de lignes est retourné. La ressource
                   de requête doit avoir été créée avec un curseur statique ou keyset. Pour plus
                   d'informations, reportez-vous aux fonctions <strong>sqlsrv_query()</strong>, <strong>sqlsrv_prepare()</strong>, ou
                   au chapitre Spécifier un type de curseur et sélectionner des lignes dans la
                   documentation de Microsoft SQLSRV.

<comment>Return:</comment>
  <info>mixed</info>  Retourne le nombre total de lignes récupérées en cas de succès, et <info>false</info> si une erreur
         survient. Si un curseur précédent (par défaut), ou un curseur dynamique est utilisé, <info>false</info>
         sera retourné.

<comment>See Also:</comment>
   * <strong>sqlsrv_has_rows()</strong>
   * <strong>sqlsrv_rows_affected()</strong>


id: sqlsrv_prepare
type: function
doc:
<comment>Description:</comment>
  Prépare une requête pour exécution
  
  Prépare une requête pour exécution. Cette fonction est idéale pour préparer une requête qui sera
  exécutée plusieurs fois avec des valeurs de paramètres différents.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>     Une ressource de connexion retournée par la fonction <strong>sqlsrv_connect()</strong>.
  <info>string</info>    <strong>$sql</strong>      La chaîne qui définit la requête à préparer et à exécuter.
  <info>array</info>     <strong>$params</strong>   Un tableau spécifiant les informations de paramètres lors de l'exécution d'une
                      requête contenant des paramètres. Les éléments du tableau peuvent être
                      n'importe lequel de ceux qui suivent : Une valeur litéraleUne variable PHPUn
                      tableau avec la structure suivante : array($value [, $direction [, $phpType [,
                      $sqlType]]]) La table suivante décrit les éléments de la structure du tableau
                      ci-dessus :
  <info>array</info>     <strong>$options</strong>  Un tableau spécifiant les options de propriétés de la requête. Les clés
                      supportées sont décrites dans le tableau suivant :

<comment>Return:</comment>
  <info>mixed</info>  Retourne une ressource de requête en cas de succès, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_execute()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_query
type: function
doc:
<comment>Description:</comment>
  Prépare et exécute une requête
  
  Prépare et exécute une requête.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>     Une ressource de connexion retournée par la fonction <strong>sqlsrv_connect()</strong>.
  <info>string</info>    <strong>$sql</strong>      La chaîne qui définit la requête à préparer et à exécuter.
  <info>array</info>     <strong>$params</strong>   Un tableau spécifiant les paramètres lors de l'exécution d'une requête les
                      autorisant. Les éléments du tableau peuvent être n'importe lequel parmi la
                      liste ci-dessous : Une valeur littéraleUne variable PHPUn tableau avec cette
                      structure :  array($value [, $direction [, $phpType [, $sqlType]]]) La table
                      suivante décrit les éléments dans la structure du tableau ci-dessus :
  <info>array</info>     <strong>$options</strong>  Un tableau spécifiant les options de la requête. Les clés supportés sont
                      décrites dans le tableau suivant :

<comment>Return:</comment>
  <info>mixed</info>  Retourne une ressource de requête en cas de succès, et <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_prepare()</strong>
   * <strong>sqlsrv_execute()</strong>


id: sqlsrv_rollback
type: function
doc:
<comment>Description:</comment>
  Annule une transaction qui a été commencée grâce à la fonction
    sqlsrv_begin_transaction
  
  Annule une transaction qui a été commencée grâce à la fonction <strong>sqlsrv_begin_transaction()</strong> et
  retourne la connexion en mode auto-validation.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  La ressource de connexion retournée par un appel à la fonction <strong>sqlsrv_connect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>sqlsrv_begin_transaction()</strong>
   * <strong>sqlsrv_commit()</strong>


id: sqlsrv_rows_affected
type: function
doc:
<comment>Description:</comment>
  Retourne le nombre de lignes modifiées par la dernière requête de type
     INSERT, UPDATE, ou DELETE
  
  Retourne le nombre de lignes modifiées par la dernière requête de type INSERT, UPDATE, ou DELETE.
  Pour plus d'informations sur le nombre de lignes retournées par une requête SELECT, reportez-vous
  à la fonction <strong>sqlsrv_num_rows()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  La ressource de requête exécutée.

<comment>Return:</comment>
  <info>int|false</info>  Retourne le nombre de lignes affectées par la dernière requête INSERT, UPDATE, ou
             DELETE. Si aucune ligne n'est affectée, 0 sera retourné. Si le nombre de lignes
             affectées ne peut être déterminé, -1 sera retourné. Si une erreur survient, <info>false</info> sera
             retourné.

<comment>See Also:</comment>
   * <strong>sqlsrv_num_rows()</strong>


id: sqlsrv_send_stream_data
type: function
doc:
<comment>Description:</comment>
  Envoie des données depuis le flux vers le serveur
  
  Envoie des données depuis le flux vers le serveur. Jusqu'à 8 Ko de données sont envoyées à chaque
  appel.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  Une ressource de requête retournée par la fonction <strong>sqlsrv_query()</strong> ou par la
                   fonction <strong>sqlsrv_execute()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> s'il y a encore des données à envoyer, et <info>false</info> s'il n'y en a plus.

<comment>See Also:</comment>
   * <strong>sqlsrv_prepare()</strong>
   * <strong>sqlsrv_query()</strong>


id: sqlsrv_server_info
type: function
doc:
<comment>Description:</comment>
  Retourne des informations sur le serveur
  
  Retourne des informations sur le serveur.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn</strong>  La ressource de connexion qui connecte le client et le serveur.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau tel que décrit dans la table suivante : Tableau
         retournéCurrentDatabaseLa base de données connectéeSQLServerVersionLa version du serveur
         SQLSQLServerNameLe nom du serveur

<comment>See Also:</comment>
   * <strong>sqlsrv_client_info()</strong>


id: sqrt
type: function
doc:
<comment>Description:</comment>
  Racine carrée
  
  Retourne la racine carrée de <strong>$num</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  L'argument à traiter

<comment>Return:</comment>
  <info>float</info>  La racine carrée de <strong>$num</strong> ou la valeur spéciale <return>NAN</return> pour les nombres négatifs.

<comment>See Also:</comment>
   * <strong>pow()</strong>
   * <info>M_SQRTPI</info> - sqrt(pi)
   * <info>M_2_SQRTPI</info> - 2/sqrt(pi)
   * <info>M_SQRT2</info> - sqrt(2)
   * <info>M_SQRT3</info> - sqrt(3)
   * <info>M_SQRT1_2</info> - 1/sqrt(2)


id: srand
type: function
doc:
<comment>Description:</comment>
  Initialise le générateur de nombres aléatoires
  
  <strong>srand()</strong> initialise le générateur de nombres aléatoires avec <strong>$seed</strong>, ou avec une valeur aléatoire si
  <strong>$seed</strong> est <return>0</return>.
  
  Il n'est pas nécessaire d'initialiser le générateur de nombres aléatoires avec <strong>srand()</strong> ou
  <strong>mt_srand()</strong>, ceci est fait automatiquement.
  
  Étant donné que le moteur Mt19937 ("Mersenne Twister") prend un seul entier de 32 bits en tant que
  graine, le nombre de séquences aléatoires possibles est limité à seulement 232 (par exemple 4 294
  967 296), malgré la période énorme de Mt19937 de 219937-1.
  
  Quand on se fie à une graine aléatoire implicite ou explicite, les duplications apparaîtront
  beaucoup plus tôt. Les graines dupliquées sont attendues avec une probabilité de 50% après moins
  de 80 000 graines générées aléatoirement selon le problème d anniversaire. Une probabilité de 10%
  d une graine dupliquée se produit après avoir généré environ 30 000 graines de manière aléatoire.
  
  Cela rend Mt19937 inadapté aux applications où les séquences dupliquées ne doivent pas se produire
  avec plus qu une probabilité négligeable. Si une graine reproductible est requise, à la fois le
  moteur <class>Random\Engine\Xoshiro256StarStar</class> et <class>Random\Engine\PcgOneseq128XslRr64</class> supportent des
  graines beaucoup plus grandes qui sont peu susceptibles de se heurter de manière aléatoire. Si la
  reproductibilité n'est pas requise, le moteur <class>Random\Engine\Secure</class> fournit des données aléatoires
  cryptographiquement sécurisées.
  
  Depuis PHP 7.1.0, <strong>srand()</strong> est un alias de <strong>mt_srand()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$seed</strong>  Un <info>int</info> d'initialisation arbitraire

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * <strong>rand()</strong>
   * <strong>getrandmax()</strong>
   * <strong>mt_srand()</strong>


id: sscanf
type: function
doc:
<comment>Description:</comment>
  Analyse une chaîne à l'aide d'un format
  
  <strong>sscanf()</strong> est l'inverse de la fonction <strong>printf()</strong>. <strong>sscanf()</strong> lit des données dans la chaîne <strong>$string</strong>,
  et l'interprète en fonction du format <strong>$format</strong>.
  
  Tous les caractères blancs dans la chaîne <strong>$format</strong> correspondent à un caractère blanc dans la
  chaîne <strong>$string</strong>. Cela signifie que même une tabulation (<return>\t</return>) dans la chaîne de format peut
  correspondre à un simple espace dans la chaîne <strong>$str</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  La chaîne à analyser.
  <info>string</info>  <strong>$format</strong>  Le format interprété pour <strong>$string</strong> décrit dans la documentation de la <strong>sprintf()</strong>
                   avec les différences suivantes :  La fonction ne tient pas compte du contexte
                   local. <return>F</return>, <return>g</return>, <return>G</return> et <return>b</return> ne sont pas supportés. <return>D</return> représente un nombre décimal. <return>i</return>
                   représente un nombre entier avec détection de base. <return>n</return> représente le nombre de
                   caractères traités à ce stade. <return>s</return> arrête la lecture à chaque caractère
                   d'espacement. <return>*</return> au lieu de <return>argnum$</return> supprime l'affectation de cette spécification
                   de conversion.
  <info>mixed</info>   <strong>$vars</strong>    Optionnellement, vous pouvez passer des variables dans ce paramètre, par
                   référence qui contiendront les valeurs de l'analyse.

<comment>Return:</comment>
  <info>array|int|null</info>  Si seulement deux paramètres sont fournis, les valeurs trouvées seront retournées
                  sous forme de tableau. Sinon, si le paramètre optionnel sont fourni, la fonction
                  retournera le nombre de valeurs assignées. Le paramètre optionnel doit être passé
                  par référence.
                  
                  S'il y a plus de sous-chaînes attendus dans le paramètre <strong>$format</strong>, qu'il y a de
                  disponibles dans <strong>$string</strong>, alors <info>null</info> sera retourné.

<comment>See Also:</comment>
   * <strong>printf()</strong>
   * <strong>sprintf()</strong>
   * <strong>fprintf()</strong>
   * <strong>vprintf()</strong>
   * <strong>vsprintf()</strong>
   * <strong>vfprintf()</strong>
   * <strong>fscanf()</strong>
   * <strong>number_format()</strong>
   * <strong>date()</strong>


id: ssdeep_fuzzy_compare
type: function
doc:
<comment>Description:</comment>
  Calcule le score de correspondance entre 2 signatures de hachages flous
  
  Calcule le score de correspondance entre la <strong>$signature1</strong> et la <strong>$signature2</strong> en utilisant le
  contexte déclenché par morceaux de hachages, et retourne le score de correspondance.

<comment>Param:</comment>
  <info>string</info>  <strong>$signature1</strong>  La chaîne représentant la première signature de hachage flou.
  <info>string</info>  <strong>$signature2</strong>  La chaîne représentant la seconde signature de hachage flou.

<comment>Return:</comment>
  <info>int</info>  Retourne un entier entre 0 et 100 en cas de succès, ou <info>false</info> si une erreur survient.


id: ssdeep_fuzzy_hash
type: function
doc:
<comment>Description:</comment>
  Crée un hachage flou depuis une chaîne de caractères
  
  <strong>ssdeep_fuzzy_hash()</strong> calcule le hachage de la chaîne <strong>$to_hash</strong> en utilisant le  contexte déclenché
  par morceaux de hachages, et retourne le hachage correspondant.

<comment>Param:</comment>
  <info>string</info>  <strong>$to_hash</strong>  La chaîne de caractères à hacher.

<comment>Return:</comment>
  <info>string</info>  Retourne une chaîne de caractères en cas de succès, <info>false</info> sinon.


id: ssdeep_fuzzy_hash_filename
type: function
doc:
<comment>Description:</comment>
  Crée un hachage flou d'un fichier
  
  <strong>ssdeep_fuzzy_hash_filename()</strong> calcule le hachage d'un fichier spécifié par le paramètre <strong>$file_name</strong>
  en utilisant le contexte déclenché par morceaux de hachages, et retourne le hachage correspondant.

<comment>Param:</comment>
  <info>string</info>  <strong>$file_name</strong>  Le nom du fichier à hacher.

<comment>Return:</comment>
  <info>string</info>  Retourne une chaîne de caractères en cas de succès, ou bien <info>false</info> si une erreur survient.


id: ssh2_auth_agent
type: function
doc:
<comment>Description:</comment>
  Authentification SSH en utilisant l'agent ssh
  
  Authentification SSH en utilisant l'agent ssh.
  
  La fonction <strong>ssh2_auth_agent()</strong> n'est disponible que lorsque l'extension ssh2 a été compilée avec
  libssh &gt;= 1.2.3.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>   Un identifiant de connexion SSH, obtenu depuis un appel à la fonction
                       <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>  Nom d'utilisateur distant.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: ssh2_auth_hostbased_file
type: function
doc:
<comment>Description:</comment>
  Identification en utilisant une clé d'hôte publique
  
  Identification en utilisant une clé d'hôte publique lue depuis un fichier.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>         Un identifiant de connexion SSH, obtenu via la fonction <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>        
  <info>string</info>    <strong>$hostname</strong>        
  <info>string</info>    <strong>$pubkeyfile</strong>      
  <info>string</info>    <strong>$privkeyfile</strong>     
  <info>string</info>    <strong>$passphrase</strong>      Si <strong>$privkeyfile</strong> est chiffré (et il doit l'être), la phrase secrète doit
                             être fournie.
  <info>string</info>    <strong>$local_username</strong>  Si <strong>$local_username</strong> est omis, alors la valeur de <strong>$username</strong> sera utilisée
                             pour cela.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: ssh2_auth_none
type: function
doc:
<comment>Description:</comment>
  Identification en tant que "none"
  
  Tente une identification en tant que "none", qui, habituellement, échoue (et doit échouer). Mis à
  part l'échec, cette fonction doit retourner un tableau contenant les méthodes d'identification
  acceptées.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>   Un identifiant de connexion SSH, obtenu avec la fonction <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>  Nom d'utilisateur distant.

<comment>Return:</comment>
  <info>mixed</info>  Retourne <info>true</info> si le serveur accepte "none" comme méthode d'identification, ou un tableau de
         méthodes d'identification acceptées en cas d'échec.


id: ssh2_auth_password
type: function
doc:
<comment>Description:</comment>
  Identification via SSH en utilisant un mot de passe en clair
  
  Identification via SSH en utilisant un mot de passe en clair. Depuis la version 0.12, cette
  fonction supporte également la méthode keyboard_interactive.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>   Un identifiant de connexion SSH, obtenu depuis la fonction <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>  Nom d'utilisateur distant.
  <info>string</info>    <strong>$password</strong>  Mot de passe pour l'utilisateur <strong>$username</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: ssh2_auth_pubkey_file
type: function
doc:
<comment>Description:</comment>
  Identification en utilisant une clé publique
  
  Identification en utilisant une clé publique, lue depuis un fichier.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>      Un identifiant de connexion SSH, obtenu depuis la fonction <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$username</strong>     
  <info>string</info>    <strong>$pubkeyfile</strong>   Le fichier contenant la clé publique doit être au format OpenSSH. Il doit
                          ressembler à ceci :
                          
                          ssh-rsa AAAAB3NzaC1yc2EAAA....NX6sqSnHA8= rsa-key-20121110
  <info>string</info>    <strong>$privkeyfile</strong>  La clé privée doit être au format PEM
  <info>string</info>    <strong>$passphrase</strong>   Si <strong>$privkeyfile</strong> est chiffré (et doit l'être), la passe-phrase doit être
                          fournie.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: ssh2_connect
type: function
doc:
<comment>Description:</comment>
  Connexion à un serveur SSH
  
  Établit une connexion à un serveur SSH distant.
  
  Une fois connecté, le client doit vérifier la clé hôte du serveur en utilisant la fonction
  <strong>ssh2_fingerprint()</strong>, puis s'identifier en utilisant soit un mot de passe, soit une clé publique.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>       
  <info>int</info>     <strong>$port</strong>       
  <info>array</info>   <strong>$methods</strong>    <strong>$methods</strong> doit être un tableau associatif d'au plus quatre paramètres, comme
                      décrit ci-dessous. <strong>$methods</strong>  peut contenir n'importe quel ou tous les
                      paramètres suivants.
                      
                      Options de connexion SSHIndexSignificationValeurs supportées *kex La liste des
                      méthodes d'échange à annoncer, séparées par une virgule, par ordre de
                      préférence. <return>diffie-hellman-group1-sha1</return>, <return>diffie-hellman-group14-sha1</return>, et
                      <return>diffie-hellman-group-exchange-sha1</return>hostkey La liste des méthodes de clés d'hôte
                      à annoncer, séparées par une virgule, par ordre de préférence. <return>ssh-rsa</return> et
                      <return>ssh-dss</return> client_to_server Tableau associatif contenant les codes des méthodes
                      de chiffrement, de compression et de messages d'identification (MAC) préférés
                      pour l'envoi des messages depuis le client vers le serveur. server_to_client
                      Tableau associatif contenant les codes des méthodes de chiffrement, de
                      compression et de messages d'identification (MAC) préférés pour l'envoi des
                      messages depuis le serveur vers le client.
                      
                      * - Les valeurs supportées sont dépendantes des méthodes supportées par la
                      bibliothèque. Voir la documentation libssh2  pour plus d'informations.
                      
                      <strong>$client_to_server</strong> et <strong>$server_to_client</strong> doivent être un tableau associatif avec
                      n'importe quel ou tous les paramètres suivants. IndexSignificationValeurs
                      supportées *crypt Liste des méthodes de chiffrement à annoncer, séparées par
                      une virgule, par ordre de préférence. <return>rijndael-cbc@lysator.liu.se</return>, <return>aes256-cbc</return>,
                      <return>aes192-cbc</return>, <return>aes128-cbc</return>, <return>3des-cbc</return>, <return>blowfish-cbc</return>, <return>cast128-cbc</return>, <return>arcfour</return>, et
                      <return>none**</return>comp Liste des méthodes de compression à annoncer, séparées par une
                      virgule, par ordre de préférence. <return>zlib</return> et <return>none</return> mac Liste des méthodes MAC à
                      annoncer, séparées par une virgule, par ordre de préférence. <return>hmac-sha1</return>,
                      <return>hmac-sha1-96</return>, <return>hmac-ripemd160</return>, <return>hmac-ripemd160@openssh.com</return>, et <return>none**</return>
                      
                      Chiffrement et méthode MAC "<return>none</return>" Pour des raisons de sécurité, <return>none</return> est
                      désactivé par la  bibliothèque libssh2 à moins qu'il soit activé explicitement
                      durant la compilation en utilisant les options  appropriées du ./configure.
                      Voir la documentation sur la bibliothèque pour plus d'informations.
                      
                      Pour des raisons de sécurité, <return>none</return> est désactivé par la  bibliothèque libssh2
                      à moins qu'il soit activé explicitement durant la compilation en utilisant les
                      options  appropriées du ./configure. Voir la documentation sur la bibliothèque
                      pour plus d'informations.
  <info>array</info>   <strong>$callbacks</strong>  <strong>$callbackss</strong> doit être un tableau associatif contenant n'importe quel ou tous
                      les paramètres suivants.  Paramètres de rappel
                      IndexSignificationPrototypeignore Nom de la fonction à appeler lorsqu'un
                      paquet <info>SSH2_MSG_IGNORE</info> est reçu <return>void ignore_cb($message)</return>debug Nom de la
                      fonction à appeler lorsqu'un paquet <info>SSH2_MSG_DEBUG</info> est reçu <return>void
                      debug_cb($message, $language, $always_display)</return>macerror Nom de la fonction à
                      appeler lorsqu'un paquet est reçu mais que le code message d'identification
                      échoue. Si le la fonction de rappel retourne <info>true</info>, l'erreur sera ignorée,
                      sinon, la connexion se terminera. <return>bool macerror_cb($packet)</return>disconnect Nom de
                      la fonction à appeler lorsqu'un paquet <info>SSH2_MSG_DISCONNECT</info> est reçu <return>void
                      disconnect_cb($reason, $message, $language)</return>

<comment>Return:</comment>
  <info>resource|false</info>  Retourne une ressource en cas de succès, ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_fingerprint()</strong>
   * <strong>ssh2_auth_none()</strong>
   * <strong>ssh2_auth_password()</strong>
   * <strong>ssh2_auth_pubkey_file()</strong>
   * <strong>ssh2_disconnect()</strong>


id: ssh2_disconnect
type: function
doc:
<comment>Description:</comment>
  Ferme une connexion à un serveur SSH distant
  
  Ferme une connexion à un serveur SSH distant.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  Un identifiant de lien de connexion SSH, obtenu depuis un appel à
                      <strong>ssh2_connect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_connect()</strong>


id: ssh2_exec
type: function
doc:
<comment>Description:</comment>
  Exécute une commande sur un serveur distant
  
  Exécute une commande sur un serveur distant.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>            Un identifiant de connexion SSH, obtenu depuis la fonction
                                <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$command</strong>            
  <info>string</info>    <strong>$pty</strong>                
  <info>array</info>     <strong>$env</strong>                <strong>$env</strong> peut être passé sous la forme d'un tableau associatif de paires
                                nom/valeur, à définir dans l'environnement cible.
  <info>int</info>       <strong>$width</strong>              Largeur du terminal virtuel.
  <info>int</info>       <strong>$height</strong>             Hauteur du terminal virtuel.
  <info>int</info>       <strong>$width_height_type</strong>  <strong>$width_height_type</strong> peut valoir <info>SSH2_TERM_UNIT_CHARS</info> ou
                                <info>SSH2_TERM_UNIT_PIXELS</info>.

<comment>Return:</comment>
  <info>resource|false</info>  Retourne un flux en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_connect()</strong>
   * <strong>ssh2_shell()</strong>
   * <strong>ssh2_tunnel()</strong>


id: ssh2_fetch_stream
type: function
doc:
<comment>Description:</comment>
  Parcours un flux étendu de données
  
  Parcourt un sous-flux alternatif associé à un flux de canal SSH2. Le protocole SSH2 définie
  actuellement un seul sous-flux, STDERR, qui a un identifiant de sous-flux de <info>SSH2_STREAM_STDERR</info>
  (défini à 1).

<comment>Param:</comment>
  <info>resource</info>  <strong>$channel</strong>   
  <info>int</info>       <strong>$streamid</strong>  Un canal de flux SSH2.

<comment>Return:</comment>
  <info>resource</info>  Retourne la ressource, représentant le flux demandé.

<comment>See Also:</comment>
   * <strong>ssh2_shell()</strong>
   * <strong>ssh2_exec()</strong>
   * <strong>ssh2_connect()</strong>


id: ssh2_fingerprint
type: function
doc:
<comment>Description:</comment>
  Récupère l'empreinte d'un serveur distant
  
  Récupère l'empreinte d'un serveur distant.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  Un identifiant de connexion SSH, obtenu depuis la fonction <strong>ssh2_connect()</strong>.
  <info>int</info>       <strong>$flags</strong>    <strong>$flags</strong> peut être soit <info>SSH2_FINGERPRINT_MD5</info> ou <info>SSH2_FINGERPRINT_SHA1</info> associé
                      logiquement avec <info>SSH2_FINGERPRINT_HEX</info> ou <info>SSH2_FINGERPRINT_RAW</info>.

<comment>Return:</comment>
  <info>string</info>  Retourne l'empreinte, sous la forme d'une chaîne de caractères.


id: ssh2_forward_accept
type: function
doc:
<comment>Description:</comment>
  Accept a connection created by a listener
  
  Accepts a connection created by a listener.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info></info>  <strong>$desc</strong>  An SSH2 Listener resource, obtained from a call to <strong>ssh2_forward_listen()</strong>.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a stream resource,  ou <info>false</info> si une erreur survient.


id: ssh2_forward_listen
type: function
doc:
<comment>Description:</comment>
  Bind a port on the remote server and listen for connections
  
  Binds a port on the remote server and listen for connections.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>          An SSH Session resource, obtained from a call to <strong>ssh2_connect()</strong>.
  <info>int</info>       <strong>$port</strong>             The port of the remote server.
  <info>string</info>    <strong>$host</strong>             
  <info>int</info>       <strong>$max_connections</strong>  

<comment>Return:</comment>
  <info>resource|false</info>  Returns an SSH2 Listener,  ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_forward_accept()</strong>


id: ssh2_methods_negotiated
type: function
doc:
<comment>Description:</comment>
  Retourne une liste de méthodes négociées
  
  Retourne une liste de méthodes négociées.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  Un identifiant de connexion SSH, obtenu depuis la fonction <strong>ssh2_connect()</strong>.

<comment>Return:</comment>
  <info>array</info>  

<comment>See Also:</comment>
   * <strong>ssh2_connect()</strong>


id: ssh2_poll
type: function
doc:
<comment>Description:</comment>
  Poll the channels/listeners/streams for events
  
  Polls the channels/listeners/streams for events, and returns the number of descriptors which
  returned non-zero revents.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>array</info>  <strong>$desc</strong>     An indexed array of subarrays with the keys <return>'resource'</return> and <return>'events'</return>. The value of
                   the resource is a (channel) stream or an SSH2 Listener resource. The value of the
                   event are SSH2_POLL* flags bitwise ORed together. Each subarray will be populated
                   with an <return>'revents'</return> element on return, whose values are SSH2_POLL* flags bitwise
                   ORed together of the events that occurred.
  <info>int</info>    <strong>$timeout</strong>  The timeout in seconds.

<comment>Return:</comment>
  <info>int</info>  Returns the number of descriptors which returned non-zero revents.


id: ssh2_publickey_add
type: function
doc:
<comment>Description:</comment>
  Ajoute une clé publique autorisée
  
  Le publickey subsystem est utilisé pour gérer les clés publiques sur un serveur sur lequel le
  client est déjà identifié. Pour s'identifier à un system distant en utilisant l'identification par
  clé publique, utilisez la fonction <strong>ssh2_auth_pubkey_file()</strong> à la place.

<comment>Param:</comment>
  <info>resource</info>  <strong>$pkey</strong>        Ressource Publickey Subsystem créée par <strong>ssh2_publickey_init()</strong>.
  <info>string</info>    <strong>$algoname</strong>    Algorithme de clé publique (exemple) : ssh-dss, ssh-rsa
  <info>string</info>    <strong>$blob</strong>        Blob de clé publique comme données binaires brutes
  <info>bool</info>      <strong>$overwrite</strong>   Si la clé spécifiée existe déjà, devrait-elle être écrasée ?
  <info>array</info>     <strong>$attributes</strong>  Tableau associatif d'attributs pour assigner à cette clé publique.
                         Référez-vous à ietf-secsh-publickey-subsystem pour une liste des attributs
                         supportés. Pour marquer un attribut comme obligatoire, précédez son nom par
                         un astérisque. Si le serveur n'est pas capable de supporter un attribut
                         marqué comme obligatoire, il abandonnera le processus d'ajout.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_publickey_init()</strong>
   * <strong>ssh2_publickey_remove()</strong>
   * <strong>ssh2_publickey_list()</strong>


id: ssh2_publickey_init
type: function
doc:
<comment>Description:</comment>
  Initialise un Publickey Subsystem (sous-système de clé publique)
  
  Demande le subsystem de la clé publique à partir d'un serveur SSH2 déjà connecté.
  
  Le publickey subsystem permet à un client déjà connecté et identifié de gérer la liste des clés
  publiques autorisées enregistrée sur le serveur cible dans une manière d'implémentation
  agnostique. Si le serveur ne supporte pas le publickey subsystem, la fonction
  <strong>ssh2_publickey_init()</strong> retournera <info>false</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  

<comment>Return:</comment>
  <info>resource|false</info>  Retourne une ressource <return>SSH2 Publickey Subsystem</return> pour utiliser avec toutes les
                  autres méthodes ssh2_publickey_*() ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_publickey_add()</strong>
   * <strong>ssh2_publickey_remove()</strong>
   * <strong>ssh2_publickey_list()</strong>


id: ssh2_publickey_list
type: function
doc:
<comment>Description:</comment>
  Liste les clés publiques actuellement autorisées
  
  Liste les clés publiques actuellement autorisées.

<comment>Param:</comment>
  <info>resource</info>  <strong>$pkey</strong>  Ressource Publickey Subsystem.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau de clés indexées numériquement, chacune d'elle est un tableau
         associatif contenant : nom, blob et éléments attrs.
         
         Élément de clé publiqueClé TableauSignificationnameNom de l'algorithme utilisé par cette
         clé publique, par exemple : <return>ssh-dss</return> ou <return>ssh-rsa</return>.blobBlob de clé publique comme données
         binaires brutes.attrs Attributs assignés à cette clé publique. L'attribut le plus commun et
         seulement celui supporté par la clé publique version 1 des serveurs est <return>comment</return>, qui peut
         être n'importe quelle forme de chaîne de caractères.

<comment>See Also:</comment>
   * <strong>ssh2_publickey_init()</strong>
   * <strong>ssh2_publickey_add()</strong>
   * <strong>ssh2_publickey_remove()</strong>


id: ssh2_publickey_remove
type: function
doc:
<comment>Description:</comment>
  Supprime un clé publique autorisée
  
  Supprime un clé publique autorisée.

<comment>Param:</comment>
  <info>resource</info>  <strong>$pkey</strong>      Ressource Publickey Subsystem
  <info>string</info>    <strong>$algoname</strong>  Algorithme de clé publique (exemple) : ssh-dss, ssh-rsa
  <info>string</info>    <strong>$blob</strong>      Blob de clé publique comme données binaires brutes

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_publickey_init()</strong>
   * <strong>ssh2_publickey_add()</strong>
   * <strong>ssh2_publickey_list()</strong>


id: ssh2_scp_recv
type: function
doc:
<comment>Description:</comment>
  Demande un fichier via SCP
  
  Copie un fichier depuis un serveur distant vers le système de fichiers local.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>      Un identifiant de connexion SSH, obtenu depuis la fonction <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$remote_file</strong>  Chemin vers le fichier distant.
  <info>string</info>    <strong>$local_file</strong>   Chemin vers le fichier local.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_scp_send()</strong>
   * <strong>copy()</strong>


id: ssh2_scp_send
type: function
doc:
<comment>Description:</comment>
  Envoie un fichier via SCP
  
  Copie un fichier depuis le système de fichiers local vers un serveur distant.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>      Un identifiant de connexion SSH, obtenu depuis la fonction <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$local_file</strong>   Chemin vers le fichier local.
  <info>string</info>    <strong>$remote_file</strong>  Chemin vers le fichier distant.
  <info>int</info>       <strong>$create_mode</strong>  Le fichier sera créé avec le mode spécifié par <strong>$create_mode</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_scp_recv()</strong>
   * <strong>copy()</strong>


id: ssh2_send_eof
type: function
doc:
<comment>Description:</comment>
  Send EOF to stream
  
  Sends an EOF to the stream; this is typically used to close standard input, while keeping output
  and error alive. For example, one can send a remote process some data over standard input, close
  it to start processing, and still be able to read out the results without creating additional
  files.

<comment>Param:</comment>
  <info>resource</info>  <strong>$channel</strong>  An SSH stream; can be acquired through functions like <strong>ssh2_fetch_stream()</strong> or
                      <strong>ssh2_connect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_fetch_stream()</strong>


id: ssh2_sftp
type: function
doc:
<comment>Description:</comment>
  Initialise un sous-système SFTP
  
  Demande un sous-système SFTP depuis un serveur déjà connecté SSH2.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  Un identifiant de connexion SSH, obtenu depuis la fonction <strong>ssh2_connect()</strong>.

<comment>Return:</comment>
  <info>resource|false</info>  Cette méthode retourne une ressource <return>SSH2 SFTP</return> pour utilisation avec toutes les
                  méthodes <return>ssh2_sftp_*()</return> ainsi que le gestionnaire ouvert ssh2.sftp://, ou <info>false</info> si
                  une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_scp_recv()</strong>
   * <strong>ssh2_scp_send()</strong>


id: ssh2_sftp_chmod
type: function
doc:
<comment>Description:</comment>
  Modifie le mode d'un fichier
  
  Tente de modifier le mode du fichier spécifié, en utilisant le <strong>$mode</strong> fourni.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>      Une ressource SSH2 SFTP, ouverte avec la fonction <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$filename</strong>  Chemin vers le fichier.
  <info>int</info>       <strong>$mode</strong>      Permissions sur le fichier. Voir la fonction <strong>chmod()</strong> pour plus de détails
                       concernant ce paramètre.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>chmod()</strong>
   * <strong>ssh2_sftp()</strong>
   * <strong>ssh2_connect()</strong>


id: ssh2_sftp_lstat
type: function
doc:
<comment>Description:</comment>
  Statue un lien symbolique
  
  Statue un lien symbolique sur le système de fichiers distant sans suivre le lien.
  
  Cette fonction est similaire à l'utilisation de la fonction <strong>lstat()</strong> avec le gestionnaire
  ssh2.sftp:// et retourne les mêmes valeurs.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>  Une ressource SSH2 SFTP ouverte par  <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$path</strong>  Chemin vers le lien symbolique distant.

<comment>Return:</comment>
  <info>array</info>  Voir la documentation de la fonction <strong>stat()</strong> pour les détails concernant les valeurs
         retournées.

<comment>See Also:</comment>
   * <strong>ssh2_sftp_stat()</strong>
   * <strong>lstat()</strong>
   * <strong>stat()</strong>


id: ssh2_sftp_mkdir
type: function
doc:
<comment>Description:</comment>
  Crée un dossier
  
  Crée un dossier sur le système de fichiers distant.
  
  Cette fonction est similaire à la fonction <strong>mkdir()</strong>  avec le gestionnaire ssh2.sftp://.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>       Une ressource SSH2 SFTP, ouverte avec la fonction <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$dirname</strong>    Chemin du nouveau dossier.
  <info>int</info>       <strong>$mode</strong>       Permissions du nouveau dossier. Le mode actuel est affecté par la umask
                        courant.
  <info>bool</info>      <strong>$recursive</strong>  Si <strong>$recursive</strong> vaut <info>true</info>, tous les dossiers requis pour <strong>$dirname</strong> seront
                        également automatiquement créés.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>mkdir()</strong>
   * <strong>ssh2_sftp_rmdir()</strong>


id: ssh2_sftp_readlink
type: function
doc:
<comment>Description:</comment>
  Retourne la cible d'un lien symbolique
  
  Retourne la cible d'un lien symbolique.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>  Une ressource SSH2 SFTP, ouverte par la fonction <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$link</strong>  Chemin vers le lien symbolique.

<comment>Return:</comment>
  <info>string</info>  Retourne la cible du lien symbolique <strong>$link</strong>.

<comment>See Also:</comment>
   * <strong>readlink()</strong>
   * <strong>ssh2_sftp_symlink()</strong>


id: ssh2_sftp_realpath
type: function
doc:
<comment>Description:</comment>
  Résout le chemin réel d'un chemin fourni
  
  Traduit un nom de fichier <strong>$filename</strong> en son chemin réellement effectif sur le système de fichiers
  distant.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>      Une ressource SSH2 SFTP, ouverte par la fonction <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$filename</strong>  

<comment>Return:</comment>
  <info>string</info>  Retourne le chemin réel, sous la forme d'une chaîne de caractères.

<comment>See Also:</comment>
   * <strong>realpath()</strong>
   * <strong>ssh2_sftp_symlink()</strong>
   * <strong>ssh2_sftp_readlink()</strong>


id: ssh2_sftp_rename
type: function
doc:
<comment>Description:</comment>
  Renomme un fichier distant
  
  Renomme un fichier distant.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>  Une ressource SSH2 SFTP, ouverte par la fonction <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$from</strong>  Le fichier courant à renommer.
  <info>string</info>    <strong>$to</strong>    Le nouveau nom du fichier.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>rename()</strong>


id: ssh2_sftp_rmdir
type: function
doc:
<comment>Description:</comment>
  Efface un dossier
  
  Efface un dossier du système de fichiers distant.
  
  Cette fonction est similaire à l'utilisation de la fonction <strong>rmdir()</strong> avec le gestionnaire
  ssh2.sftp://.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>     Une ressource SSH2 SFTP, ouverte par la fonction <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$dirname</strong>  

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>rmdir()</strong>
   * <strong>ssh2_sftp_mkdir()</strong>


id: ssh2_sftp_stat
type: function
doc:
<comment>Description:</comment>
  Statue un fichier sur un système de fichiers distant
  
  Statue un fichier sur un système de fichiers distant, en suivant les liens symboliques.
  
  Cette fonction est similaire à l'utilisation de la fonction <strong>stat()</strong> avec le gestionnaire
  ssh2.sftp:// et retourne les mêmes valeurs.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>  Une ressource SSH2 SFTP, ouverte par la fonction <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$path</strong>  

<comment>Return:</comment>
  <info>array</info>  Voir la documentation de la fonction <strong>stat()</strong> pour les détails concernant les valeurs
         retournées.

<comment>See Also:</comment>
   * <strong>ssh2_sftp_lstat()</strong>
   * <strong>lstat()</strong>
   * <strong>stat()</strong>


id: ssh2_sftp_symlink
type: function
doc:
<comment>Description:</comment>
  Crée un lien symbolique
  
  Crée un lien symbolique sur le système de fichiers distant.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>    Une ressource SSH2 SFTP, ouverte par la fonction <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$target</strong>  Cible du lien symbolique.
  <info>string</info>    <strong>$link</strong>    

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_sftp_readlink()</strong>
   * <strong>symlink()</strong>


id: ssh2_sftp_unlink
type: function
doc:
<comment>Description:</comment>
  Efface un fichier
  
  Efface un fichier sur le système de fichiers distant.

<comment>Param:</comment>
  <info>resource</info>  <strong>$sftp</strong>      Une ressource SSH2 SFTP, ouverte par la fonction <strong>ssh2_sftp()</strong>.
  <info>string</info>    <strong>$filename</strong>  

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>unlink()</strong>


id: ssh2_shell
type: function
doc:
<comment>Description:</comment>
  Demande un shell interactif
  
  Ouvre un shell sur le serveur distant et lui alloue un flux.

<comment>Param:</comment>
  <info>resource</info>    <strong>$session</strong>            Un identifiant de connexion SSH, obtenu depuis la fonction
                                  <strong>ssh2_connect()</strong>.
  <info>string</info>      <strong>$termtype</strong>           <strong>$termtype</strong> doit correspondre à une des entrées du fichier
                                  <return>/etc/termcap</return> du système cible.
  <info>array|null</info>  <strong>$env</strong>                <strong>$env</strong> doit être passé en tant qu'un tableau associatif de paire
                                  nom/valeur à définir dans l'environnement cible.
  <info>int</info>         <strong>$width</strong>              Largeur du terminal virtuel.
  <info>int</info>         <strong>$height</strong>             Hauteur du terminal virtuel.
  <info>int</info>         <strong>$width_height_type</strong>  <strong>$width_height_type</strong> doit être soit <info>SSH2_TERM_UNIT_CHARS</info>, soit
                                  <info>SSH2_TERM_UNIT_PIXELS</info>.

<comment>Return:</comment>
  <info>resource|false</info>  Retourne un flux de ressource en cas de succès,  ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ssh2_exec()</strong>
   * <strong>ssh2_tunnel()</strong>
   * <strong>ssh2_fetch_stream()</strong>


id: ssh2_tunnel
type: function
doc:
<comment>Description:</comment>
  Ouvre un tunnel à travers un serveur distant
  
  Ouvre un socket vers un hôte/port arbitraire via un serveur connecté SSH.

<comment>Param:</comment>
  <info>resource</info>  <strong>$session</strong>  Un identifiant de connexion SSH, obtenu depuis la fonction <strong>ssh2_connect()</strong>.
  <info>string</info>    <strong>$host</strong>     
  <info>int</info>       <strong>$port</strong>     

<comment>Return:</comment>
  <info>resource</info>  

<comment>See Also:</comment>
   * <strong>ssh2_connect()</strong>
   * <strong>fsockopen()</strong>


id: stat
type: function
doc:
<comment>Description:</comment>
  Renvoie les informations à propos d'un fichier
  
  Renvoie les informations à propos du fichier <strong>$filename</strong>. Si <strong>$filename</strong> est un lien symbolique, les
  informations proviennent du fichier lui-même, et non du lien symbolique. Avant PHP 7.4.0, sous
  Windows NTS compile les valeurs statiques <return>size</return>, <return>atime</return>, <return>mtime</return> et <return>ctime</return> depuis les liens
  symboliques, dans ce cas.
  
  <strong>lstat()</strong> est identique à <strong>stat()</strong> sauf que les informations seront alors basées sur le lien
  symbolique.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Le chemin vers le fichier.

<comment>Return:</comment>
  <info>array|false</info>  Format du résultat de <strong>stat()</strong> et <strong>fstat()</strong>NuméroNomDescription0devvolume (***)1inoNuméro
               d'inode (****)2modedroit d'accès à l'inode *****3nlinknombre de liens4uiduserid du
               propriétaire (*)5gidgroupid du propriétaire (*)6rdevtype du volume, si le volume est
               une inode7sizetaille en octets8atimedate de dernier accès (Unix timestamp)9mtimedate
               de dernière modification (Unix timestamp)10ctimedate de dernier changement d'inode
               (Unix timestamp)11blksizetaille de bloc (**)12blocksnombre de blocs de 512 octets
               alloués (**)
               
               * - Sous Windows, ceci sera toujours <return>0</return>.
               
               ** - uniquement sur les systèmes qui supportent le type <return>st_blksize</return>. Les autres
               systèmes (e.g. Windows) retournent <return>-1</return>.
               
               *** - Sous Windows, depuis PHP 7.4.0, ce sera le numéro de série du volume qui
               contient le fichier, qui sera un entier 64-bit non signé qui peut déborder.
               Auparavant, c'était la représentation numériques de la lettre du volume (i.e. <return>2</return> pour
               <return>C:</return>) pour la fonction <strong>stat()</strong>, et <return>0</return> pour la fonction <strong>lstat()</strong>.
               
               **** - Sous Windows, depuis PHP 7.4.0, c'est l'identifiant associé avec le fichier,
               qui sera un entier 64-bit non signé qui peut déborder. Auparavant, c'était toujours
               <return>0</return>.
               
               ***** Sous Windows, le bit de la permission d'écriture est définit en fonction de
               l'attribut lecture seule du fichier, et la même valeur est rapporté pour tout les
               utilisateurs, groupe, et propriétaire. L'ACL n'est pas pris en compte, contrairement
               à <strong>is_writable()</strong>.
               
               La valeur de <return>mode</return> contient des informations lut par plusieurs fonctions. Quand écrit
               en octal, commençant par la droite, les trois premiers chiffres sont retournés par
               <strong>chmod()</strong>. Le prochain chiffre est ignoré par PHP. Les deux prochains chiffres
               indiquent le type de fichier : Les types de fichiers <return>mode</return><return>mode</return> en
               octalSignification<info>0140000</info>socket<info>0120000</info>lien symbolique<info>0100000</info>fichier
               régulier<info>0060000</info>périphérique bloc<info>0040000</info>dossier<info>0020000</info>périphérique de
               caractère<info>0010000</info>FIFO (un tube nommé) Ainsi, par exemple, un fichier régulier pourrait
               être <info>0100644</info> et un dossier pourrait <info>0040755</info>.
               
               En cas d'erreur, <strong>stat()</strong> retourne <info>false</info>.
               
               Comme le type entier de PHP est signé et que de nombreuses plates-formes utilisent
               des entiers de 32 bits, certaines fonctions relatives au système de fichiers peuvent
               retourner des résultats étranges pour les fichiers de taille supérieure à 2 Go.

<comment>See Also:</comment>
   * <strong>lstat()</strong>
   * <strong>fstat()</strong>
   * <strong>filemtime()</strong>
   * <strong>filegroup()</strong>
   * <class>SplFileInfo</class>


id: stats_absolute_deviation
type: function
doc:
<comment>Description:</comment>
  Returns the absolute deviation of an array of values
  
  Returns the absolute deviation of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The input array

<comment>Return:</comment>
  <info>float</info>  Returns the absolute deviation of the values in <strong>$a</strong>, or <info>false</info> if <strong>$a</strong> is empty or is not an
         array.


id: stats_cdf_beta
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the beta distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the beta
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, alpha, and beta
  denotes cumulative distribution function, the value of the random variable, and shape parameters
  of the beta distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxalphabeta2xCDFalphabeta3alphaxCDFbeta4betaxCDFalpha

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, alpha, or beta, determined by <strong>$which</strong>.


id: stats_cdf_binomial
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the binomial distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  binomial distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, n, and p denotes
  cumulative distribution function, the number of successes, the number of trials, and the success
  rate for each trial, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxnp2xCDFnp3nxCDFp4pxCDFn

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, n, or p, determined by <strong>$which</strong>.


id: stats_cdf_cauchy
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the Cauchy distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the Cauchy
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, x0, and gamma denotes
  cumulative distribution function, the value of the random variable, the location and the scale
  parameter of the Cauchy distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxx0gamma2xCDFx0gamma3x0xCDFgamma4gammaxCDFx0

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, x0, or gamma, determined by <strong>$which</strong>.


id: stats_cdf_chisquare
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the chi-square distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  chi-square distribution. The kind of the return value and parameters (<strong>$par1</strong> and <strong>$par2</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, and k denotes
  cumulative distribution function, the value of the random variable, and the degree of freedom of
  the chi-square distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong>1CDFxk2xCDFk3kxCDF

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, or k, determined by <strong>$which</strong>.


id: stats_cdf_exponential
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the exponential distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  exponential distribution. The kind of the return value and parameters (<strong>$par1</strong> and <strong>$par2</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, and lambda denotes
  cumulative distribution function, the value of the random variable, and the rate parameter of the
  exponential distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong>1CDFxlambda2xCDFlambda3lambdaxCDF

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, or lambda, determined by <strong>$which</strong>.


id: stats_cdf_f
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the F distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the F
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, d1, and d2 denotes
  cumulative distribution function, the value of the random variable, and the degree of freedoms of
  the F distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxd1d22xCDFd1d23d1xCDFd24d2xCDFd1

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, d1, or d2, determined by <strong>$which</strong>.


id: stats_cdf_gamma
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the gamma distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the gamma
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, k, and theta denotes
  cumulative distribution function, the value of the random variable, and the shape and the scale
  parameter of the gamma distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxktheta2xCDFktheta3kxCDFtheta4thetaxCDFk

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, k, or theta, determined by <strong>$which</strong>.


id: stats_cdf_laplace
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the Laplace distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  Laplace distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, mu, and b denotes
  cumulative distribution function, the value of the random variable, and the location and the scale
  parameter of the Laplace distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxmub2xCDFmub3muxCDFb4bxCDFmu

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, mu, or b, determined by <strong>$which</strong>.


id: stats_cdf_logistic
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the logistic distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  logistic distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, mu, and s denotes
  cumulative distribution function, the value of the random variable, and the location and the scale
  parameter of the logistic distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxmus2xCDFmus3muxCDFs4sxCDFmu

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, mu, or s, determined by <strong>$which</strong>.


id: stats_cdf_negative_binomial
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the negative binomial distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  negative binomial distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and
  <strong>$par3</strong>) are determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, r, and p denotes
  cumulative distribution function, the number of failure, the number of success, and the success
  rate for each trial, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxrp2xCDFrp3rxCDFp4pxCDFr

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, r, or p, determined by <strong>$which</strong>.


id: stats_cdf_noncentral_chisquare
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the non-central chi-square distribution given values for the
  others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  non-central chi-square distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>,
  and <strong>$par3</strong>) are determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, k, and lambda denotes
  cumulative distribution function, the value of the random variable, the degree of freedom and the
  non-centrality parameter of the distribution, respectively. Return value and
  parameters<strong>$which</strong>Return value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxklambda2xCDFklambda3kxCDFlambda4lambdaxCDFk

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, k, or lambda, determined by <strong>$which</strong>.


id: stats_cdf_noncentral_f
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the non-central F distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  non-central F distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, <strong>$par3</strong>, and
  <strong>$par4</strong>) are determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, nu1, nu2, and lambda
  denotes cumulative distribution function, the value of the random variable, the degree of freedoms
  and the non-centrality parameter of the distribution, respectively. Return value and
  parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong><strong>$par4</strong>1CDFxnu1nu2lambda2xCDFnu1nu2lambda3nu1xCDFnu2lambda4nu2xCDFnu1lambda5lambdaxCDFnu1nu2

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>float</info>  <strong>$par4</strong>   The fourth parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, nu1, nu2, or lambda, determined by <strong>$which</strong>.


id: stats_cdf_noncentral_t
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the non-central t-distribution give values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  non-central t-distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>)
  are determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, nu, and mu denotes
  cumulative distribution function, the value of the random variable, the degrees of freedom and the
  non-centrality parameter of the distribution, respectively. Return value and
  parameters<strong>$which</strong>Return value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxnumu2xCDFnumu3nuxCDFmu4muxCDFnu

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, nu, or mu, determined by <strong>$which</strong>.


id: stats_cdf_normal
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the normal distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the normal
  distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, mu, and sigma denotes
  cumulative distribution function, the value of the random variable, the mean and the standard
  deviation of the normal distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxmusigma2xCDFmusigma3muxCDFsigma4sigmaxCDFmu

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, mu, or sigma, determined by <strong>$which</strong>.


id: stats_cdf_poisson
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the Poisson distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  Poisson distribution. The kind of the return value and parameters (<strong>$par1</strong> and <strong>$par2</strong>) are determined
  by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, and lambda denotes
  cumulative distribution function, the value of the random variable, and the parameter of the
  Poisson distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong>1CDFxlambda2xCDFlambda3lambdaxCDF

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, or lambda, determined by <strong>$which</strong>.


id: stats_cdf_t
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the t-distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  t-distribution. The kind of the return value and parameters (<strong>$par1</strong> and <strong>$par2</strong>) are determined by
  <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, and nu denotes
  cumulative distribution function, the value of the random variable, and the degrees of freedom of
  the t-distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong>1CDFxnu2xCDFnu3nuxCDF

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, or nu, determined by <strong>$which</strong>.


id: stats_cdf_uniform
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the uniform distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  uniform distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, a, and b denotes
  cumulative distribution function, the value of the random variable, the lower bound and the higher
  bound of the uniform distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxab2xCDFab3axCDFb4bxCDFa

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, a, or b, determined by <strong>$which</strong>.


id: stats_cdf_weibull
type: function
doc:
<comment>Description:</comment>
  Calculates any one parameter of the Weibull distribution given values for the others
  
  Returns the cumulative distribution function, its inverse, or one of its parameters, of the
  Weibull distribution. The kind of the return value and parameters (<strong>$par1</strong>, <strong>$par2</strong>, and <strong>$par3</strong>) are
  determined by <strong>$which</strong>.
  
  The following table lists the return value and parameters by <strong>$which</strong>. CDF, x, k, and lambda denotes
  cumulative distribution function, the value of the random variable, the shape and the scale
  parameter of the Weibull distribution, respectively. Return value and parameters<strong>$which</strong>Return
  value<strong>$par1</strong><strong>$par2</strong><strong>$par3</strong>1CDFxklambda2xCDFklambda3kxCDFlambda4lambdaxCDFk

<comment>Param:</comment>
  <info>float</info>  <strong>$par1</strong>   The first parameter
  <info>float</info>  <strong>$par2</strong>   The second parameter
  <info>float</info>  <strong>$par3</strong>   The third parameter
  <info>int</info>    <strong>$which</strong>  The flag to determine what to be calculated

<comment>Return:</comment>
  <info>float</info>  Returns CDF, x, k, or lambda, determined by <strong>$which</strong>.


id: stats_covariance
type: function
doc:
<comment>Description:</comment>
  Computes the covariance of two data sets
  
  Returns the covariance of <strong>$a</strong> and <strong>$b</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The first array
  <info>array</info>  <strong>$b</strong>  The second array

<comment>Return:</comment>
  <info>float</info>  Returns the covariance of <strong>$a</strong> and <strong>$b</strong>, or <info>false</info> on failure.


id: stats_dens_beta
type: function
doc:
<comment>Description:</comment>
  Probability density function of the beta distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the beta distribution of
  which the shape parameters are <strong>$a</strong> and <strong>$b</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>  The value at which the probability density is calculated
  <info>float</info>  <strong>$a</strong>  The shape parameter of the distribution
  <info>float</info>  <strong>$b</strong>  The shape parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_cauchy
type: function
doc:
<comment>Description:</comment>
  Probability density function of the Cauchy distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the Cauchy distribution
  whose location and scale are <strong>$ave</strong> and <strong>$stdev</strong>, respectively.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$ave</strong>    The location parameter of the distribution
  <info>float</info>  <strong>$stdev</strong>  The scale parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_chisquare
type: function
doc:
<comment>Description:</comment>
  Probability density function of the chi-square distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the chi-square
  distribution of which the degree of freedom is <strong>$dfr</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>    The value at which the probability density is calculated
  <info>float</info>  <strong>$dfr</strong>  The degree of freedom of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_exponential
type: function
doc:
<comment>Description:</comment>
  Probability density function of the exponential distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the exponential
  distribution of which the scale is <strong>$scale</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$scale</strong>  The scale of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_f
type: function
doc:
<comment>Description:</comment>
  Probability density function of the F distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the F distribution of
  which the degree of freedoms are <strong>$dfr1</strong> and <strong>$dfr2</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>     The value at which the probability density is calculated
  <info>float</info>  <strong>$dfr1</strong>  The degree of freedom of the distribution
  <info>float</info>  <strong>$dfr2</strong>  The degree of freedom of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_gamma
type: function
doc:
<comment>Description:</comment>
  Probability density function of the gamma distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the gamma distribution of
  which the shape parameter is <strong>$shape</strong> and the scale parameter is <strong>$scale</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$shape</strong>  The shape parameter of the distribution
  <info>float</info>  <strong>$scale</strong>  The scale parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_laplace
type: function
doc:
<comment>Description:</comment>
  Probability density function of the Laplace distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the Laplace distribution
  of which the location parameter is <strong>$ave</strong> and the scale parameter is <strong>$stdev</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$ave</strong>    The location parameter of the distribution
  <info>float</info>  <strong>$stdev</strong>  The shape parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_logistic
type: function
doc:
<comment>Description:</comment>
  Probability density function of the logistic distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the logistic distribution
  of which the location parameter is <strong>$ave</strong> and the scale parameter is <strong>$stdev</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$ave</strong>    The location parameter of the distribution
  <info>float</info>  <strong>$stdev</strong>  The shape parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_normal
type: function
doc:
<comment>Description:</comment>
  Probability density function of the normal distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the normal distribution
  of which the mean is <strong>$ave</strong> and the standard deviation is <strong>$stdev</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>      The value at which the probability density is calculated
  <info>float</info>  <strong>$ave</strong>    The mean of the distribution
  <info>float</info>  <strong>$stdev</strong>  The standard deviation of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_pmf_binomial
type: function
doc:
<comment>Description:</comment>
  Probability mass function of the binomial distribution
  
  Returns the probability mass at <strong>$x</strong>, where the random variable follows the binomial distribution of
  which the number of trials is <strong>$n</strong> and the success rate is <strong>$pi</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>   The value at which the probability mass is calculated
  <info>float</info>  <strong>$n</strong>   The number of trials of the distribution
  <info>float</info>  <strong>$pi</strong>  The success rate of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability mass at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_pmf_hypergeometric
type: function
doc:
<comment>Description:</comment>
  Probability mass function of the hypergeometric distribution
  
  Returns the probability mass at <strong>$n1</strong>, where the random variable follows the hypergeometric
  distribution of which the number of failure is <strong>$n2</strong>, the number of success samples is <strong>$N1</strong>, and the
  number of failure samples is <strong>$N2</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$n1</strong>  The number of success, at which the probability mass is calculated
  <info>float</info>  <strong>$n2</strong>  The number of failure of the distribution
  <info>float</info>  <strong>$N1</strong>  The number of success samples of the distribution
  <info>float</info>  <strong>$N2</strong>  The number of failure samples of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability mass at <strong>$n1</strong> or <info>false</info> for failure.


id: stats_dens_pmf_negative_binomial
type: function
doc:
<comment>Description:</comment>
  Probability mass function of the negative binomial distribution
  
  Returns the probability mass at <strong>$x</strong>, where the random variable follows the negative binomial
  distribution of which the number of the success is <strong>$n</strong> and the success rate is <strong>$pi</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>   The value at which the probability mass is calculated
  <info>float</info>  <strong>$n</strong>   The number of the success of the distribution
  <info>float</info>  <strong>$pi</strong>  The success rate of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability mass at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_pmf_poisson
type: function
doc:
<comment>Description:</comment>
  Probability mass function of the Poisson distribution
  
  Returns the probability mass at <strong>$x</strong>, where the random variable follows the Poisson distribution
  whose parameter is <strong>$lb</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>   The value at which the probability mass is calculated
  <info>float</info>  <strong>$lb</strong>  The parameter of the Poisson distribution

<comment>Return:</comment>
  <info>float</info>  The probability mass at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_t
type: function
doc:
<comment>Description:</comment>
  Probability density function of the t-distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the t-distribution of
  which the degree of freedom is <strong>$dfr</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>    The value at which the probability density is calculated
  <info>float</info>  <strong>$dfr</strong>  The degree of freedom of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_uniform
type: function
doc:
<comment>Description:</comment>
  Probability density function of the uniform distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the uniform distribution
  of which the lower bound is <strong>$a</strong> and the upper bound is <strong>$b</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>  The value at which the probability density is calculated
  <info>float</info>  <strong>$a</strong>  The lower bound of the distribution
  <info>float</info>  <strong>$b</strong>  The upper bound of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_dens_weibull
type: function
doc:
<comment>Description:</comment>
  Probability density function of the Weibull distribution
  
  Returns the probability density at <strong>$x</strong>, where the random variable follows the Weibull distribution
  of which the shape parameter is <strong>$a</strong> and the scale parameter is <strong>$b</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>  The value at which the probability density is calculated
  <info>float</info>  <strong>$a</strong>  The shape parameter of the distribution
  <info>float</info>  <strong>$b</strong>  The scale parameter of the distribution

<comment>Return:</comment>
  <info>float</info>  The probability density at <strong>$x</strong> or <info>false</info> for failure.


id: stats_harmonic_mean
type: function
doc:
<comment>Description:</comment>
  Returns the harmonic mean of an array of values
  
  Returns the harmonic mean of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The input array

<comment>Return:</comment>
  <info>number</info>  Returns the harmonic mean of the values in <strong>$a</strong>, or <info>false</info> if <strong>$a</strong> is empty or is not an array.


id: stats_kurtosis
type: function
doc:
<comment>Description:</comment>
  Computes the kurtosis of the data in the array
  
  Returns the kurtosis of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The input array

<comment>Return:</comment>
  <info>float</info>  Returns the kurtosis of the values in <strong>$a</strong>, or <info>false</info> if <strong>$a</strong> is empty or is not an array.


id: stats_rand_gen_beta
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the beta distribution
  
  Returns a random deviate from the beta distribution with parameters A and B. The density of the
  beta is x^(a-1) * (1-x)^(b-1) / B(a,b) for 0 \< x \<. Method R. C. H. Cheng.

<comment>Param:</comment>
  <info>float</info>  <strong>$a</strong>  The shape parameter of the beta distribution
  <info>float</info>  <strong>$b</strong>  The shape parameter of the beta distribution

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_chisquare
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the chi-square distribution
  
  Returns a random deviate from the chi-square distribution where the degrees of freedom is  <strong>$df</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$df</strong>  The degrees of freedom

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_exponential
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the exponential distribution
  
  Returns a random deviate from the exponential distribution of which the scale is <strong>$av</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$av</strong>  The scale parameter

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_f
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the F distribution
  
  Generates a random deviate from the F (variance ratio) distribution with  "dfn" degrees of freedom
  in the numerator and "dfd" degrees of freedom in  the denominator. Method : directly generates
  ratio of chisquare variates.

<comment>Param:</comment>
  <info>float</info>  <strong>$dfn</strong>  The degrees of freedom in the numerator
  <info>float</info>  <strong>$dfd</strong>  The degrees of freedom in the denominator

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_funiform
type: function
doc:
<comment>Description:</comment>
  Generates uniform float between low (exclusive) and high (exclusive)
  
  Returns a random deviate from the uniform distribution from <strong>$low</strong> to <strong>$high</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$low</strong>   The lower bound (inclusive)
  <info>float</info>  <strong>$high</strong>  The upper bound (exclusive)

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_gamma
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the gamma distribution
  
  Generates a random deviate from the gamma distribution whose density is (A**R)/Gamma(R) * X**(R-1)
  * Exp(-A*X).

<comment>Param:</comment>
  <info>float</info>  <strong>$a</strong>  location parameter of Gamma distribution (<strong>$a</strong> &gt; 0).
  <info>float</info>  <strong>$r</strong>  shape parameter of Gamma distribution (<strong>$r</strong> &gt; 0).

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_ibinomial
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the binomial distribution
  
  Returns a random deviate from the binomial distribution whose number of trials is <strong>$n</strong> and whose
  probability of an event in each trial is <strong>$pp</strong>.

<comment>Param:</comment>
  <info>int</info>    <strong>$n</strong>   The number of trials
  <info>float</info>  <strong>$pp</strong>  The probability of an event in each trial

<comment>Return:</comment>
  <info>int</info>  A random deviate


id: stats_rand_gen_ibinomial_negative
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the negative binomial distribution
  
  Returns a random deviate from a negative binomial distribution where the number of success is <strong>$n</strong>
  and the success rate is <strong>$p</strong>.

<comment>Param:</comment>
  <info>int</info>    <strong>$n</strong>  The number of success
  <info>float</info>  <strong>$p</strong>  The success rate

<comment>Return:</comment>
  <info>int</info>  A random deviate, which is the number of failure.


id: stats_rand_gen_int
type: function
doc:
<comment>Description:</comment>
  Generates random integer between 1 and 2147483562
  
  Returns a random integer between 1 and 2147483562

<comment>Return:</comment>
  <info>int</info>  A random integer


id: stats_rand_gen_ipoisson
type: function
doc:
<comment>Description:</comment>
  Generates a single random deviate from a Poisson distribution
  
  Returns a random deviate from the Poisson distribution with parameter <strong>$mu</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$mu</strong>  The parameter of the Poisson distribution

<comment>Return:</comment>
  <info>int</info>  A random deviate


id: stats_rand_gen_iuniform
type: function
doc:
<comment>Description:</comment>
  Generates integer uniformly distributed between LOW (inclusive) and HIGH (inclusive)
  
  Returns a random integer from the discrete uniform distribution between <strong>$low</strong> (inclusive) and <strong>$high</strong>
  (inclusive).

<comment>Param:</comment>
  <info>int</info>  <strong>$low</strong>   The lower bound
  <info>int</info>  <strong>$high</strong>  The upper bound

<comment>Return:</comment>
  <info>int</info>  A random integer


id: stats_rand_gen_noncentral_chisquare
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the non-central chi-square distribution
  
  Returns a random deviate from the non-central chi-square distribution with degrees of freedom,
  <strong>$df</strong>, and non-centrality parameter, <strong>$xnonc</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$df</strong>     The degrees of freedom
  <info>float</info>  <strong>$xnonc</strong>  The non-centrality parameter

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_noncentral_f
type: function
doc:
<comment>Description:</comment>
  Generates a random deviate from the noncentral F distribution
  
  Returns a random deviate from the non-central F distribution where the degrees of freedoms are
  <strong>$dfn</strong> (numerator) and <strong>$dfd</strong> (denominator), and the non-centrality parameter is <strong>$xnonc</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$dfn</strong>    The degrees of freedom of the numerator
  <info>float</info>  <strong>$dfd</strong>    The degrees of freedom of the denominator
  <info>float</info>  <strong>$xnonc</strong>  The non-centrality parameter

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_noncentral_t
type: function
doc:
<comment>Description:</comment>
  Generates a single random deviate from a non-central t-distribution
  
  Returns a random deviate from the non-central t-distribution with the degrees of freedom, <strong>$df</strong>, and
  the non-centrality parameter, <strong>$xnonc</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$df</strong>     The degrees of freedom
  <info>float</info>  <strong>$xnonc</strong>  The non-centrality parameter

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_normal
type: function
doc:
<comment>Description:</comment>
  Generates a single random deviate from a normal distribution
  
  Returns a random deviate from the normal distribution with mean, <strong>$av</strong>, and standard deviation, <strong>$sd</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$av</strong>  The mean of the normal distribution
  <info>float</info>  <strong>$sd</strong>  The standard deviation of the normal distribution

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_gen_t
type: function
doc:
<comment>Description:</comment>
  Generates a single random deviate from a t-distribution
  
  Returns a random deviate from the t-distribution with the degrees of freedom, <strong>$df</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$df</strong>  The degrees of freedom

<comment>Return:</comment>
  <info>float</info>  A random deviate


id: stats_rand_get_seeds
type: function
doc:
<comment>Description:</comment>
  Get the seed values of the random number generator
  
  Returns the current seed values of the random number generator

<comment>Return:</comment>
  <info>array</info>  Returns an array of two integers.


id: stats_rand_phrase_to_seeds
type: function
doc:
<comment>Description:</comment>
  Generate two seeds for the RGN random number generator
  
  Generate two seeds for the random number generator from a <strong>$phrase</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$phrase</strong>  The input phrase

<comment>Return:</comment>
  <info>array</info>  Returns an array of two integers.


id: stats_rand_ranf
type: function
doc:
<comment>Description:</comment>
  Generates a random floating point number between 0 and 1
  
  Returns a random floating point number from a uniform distribution between 0 (exclusive) and  1
  (exclusive).

<comment>Return:</comment>
  <info>float</info>  A random floating point number


id: stats_rand_setall
type: function
doc:
<comment>Description:</comment>
  Set seed values to the random generator
  
  Set <strong>$iseed1</strong> and <strong>$iseed2</strong> as seed values to the random generator used in statistic functions.

<comment>Param:</comment>
  <info>int</info>  <strong>$iseed1</strong>  The value which is used as the random seed
  <info>int</info>  <strong>$iseed2</strong>  The value which is used as the random seed

<comment>Return:</comment>
  <info>void</info>  No values are returned.


id: stats_skew
type: function
doc:
<comment>Description:</comment>
  Computes the skewness of the data in the array
  
  Returns the skewness of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>  The input array

<comment>Return:</comment>
  <info>float</info>  Returns the skewness of the values in <strong>$a</strong>, or <info>false</info> if <strong>$a</strong> is empty or is not an array.


id: stats_standard_deviation
type: function
doc:
<comment>Description:</comment>
  Returns the standard deviation
  
  Returns the standard deviation of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>       The array of data to find the standard deviation for. Note that all  values of the
                  array will be cast to <info>float</info>.
  <info>bool</info>   <strong>$sample</strong>  Indicates if <strong>$a</strong> represents a sample of the  population; defaults to <info>false</info>.

<comment>Return:</comment>
  <info>float</info>  Returns the standard deviation on success; <info>false</info> on failure.


id: stats_stat_binomial_coef
type: function
doc:
<comment>Description:</comment>
  Returns a binomial coefficient
  
  Returns the binomial coefficient of <strong>$n</strong> choose <strong>$x</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$x</strong>  The number of chooses from the set
  <info>int</info>  <strong>$n</strong>  The number of elements in the set

<comment>Return:</comment>
  <info>float</info>  Returns the binomial coefficient


id: stats_stat_correlation
type: function
doc:
<comment>Description:</comment>
  Returns the Pearson correlation coefficient of two data sets
  
  Returns the Pearson correlation coefficient between <strong>$arr1</strong> and <strong>$arr2</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr1</strong>  The first array
  <info>array</info>  <strong>$arr2</strong>  The second array

<comment>Return:</comment>
  <info>float</info>  Returns the Pearson correlation coefficient between <strong>$arr1</strong> and <strong>$arr2</strong>, or <info>false</info> on failure.


id: stats_stat_factorial
type: function
doc:
<comment>Description:</comment>
  Returns the factorial of an integer
  
  Returns the factorial of an integer, <strong>$n</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$n</strong>  An integer

<comment>Return:</comment>
  <info>float</info>  The factorial of <strong>$n</strong>.


id: stats_stat_independent_t
type: function
doc:
<comment>Description:</comment>
  Returns the t-value from the independent two-sample t-test
  
  Returns the t-value of the independent two-sample t-test between <strong>$arr1</strong> and <strong>$arr2</strong>.
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr1</strong>  The first set of values
  <info>array</info>  <strong>$arr2</strong>  The second set of values

<comment>Return:</comment>
  <info>float</info>  Returns the t-value, or <info>false</info> if failure.


id: stats_stat_innerproduct
type: function
doc:
<comment>Description:</comment>
  Returns the inner product of two vectors
  
  Returns the inner product of <strong>$arr1</strong> and <strong>$arr2</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr1</strong>  The first array
  <info>array</info>  <strong>$arr2</strong>  The second array

<comment>Return:</comment>
  <info>float</info>  Returns the inner product of <strong>$arr1</strong> and <strong>$arr2</strong>, or <info>false</info> on failure.


id: stats_stat_paired_t
type: function
doc:
<comment>Description:</comment>
  Returns the t-value of the dependent t-test for paired samples
  
  Returns the t-value of the dependent t-test for paired samples <strong>$arr1</strong> and <strong>$arr2</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr1</strong>  The first samples
  <info>array</info>  <strong>$arr2</strong>  The second samples

<comment>Return:</comment>
  <info>float</info>  Returns the t-value, or <info>false</info> if failure.


id: stats_stat_percentile
type: function
doc:
<comment>Description:</comment>
  Returns the percentile value
  
  Returns the <strong>$perc</strong>-th percentile value of the array <strong>$arr</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr</strong>   The input array
  <info>float</info>  <strong>$perc</strong>  The percentile

<comment>Return:</comment>
  <info>float</info>  Returns the percentile values of the input array.


id: stats_stat_powersum
type: function
doc:
<comment>Description:</comment>
  Returns the power sum of a vector
  
  Returns the sum of the <strong>$power</strong>-th power of a vector represented as an array <strong>$arr</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$arr</strong>    The input array
  <info>float</info>  <strong>$power</strong>  The power

<comment>Return:</comment>
  <info>float</info>  Returns the power sum of the input array.


id: stats_variance
type: function
doc:
<comment>Description:</comment>
  Returns the variance
  
  Returns the variance of the values in <strong>$a</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$a</strong>       The array of data to find the standard deviation for. Note that all  values of the
                  array will be cast to <info>float</info>.
  <info>bool</info>   <strong>$sample</strong>  Indicates if <strong>$a</strong> represents a sample of the  population; defaults to <info>false</info>.

<comment>Return:</comment>
  <info>float</info>  Returns the variance on success; <info>false</info> on failure.


id: stdClass
type: class
doc:
<comment>Description:</comment>
  Une classe générique vide avec des propriétés dynamiques.
  
  Les objets de cette classe peuvent être instanciés avec l'opérateur new ou créés par en utilisant
  la conversion en objet. Plusieurs fonctions PHP créent également des instances de cette classe,
  par exemple <strong>json_decode()</strong>, <strong>mysqli_fetch_object()</strong> ou PDOStatement::fetchObject.
  
  Bien que n'implémentant pas __get()/__set() cette classe autorise les propriétés dynamiques et ne
  nécessite pas l'attribut #[\AllowDynamicProperties].
  
  Ce n'est pas une classe de base car PHP n'a pas de concept de classe de base universelle.
  Cependant, il est possible de créer une classe personnalisée qui étend <class>stdClass</class> et qui hérite
  ainsi de la fonctionnalité des propriétés dynamiques.


id: stomp_connect_error
type: function
doc:
<comment>Description:</comment>
  Retourne une chaîne décrivant la dernière erreur de connexion
  
  Retourne une chaîne décrivant la dernière erreur de connexion.

<comment>Return:</comment>
  <info>string</info>  Une chaîne décrivant l'erreur, ou <info>null</info> si aucune erreur n'est survenue.


id: stomp_version
type: function
doc:
<comment>Description:</comment>
  Récupère la version de l'extension Stomp
  
  Retourne une chaîne contenant la version de l'extension Stomp.

<comment>Return:</comment>
  <info>string</info>  Version de l'extension Stomp.


id: str_contains
type: function
doc:
<comment>Description:</comment>
  Détermine si une chaîne contient une sous-chaîne donnée
  
  Effectue une vérification sensible à la casse indiquant si <strong>$needle</strong> est contenue dans <strong>$haystack</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  La chaîne dans laquelle on effectue la recherche.
  <info>string</info>  <strong>$needle</strong>    La sous-chaîne à rechercher dans <strong>$haystack</strong>.

<comment>Return:</comment>
  <info>bool</info>  Renvoie <info>true</info> si <strong>$needle</strong> est dans <strong>$haystack</strong>, sinon <info>false</info>.

<comment>See Also:</comment>
   * <strong>str_ends_with()</strong>
   * <strong>str_starts_with()</strong>
   * <strong>stripos()</strong>
   * <strong>strrpos()</strong>
   * <strong>strripos()</strong>
   * <strong>strstr()</strong>
   * <strong>strpbrk()</strong>
   * <strong>substr()</strong>
   * <strong>preg_match()</strong>


id: str_decrement
type: function
doc:
<comment>Description:</comment>
  Décremente une chaîne de caractères alphanumérique
  
  Retourne la chaîne de caractères alphanumérique ASCII décrémentée <strong>$string</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  La chaîne de caractères à décrémenter.

<comment>Return:</comment>
  <info>string</info>  Retourne la chaîne de caractères alphanumérique ASCII décrémentée.

<comment>See Also:</comment>
   * <strong>str_increment()</strong>


id: str_ends_with
type: function
doc:
<comment>Description:</comment>
  Détermine si une chaîne se termine par une sous-chaîne donnée
  
  Effectue une vérification sensible à la casse indiquant si <strong>$haystack</strong> se termine par <strong>$needle</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  La chaîne dans laquelle on effectue la recherche.
  <info>string</info>  <strong>$needle</strong>    La sous-chaîne à rechercher dans <strong>$haystack</strong>.

<comment>Return:</comment>
  <info>bool</info>  Renvoie <info>true</info> si <strong>$haystack</strong> se termine par <strong>$needle</strong>, sinon <info>false</info>.

<comment>See Also:</comment>
   * <strong>str_contains()</strong>
   * <strong>str_starts_with()</strong>
   * <strong>stripos()</strong>
   * <strong>strrpos()</strong>
   * <strong>strripos()</strong>
   * <strong>strstr()</strong>
   * <strong>strpbrk()</strong>
   * <strong>substr()</strong>
   * <strong>preg_match()</strong>


id: str_getcsv
type: function
doc:
<comment>Description:</comment>
  Analyse une chaîne de caractères CSV dans un tableau
  
  Analyse une chaîne de caractères représentant des champs au format CSV et retourne un tableau
  contenant tous les champs lus.
  
  La configuration de la locale sont prise en compte par cette fonction. Si <return>LC_CTYPE</return> est par exemple
  <return>en_US.UTF-8</return>, les chaîne de caractères qui sont dans un encodage d'un-octet peuvent être mal lu par
  cette fonction.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>     La chaîne à analyser.
  <info>string</info>  <strong>$separator</strong>  Le délimiteur de champ (un seul caractère d'un octet).
  <info>string</info>  <strong>$enclosure</strong>  Le caractère d'encadrement (un seul caractère d'un octet).
  <info>string</info>  <strong>$escape</strong>     Le caractère de protection (au plus un caractère d'un octet). Par défaut,
                      c'est l'antislash. (<return>\</return>) Une chaîne de caractères vide (<return>""</return>) désactive le
                      mécanisme d'échappement propriétaire.
                      
                      En général un caractère d'encadrement <strong>$enclosure</strong> est échapper à l'intérieur
                      d'un champ en le dédoublant; Cependant, le caractère d'échappement <strong>$escape</strong>
                      peut être utilisé comme une alternative. Donc pour la valeur par défaut <return>""</return> et
                      <return>\"</return> ont la même signification. Outre échapper le caractère d'encadrement
                      <strong>$enclosure</strong> le caractère d'échappement <strong>$escape</strong> n'a pas de signification
                      spéciale; même pas de s'échapper lui-même.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau contenant les champs lus.

<comment>See Also:</comment>
   * <strong>fgetcsv()</strong>


id: str_increment
type: function
doc:
<comment>Description:</comment>
  Incrémente une chaîne de caractères alphanumérique
  
  Retourne la chaîne de caractères alphanumérique ASCII incrémentée <strong>$string</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  La chaîne de caractères à incrémenter.

<comment>Return:</comment>
  <info>string</info>  Retourne la chaîne de caractères alphanumérique ASCII incrémentée.

<comment>See Also:</comment>
   * <strong>str_decrement()</strong>


id: str_ireplace
type: function
doc:
<comment>Description:</comment>
  Version insensible à la casse de str_replace
  
  <strong>str_ireplace()</strong> retourne une chaîne de caractères ou un tableau dont toutes les occurrences de
  <strong>$search</strong> dans <strong>$subject</strong> (en ignorant la casse), ont été remplacées par la valeur de <strong>$replace</strong>.
  
  Pour remplacer un texte en fonction d'un modèle plutôt qu'une chaîne fixe, utilisez <strong>preg_replace()</strong>
  avec le modificateur de modèle <return>i</return> ..

<comment>Param:</comment>
  <info>array|string</info>  <strong>$search</strong>   La valeur à chercher, connue aussi sous le nom de needle. Un tableau peut
                          être utilisé pour désigner plusieurs needles.
  <info>array|string</info>  <strong>$replace</strong>  La valeur de remplacement utilisée pour chaque valeur trouvée dans
                          <strong>$search</strong>. Un tableau peut être utilisé pour désigner plusieurs
                          remplacements.
  <info>string|array</info>  <strong>$subject</strong>  Une chaîne de caractères ou un tableau dans lequel la recherche
                          s'effectue, aussi connu sous le nom de haystack.
                          
                          Si <strong>$subject</strong> est un tableau, le remplacement est effectué sur chacun des
                          éléments du sujet <strong>$subject</strong>, et la valeur retournée est aussi un tableau.
  <info>int</info>           <strong>$count</strong>    Si fournie, cette variable contiendra le nombre de remplacements
                          effectués.

<comment>Return:</comment>
  <info>string|array</info>  Retourne une chaîne ou un tableau de remplacement.

<comment>See Also:</comment>
   * <strong>str_replace()</strong>
   * <strong>preg_replace()</strong>
   * <strong>strtr()</strong>


id: str_pad
type: function
doc:
<comment>Description:</comment>
  Complète une chaîne jusqu'à une taille donnée
  
  Retourne la chaîne <strong>$string</strong>, complétée à droite, à gauche ou dans les deux sens, avec la chaîne
  <strong>$pad_string</strong> jusqu'à ce qu'elle atteigne la taille de <strong>$length</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      La chaîne d'entrée.
  <info>int</info>     <strong>$length</strong>      La longueur souhaitée de la chaîne finale complétée. Si la valeur de <strong>$length</strong>
                       est négative, plus petite que, ou égale à la taille courante de la chaîne
                       <strong>$string</strong>, <strong>$string</strong> est retournée inchangée et <strong>$string</strong> sera retourné.
  <info>string</info>  <strong>$pad_string</strong>  Le paramètre <strong>$pad_string</strong> peut être tronqué si le nombre de caractères de
                       complétion n'est pas multiple de la taille de <strong>$pad_string</strong>.
  <info>int</info>     <strong>$pad_type</strong>    L'argument optionnel <strong>$pad_type</strong> peut être l'une des constantes suivantes :
                       <info>STR_PAD_RIGHT</info>, <info>STR_PAD_LEFT</info>, ou <info>STR_PAD_BOTH</info>. Si <strong>$pad_type</strong> n'est pas
                       spécifié, il prend la valeur par défaut de <info>STR_PAD_RIGHT</info>.

<comment>Return:</comment>
  <info>string</info>  Retourne la chaîne complétée.

<comment>See Also:</comment>
   * <strong>mb_str_pad()</strong>


id: str_repeat
type: function
doc:
<comment>Description:</comment>
  Répète une chaîne
  
  Retourne la chaîne <strong>$string</strong> répétée <strong>$times</strong> fois.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  La chaîne à répéter.
  <info>int</info>     <strong>$times</strong>   Nombre de fois où la chaîne <strong>$string</strong> doit être multipliée.
                   
                   <strong>$times</strong> doit être positif ou nul.  Si <strong>$times</strong> vaut 0, la fonction retourne la
                   chaîne vide.

<comment>Return:</comment>
  <info>string</info>  Retourne la chaîne, répétée <strong>$times</strong> fois.

<comment>See Also:</comment>
   * for
   * <strong>str_pad()</strong>
   * <strong>substr_count()</strong>


id: str_replace
type: function
doc:
<comment>Description:</comment>
  Remplace toutes les occurrences dans une chaîne
  
  <strong>str_replace()</strong> retourne une chaîne ou un tableau, dont toutes les occurrences de <strong>$search</strong> dans
  <strong>$subject</strong> ont été remplacées par <strong>$replace</strong>.
  
  Pour remplacer un texte en fonction d'un modèle plutôt qu'une chaîne fixe, utilisez
  <strong>preg_replace()</strong>.

<comment>Param:</comment>
  <info>array|string</info>  <strong>$search</strong>   La valeur à chercher, autrement connue comme le masque. Un tableau peut
                          être utilisé pour désigner plusieurs masques.
  <info>array|string</info>  <strong>$replace</strong>  La valeur de remplacement à substituer aux valeurs trouvées. Un tableau
                          peut être utilisé pour désigner plusieurs valeurs de remplacement.
  <info>string|array</info>  <strong>$subject</strong>  La chaîne de caractères ou le tableau sur lequel on va effectuer la
                          recherche et le remplacement, aussi connu sous le nom de haystack.
                          
                          Si <strong>$subject</strong> est un tableau, alors le remplacement se fera sur chaque
                          élément de celui-ci, et la valeur retournée sera aussi un tableau.
  <info>int</info>           <strong>$count</strong>    Si fournie, cette variable contiendra le nombre de remplacements
                          effectués.

<comment>Return:</comment>
  <info>string|array</info>  Cette fonction retourne une chaîne, ou un tableau, contenant les valeurs remplacées.

<comment>See Also:</comment>
   * <strong>str_ireplace()</strong>
   * <strong>substr_replace()</strong>
   * <strong>preg_replace()</strong>
   * <strong>strtr()</strong>


id: str_rot13
type: function
doc:
<comment>Description:</comment>
  Effectue une transformation ROT13
  
  Effectue un encodage ROT13 de la chaîne <strong>$string</strong> et retourne le résultat.
  
  L'encodage ROT13 décale toutes les lettres de 13 dans l'alphabet, et laisse tous les autres
  caractères inchangés. L'encodage et le décodage est fait par la même fonction : passer le résultat
  de <strong>str_rot13()</strong> à nouveau comme argument, retournera la chaîne originale.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  La chaîne d'entrée.

<comment>Return:</comment>
  <info>string</info>  Retourne la version ROT13 de la chaîne fournie.


id: str_shuffle
type: function
doc:
<comment>Description:</comment>
  Mélange les caractères d'une chaîne de caractères
  
  <strong>str_shuffle()</strong> mélange les caractères d'une chaîne. Une permutation parmi toutes celles possibles
  est créée.
  
  Cette fonction ne génère pas de valeurs cryptographiquement sûres, et ne doit pas être utilisée à
  des fins cryptographiques, ou à des fins qui exigent que les valeurs renvoyées soient
  indéchiffrables.
  
  Si de l'aléatoire cryptographiquement sûre est requis, le <class>Random\Randomizer</class> peut être utilisé avec
  le moteur <class>Random\Engine\Secure</class>. Pour des cas d'usage simple, les fonctions <strong>random_int()</strong> et
  <strong>random_bytes()</strong> fournissent une API pratique et sûre qui est qui est soutenu par le CSPRNG du
  système d'exploitation.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  La chaîne d'entrée.

<comment>Return:</comment>
  <info>string</info>  Retourne la chaîne mélangée.

<comment>See Also:</comment>
   * <strong>Random\Randomizer::shuffleBytes()</strong>
   * <strong>Random\Randomizer::shuffleArray()</strong>


id: str_split
type: function
doc:
<comment>Description:</comment>
  Convertit une chaîne de caractères en tableau
  
  Convertit une chaîne de caractères en tableau.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  La chaîne d'entrée.
  <info>int</info>     <strong>$length</strong>  Longueur maximale de chaque élément.

<comment>Return:</comment>
  <info>array</info>  Si le paramètre optionnel <strong>$length</strong> est spécifié, le tableau retourné sera découpé en
         sous-parties, chacune de taille <strong>$length</strong>, à l'exception de la dernière sous-partie qui peut
         être plus courte si la chaîne ne se divise pas de manière égale.  La valeur par défaut de
         <strong>$length</strong> est <return>1</return>, ce qui signifie que chaque sous-partie aura une taille d'un octet.

<comment>See Also:</comment>
   * <strong>mb_str_split()</strong>
   * <strong>chunk_split()</strong>
   * <strong>preg_split()</strong>
   * <strong>explode()</strong>
   * <strong>count_chars()</strong>
   * <strong>str_word_count()</strong>
   * for


id: str_starts_with
type: function
doc:
<comment>Description:</comment>
  Détermine si une chaîne commence par une sous-chaîne donnée
  
  Effectue une vérification sensible à la casse indiquant si <strong>$haystack</strong> commence par <strong>$needle</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  La chaîne dans laquelle on effectue la recherche.
  <info>string</info>  <strong>$needle</strong>    La sous-chaîne à rechercher dans <strong>$haystack</strong>.

<comment>Return:</comment>
  <info>bool</info>  Renvoie <info>true</info> si <strong>$haystack</strong> commence par <strong>$needle</strong>, sinon <info>false</info>.

<comment>See Also:</comment>
   * <strong>str_contains()</strong>
   * <strong>str_ends_with()</strong>
   * <strong>stripos()</strong>
   * <strong>strrpos()</strong>
   * <strong>strripos()</strong>
   * <strong>strstr()</strong>
   * <strong>strpbrk()</strong>
   * <strong>substr()</strong>
   * <strong>preg_match()</strong>


id: str_word_count
type: function
doc:
<comment>Description:</comment>
  Compte le nombre de mots utilisés dans une chaîne
  
  <strong>str_word_count()</strong> compte le nombre de mots dans la chaîne <strong>$string</strong>. Si le paramètre optionnel
  <strong>$format</strong> n'est pas spécifié, alors la valeur retournée sera un entier, représentant le nombre de
  mots trouvés. Si <strong>$format</strong> est spécifié, la valeur retournée sera un tableau, qui dépend du format
  <strong>$format</strong>. Les valeurs possibles pour <strong>$format</strong> sont listées plus bas.
  
  Dans cette fonction, la notion de mot dépend de la configuration de localisation. C'est une chaîne
  qui contient tous les caractères alphabétiques, et qui peut contenir, mais pas commencer par "'"
  et "-". Il est à noter que les locales multioctets ne sont pas supportées.

<comment>Param:</comment>
  <info>string</info>       <strong>$string</strong>      La chaîne de caractères
  <info>int</info>          <strong>$format</strong>      Spécifie la valeur de retour de cette fonction. Les valeurs actuellement
                            supportées sont :  0 : retourne le nombre de mots trouvés  1 : retourne
                            un tableau contenant tous les mots trouvés à l'intérieur de <strong>$string</strong>  2 :
                            retourne un tableau associatif, où la clé indique la position numérique
                            du mot à l'intérieur de <strong>$string</strong> et la valeur est le mot actuel
                            
                            0 : retourne le nombre de mots trouvés
                            
                            1 : retourne un tableau contenant tous les mots trouvés à l'intérieur de
                            <strong>$string</strong>
                            
                            2 : retourne un tableau associatif, où la clé indique la position
                            numérique du mot à l'intérieur de <strong>$string</strong> et la valeur est le mot actuel
  <info>string|null</info>  <strong>$characters</strong>  Une liste des caractères additionnels qui seront considérés comme un mot

<comment>Return:</comment>
  <info>array|int</info>  Retourne un tableau ou un entier, dépendamment du <strong>$format</strong> choisi.

<comment>See Also:</comment>
   * <strong>explode()</strong>
   * <strong>preg_split()</strong>
   * <strong>count_chars()</strong>
   * <strong>substr_count()</strong>


id: strcasecmp
type: function
doc:
<comment>Description:</comment>
  Comparaison insensible à la casse de chaînes binaires
  
  Comparaison insensible à la casse de chaînes binaires. La comparaison ne tient pas compte des
  paramètres régionaux; seules les lettres ASCII sont comparées de manière insensible à la casse.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  La première chaîne.
  <info>string</info>  <strong>$string2</strong>  La seconde chaîne.

<comment>Return:</comment>
  <info>int</info>  Retourne <return>-1</return> si <strong>$string1</strong> est inférieure à <strong>$string2</strong>; <return>1</return> si <strong>$string1</strong> est plus grande que
       <strong>$string2</strong>, et <return>0</return> si les deux chaînes sont égales.

<comment>See Also:</comment>
   * <strong>strcmp()</strong>
   * <strong>preg_match()</strong>
   * <strong>substr_compare()</strong>
   * <strong>strncasecmp()</strong>
   * <strong>stristr()</strong>
   * <strong>substr()</strong>


id: strchr
type: function
doc:
<comment>Description:</comment>
  Alias de strstr
  
  Cette fonction est un alias de :  <strong>strstr()</strong>.


id: strcmp
type: function
doc:
<comment>Description:</comment>
  Comparaison binaire de chaînes
  
  Notez que cette comparaison est sensible à la casse.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  La première chaîne.
  <info>string</info>  <strong>$string2</strong>  La seconde chaîne.

<comment>Return:</comment>
  <info>int</info>  Retourne <return>-1</return> si <strong>$string1</strong> est inférieure à <strong>$string2</strong>; <return>1</return> si <strong>$string1</strong> est supérieure à <strong>$string2</strong>,
       et <return>0</return> si les deux chaînes sont égales.

<comment>See Also:</comment>
   * <strong>strcasecmp()</strong>
   * <strong>preg_match()</strong>
   * <strong>substr_compare()</strong>
   * <strong>strncmp()</strong>
   * <strong>strstr()</strong>
   * <strong>substr()</strong>


id: strcoll
type: function
doc:
<comment>Description:</comment>
  Comparaison de chaînes localisées
  
  Notez que cette comparaison est sensible à la casse, et que, contrairement à <strong>strcmp()</strong>, elle n'est
  pas  compatible avec les chaînes binaires.
  
  <strong>strcoll()</strong> utilise les locales courantes pour effectuer la comparaison. Si la locale courante est C
  ou POSIX, cette fonction est alors équivalente à la fonction <strong>strcmp()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  La première chaîne.
  <info>string</info>  <strong>$string2</strong>  La seconde chaîne.

<comment>Return:</comment>
  <info>int</info>  Retourne \< 0 si <strong>$string1</strong> est inférieure à <strong>$string2</strong>; &gt; 0 si <strong>$string1</strong> est supérieure à
       <strong>$string2</strong>, et 0 si les deux chaînes sont égales.

<comment>See Also:</comment>
   * <strong>preg_match()</strong>
   * <strong>strcmp()</strong>
   * <strong>strcasecmp()</strong>
   * <strong>substr()</strong>
   * <strong>stristr()</strong>
   * <strong>strncasecmp()</strong>
   * <strong>strncmp()</strong>
   * <strong>strstr()</strong>
   * <strong>setlocale()</strong>


id: strcspn
type: function
doc:
<comment>Description:</comment>
  Trouve un segment de chaîne ne contenant pas certains caractères
  
  Retourne la taille du premier segment de <strong>$string</strong> qui ne contient aucun des caractères de
  <strong>$characters</strong>.
  
  Si <strong>$offset</strong> et <strong>$length</strong> sont omis, alors la totalité de <strong>$string</strong> sera examinée. S'ils sont inclus,
  alors l'effet sera identique à appeler <return>strcspn(substr($string, $offset, $length), $characters)</return>
  (voir  pour plus d'informations).

<comment>Param:</comment>
  <info>string</info>    <strong>$string</strong>      La chaîne à examiner.
  <info>string</info>    <strong>$characters</strong>  La chaîne contenant tous les caractères désactivés.
  <info>int</info>       <strong>$offset</strong>      La position dans <strong>$string</strong> à partir de laquelle on commence à chercher.
                         
                         Si <strong>$offset</strong> est fourni et n'est pas négatif, alors <strong>strcspn()</strong> va commencer à
                         examiner <strong>$string</strong> à la <strong>$offset</strong> ème position. Par exemple, dans la chaîne
                         '<return>abcdef</return>', le caractère à la position <return>0</return> est '<return>a</return>', le caractère à la position
                         <return>2</return> est '<return>c</return>', et ainsi de suite.
                         
                         Si <strong>$offset</strong> est fourni et est négatif, alors <strong>strspn()</strong> va commencer à
                         examiner <strong>$string</strong> à la <strong>$offset</strong> ème position depuis la fin de <strong>$string</strong>.
  <info>int|null</info>  <strong>$length</strong>      La longueur du segment de <strong>$string</strong> à examiner.
                         
                         Si <strong>$length</strong> est fourni et n'est pas négatif, alors <strong>$string</strong> sera examiné
                         depuis <strong>$length</strong> caractères après la position de départ.
                         
                         Si <strong>$length</strong> est fourni et est négatif, alors <strong>$string</strong> sera examiné depuis la
                         position de départ jusqu'à <strong>$length</strong> caractères depuis la fin de <strong>$string</strong>.

<comment>Return:</comment>
  <info>int</info>  Retourne la longueur du segment initial de <strong>$string</strong> qui contient seulement des caractères qui
       ne sont pas  dans <strong>$characters</strong>.
       
       Lorsque le paramètre <strong>$offset</strong> est définie, la longueur retournée est comptée depuis cette
       position, et non depuis le début de <strong>$string</strong>.

<comment>See Also:</comment>
   * <strong>strspn()</strong>


id: streamWrapper
type: class
doc:
<comment>Description:</comment>
  Permet la création de gestionnaires de protocoles et de flux, à utiliser avec toutes les fonctions
  système, telles que  <strong>fopen()</strong>, <strong>fread()</strong> etc.).
  
  Cette classe n'est pas une classe concrète :  c'est juste un prototype d'une classe qui définirait
  son propre protocole.
  
  Implémenter les méthodes d'une manière qui n'est pas décrite dans la documentation peut mener à
  des comportements indéfinis.
  
  Une instance de cette classe est initialisée aussitôt que  les fonctions de flux tentent d'accéder
  à une ressource avec  un protocole.


id: streamWrapper::__construct
type: function
doc:
<comment>Description:</comment>
  Construit un nouveau gestionnaire de flux
  
  Appelé à la création du gestionnaire de flux, juste avant streamWrapper::stream_open.


id: streamWrapper::__destruct
type: function
doc:
<comment>Description:</comment>
  Détruit un gestionnaire de flux existant
  
  Appelé lors de la fermeture du gestionnaire de flux, tout de suite après l'appel à la méthode
  streamWrapper::stream_flush.


id: streamWrapper::dir_closedir
type: function
doc:
<comment>Description:</comment>
  Ferme une ressource de dossier
  
  Cette méthode est appelée en réponse à la fonction <strong>closedir()</strong>.
  
  Toutes les ressources qui étaient verrouillées ou allouées, durant l'ouverture et l'utilisation du
  flux de dossiers, doivent être libérées.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>closedir()</strong>
   * streamWrapper::dir_opendir


id: streamWrapper::dir_opendir
type: function
doc:
<comment>Description:</comment>
  Ouvre un dossier en lecture
  
  Cette méthode est appelée en réponse à <strong>opendir()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>     Spécifie l'URL qui a été passée à <strong>opendir()</strong>.
                    
                    L'URL peut être découpée avec <strong>parse_url()</strong>.
  <info>int</info>     <strong>$options</strong>  

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>opendir()</strong>
   * streamWrapper::dir_closedir
   * <strong>parse_url()</strong>


id: streamWrapper::dir_readdir
type: function
doc:
<comment>Description:</comment>
  Lit un fichier dans un dossier
  
  Cette méthode est appelée en réponse à <strong>readdir()</strong>.

<comment>Return:</comment>
  <info>string</info>  Doit retourner une chaîne de caractères représentant le prochain nom de fichier,  ou <info>false</info>
          s'i n'y a pas d'autre fichier.
          
          La valeur retournée sera transtypée en chaîne de caractères.

<comment>See Also:</comment>
   * <strong>readdir()</strong>


id: streamWrapper::dir_rewinddir
type: function
doc:
<comment>Description:</comment>
  Remet au début une ressource de dossier
  
  Cette méthode est appelée en réponse à <strong>rewinddir()</strong>.
  
  Doit remettre à zéro le curseur géré par  streamWrapper::dir_readdir. i.e.: le prochain appel à
  streamWrapper::dir_readdir doit retourner le premier fichier du dossier retourné par
  streamWrapper::dir_opendir.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>rewinddir()</strong>
   * streamWrapper::dir_readdir


id: streamWrapper::mkdir
type: function
doc:
<comment>Description:</comment>
  Crée un dossier
  
  Cette méthode est appelée en réponse à <strong>mkdir()</strong>.
  
  Afin d'appeler le bon message d'erreur, cette méthode  ne doit pas être définie, si le
  gestionnaire ne supporte pas la création des dossiers.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>     Le dossier à créer.
  <info>int</info>     <strong>$mode</strong>     La valeur passée à <strong>mkdir()</strong>.
  <info>int</info>     <strong>$options</strong>  Un champ de valeurs, telles que  <info>STREAM_MKDIR_RECURSIVE</info>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>mkdir()</strong>
   * streamwrapper::rmdir


id: streamWrapper::rename
type: function
doc:
<comment>Description:</comment>
  Renomme un fichier ou un dossier
  
  Cette méthode est appelée en réponse à <strong>rename()</strong>.
  
  Doit renommer le fichier <strong>$path_from</strong> en <strong>$path_to</strong>
  
  Afin d'appeler le bon message d'erreur, cette méthode  ne doit pas être définie, si le
  gestionnaire ne supporte pas le renommage de fichiers.

<comment>Param:</comment>
  <info>string</info>  <strong>$path_from</strong>  L'URL du fichier en cours.
  <info>string</info>  <strong>$path_to</strong>    La nouvelle URL <strong>$path_from</strong>  avec laquelle le fichier doit être renommé.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>rename()</strong>


id: streamWrapper::rmdir
type: function
doc:
<comment>Description:</comment>
  Supprime un dossier
  
  Cette méthode est appelée en réponse à <strong>rmdir()</strong>.
  
  Afin d'appeler le bon message d'erreur, cette méthode  ne doit pas être définie, si le
  gestionnaire ne supporte pas la suppression des dossiers.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>     L'URL du dossier à effacer.
  <info>int</info>     <strong>$options</strong>  Un champ de bits telles que  <info>STREAM_MKDIR_RECURSIVE</info>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>rmdir()</strong>
   * streamwrapper::mkdir
   * streamwrapper::unlink


id: streamWrapper::stream_cast
type: function
doc:
<comment>Description:</comment>
  Lit la ressource sous-jacente de flux
  
  Cette méthode est appelée en réponse à <strong>stream_select()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$cast_as</strong>  Peut être une des valeurs parmi  <info>STREAM_CAST_FOR_SELECT</info> si <strong>stream_select()</strong> est la
                 fonction appelant <strong>stream_cast()</strong> ou <info>STREAM_CAST_AS_STREAM</info> si <strong>stream_cast()</strong> est
                 appelée pour les  autres cas.

<comment>Return:</comment>
  <info>resource</info>  Doit retourner le flux sous-jacent, utilisé par le gestionnaire, et sinon <info>false</info>.

<comment>See Also:</comment>
   * <strong>stream_select()</strong>


id: streamWrapper::stream_close
type: function
doc:
<comment>Description:</comment>
  Ferme une ressource de flux
  
  Cette méthode est appelée en réponse à <strong>fclose()</strong>.
  
  Toutes les ressources qui étaient verrouillées, ou allouées par le gestionnaire doivent être
  libérées.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.

<comment>See Also:</comment>
   * <strong>fclose()</strong>
   * streamWrapper::dir_closedir


id: streamWrapper::stream_eof
type: function
doc:
<comment>Description:</comment>
  Tests for end-of-file on a file pointer
  
  Cette méthode est appelée en réponse à <strong>feof()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Doit retourner <info>true</info> si le curseur est à la fin du flux, et  que plus aucune donnée n'est
        disponible, et  <info>false</info> sinon.

<comment>See Also:</comment>
   * <strong>feof()</strong>


id: streamWrapper::stream_flush
type: function
doc:
<comment>Description:</comment>
  Expédie le contenu
  
  Cette méthode est appelée en réponse à <strong>fflush()</strong> et lorsque le flux est fermé alors que des données
  non-envoyées y ont été écrites avant.
  
  Si vous avez mis des données en cache dans votre flux, mais que vous ne les avez pas stocké, vous
  devez le faire maintenant.

<comment>Return:</comment>
  <info>bool</info>  Doit retourner <info>true</info> si les données en cache ont pu être  sauvées correctement ( ou s'il n'y
        avait pas de données dans le cache), ou <info>false</info> si les données n'ont pu être stockées.

<comment>See Also:</comment>
   * <strong>fflush()</strong>


id: streamWrapper::stream_lock
type: function
doc:
<comment>Description:</comment>
  Verrouillage logique de fichiers
  
  Cette méthode est appelée en réponse à <strong>flock()</strong>,  parfois avec <strong>file_put_contents()</strong>  (si l'option
  <strong>$flags</strong> contient <info>LOCK_EX</info>), <strong>stream_set_blocking()</strong> et quand on ferme le flux (<info>LOCK_UN</info>).

<comment>Param:</comment>
  <info>int</info>  <strong>$operation</strong>  <strong>$operation</strong> est une des suivantes :  <info>LOCK_SH</info> pour obtenir le verrou partagé
                   (lecture) <info>LOCK_EX</info> pour obtenir le verrou exclusif (écriture) <info>LOCK_UN</info> pour lire le
                   verrou (partagé ou exclusif) <info>LOCK_NB</info> si vous voulez que  <strong>flock()</strong> bloque pour le
                   verrouillage (non supporté sur Windows).
                   
                   <info>LOCK_SH</info> pour obtenir le verrou partagé (lecture)
                   
                   <info>LOCK_EX</info> pour obtenir le verrou exclusif (écriture)
                   
                   <info>LOCK_UN</info> pour lire le verrou (partagé ou exclusif)
                   
                   <info>LOCK_NB</info> si vous voulez que  <strong>flock()</strong> bloque pour le verrouillage (non supporté sur
                   Windows).

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>stream_set_blocking()</strong>
   * <strong>flock()</strong>


id: streamWrapper::stream_metadata
type: function
doc:
<comment>Description:</comment>
  Change les metadata du flux
  
  Cette méthode est appelée pour changer les métadonnées du flux. Elle est invoquée lorsque l'une
  des fonctions suivantes est appelée sur un flux: <strong>touch()</strong><strong>chmod()</strong><strong>chown()</strong><strong>chgrp()</strong> Veuillez noter que
  certaines de ces opérations peuvent ne pas être disponibles sur votre système.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>    Le chemin du fichier ou l'URL pour laquelle changer les métadonnées. Notez que
                   dans le cas d'une URL, elle doit utiliser le délimiteur ://, les autres formes
                   d'URL ne sont pas supportées.
  <info>int</info>     <strong>$option</strong>  A choisir parmi : <info>STREAM_META_TOUCH</info> (La méthode a été appelée suite à
                   <strong>touch()</strong>)<info>STREAM_META_OWNER_NAME</info> (La méthode a été appelée suite à <strong>chown()</strong> avec un
                   paramètre de type chaine)<info>STREAM_META_OWNER</info> (La méthode a été appelée suite à
                   <strong>chown()</strong>)<info>STREAM_META_GROUP_NAME</info> (La méthode a été appelée suite à
                   <strong>chgrp()</strong>)<info>STREAM_META_GROUP</info> (La méthode a été appelée suite à
                   <strong>chgrp()</strong>)<info>STREAM_META_ACCESS</info> (La méthode a été appelée suite à <strong>chmod()</strong>)
  <info>mixed</info>   <strong>$value</strong>   Si <strong>$option</strong> est <info>STREAM_META_TOUCH</info> : <info>Array</info> consistant en deux arguments de la
                   fonction <strong>touch()</strong>.<info>STREAM_META_OWNER_NAME</info> ou <info>STREAM_META_GROUP_NAME</info>:  Le nom du
                   propriétaire user/group sous forme de <info>string</info>.<info>STREAM_META_OWNER</info> ou
                   <info>STREAM_META_GROUP</info>:  La valeur du propriétaire user/group sous forme
                   <info>int</info>.<info>STREAM_META_ACCESS</info> : L'argument de <strong>chmod()</strong> sous forme <info>int</info>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient. Si <strong>$option</strong>
        n'est pas implémentée, <info>false</info> devrait être retourné.

<comment>See Also:</comment>
   * <strong>touch()</strong>
   * <strong>chmod()</strong>
   * <strong>chown()</strong>
   * <strong>chgrp()</strong>


id: streamWrapper::stream_open
type: function
doc:
<comment>Description:</comment>
  Opens file or URL
  
  Cette méthode est appelée immédiatement après l'initialisation du gestionnaire (par exemple, par
  <strong>fopen()</strong> et <strong>file_get_contents()</strong>).

<comment>Param:</comment>
  <info>string</info>       <strong>$path</strong>         L'URL qui est passée à la fonction originale.
                             
                             L'URL peut être découpée à l'aide de <strong>parse_url()</strong>. Noter que seules les
                             URLs délimitées par :// sont supportées. : et :/, bien que
                             techniquement valides, ne sont pas supportés.
  <info>string</info>       <strong>$mode</strong>         Le mode utilisée pour ouvrir le fichier, tel que documenté pour
                             <strong>fopen()</strong>.
                             
                             N'oubliez pas de vérifier si <strong>$mode</strong> est valide pour le chemin <strong>$path</strong>
                             demandé.
  <info>int</info>          <strong>$options</strong>      Contient les options supplémentaires pour le flux. Il peut contenir
                             une ou plusieurs constantes parmi les suivantes, combinées  par des OR.
                             OptionDescription<info>STREAM_USE_PATH</info> Si <strong>$path</strong> est relatif recherche la
                             ressource en incluant l'include_path. <info>STREAM_REPORT_ERRORS</info> Si cette
                             option est active, vous êtes responsable  pour émettre une erreur, avec
                             <strong>trigger_error()</strong>  durant l'ouverture du flux. Si cette option n'est pas
                             activée, vous ne devez pas émettre d'erreur.
  <info>string|null</info>  <strong>$opened_path</strong>  Si le chemin <strong>$path</strong> est ouvert correctement, et que la constante
                             <info>STREAM_USE_PATH</info> est configurée via  <strong>$options</strong>, alors <strong>$opened_path</strong> doit
                             contenir le chemin complet qui a été réellement ouvert.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>fopen()</strong>
   * <strong>parse_url()</strong>


id: streamWrapper::stream_read
type: function
doc:
<comment>Description:</comment>
  Lit dans le flux
  
  Cette méthode est appelée en réponse à <strong>fread()</strong> et <strong>fgets()</strong>.
  
  N'oubliez pas de modifier la position de lecture et écriture du nombre d'octets qui ont pu être
  lus.

<comment>Param:</comment>
  <info>int</info>  <strong>$count</strong>  Le nombre d'octets qui ont pu être lus, à partir de  la position courante.

<comment>Return:</comment>
  <info>string|false</info>  S'il y a moins que <strong>$count</strong> octets disponibles, autant que possible devrait être
                retourné. S'il n'y a plus de données disponibles, une chaîne vide doit être
                retourné. Pour signaler une erreur de lecture <info>false</info> doit être retourné.

<comment>See Also:</comment>
   * <strong>fread()</strong>
   * <strong>fgets()</strong>


id: streamWrapper::stream_seek
type: function
doc:
<comment>Description:</comment>
  Place le pointeur de flux à une position
  
  Cette méthode est appelée en réponse à <strong>fseek()</strong>.
  
  La position de lecture/écriture doit être modifiée pour refléter la nouvelle position <strong>$offset</strong> et
  <strong>$whence</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$offset</strong>  La position à rechercher dans le flux.
  <info>int</info>  <strong>$whence</strong>  Les valeurs possibles sont :  <info>SEEK_SET</info> : la nouvelle position vaut <strong>$offset</strong>
                octets.<info>SEEK_CUR</info> : la nouvelle position vaut la position courante plus
                <strong>$offset</strong>.<info>SEEK_END</info> : la nouvelle position vaut la fin de fichier plus <strong>$offset</strong>.
                
                L'implémentation actuelle ne définie jamais <strong>$whence</strong> à <info>SEEK_CUR</info>; en effet ces
                recherches de position sont convertie en interne à des recherches de type <info>SEEK_SET</info>.

<comment>Return:</comment>
  <info>bool</info>  Retourne <info>true</info> si la position a été mise à jour,  <info>false</info> sinon.

<comment>See Also:</comment>
   * <strong>fseek()</strong>


id: streamWrapper::stream_set_option
type: function
doc:
<comment>Description:</comment>
  Change les options du flux
  
  Cette méthode est appelée pour modifier les options du flux.

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  Une des constantes parmi :  <info>STREAM_OPTION_BLOCKING</info> (Cette méthode est appelée en
                réponse à <strong>stream_set_blocking()</strong>)<info>STREAM_OPTION_READ_TIMEOUT</info> (Cette méthode est
                appelée en réponse à <strong>stream_set_timeout()</strong>)<info>STREAM_OPTION_WRITE_BUFFER</info> (Cette méthode
                est appelée en réponse à  <strong>stream_set_write_buffer()</strong>)
  <info>int</info>  <strong>$arg1</strong>    Si <strong>$option</strong> vaut <info>STREAM_OPTION_BLOCKING</info> : mode bloquant demandé (1 signifie bloquant,
                0 non-bloquant).<info>STREAM_OPTION_READ_TIMEOUT</info> : le délai d'expiration en
                secondes.<info>STREAM_OPTION_WRITE_BUFFER</info> : le mode de buffer (<info>STREAM_BUFFER_NONE</info> ou
                <info>STREAM_BUFFER_FULL</info>).
  <info>int</info>  <strong>$arg2</strong>    Si <strong>$option</strong> vaut <info>STREAM_OPTION_BLOCKING</info> : cette option n'est pas
                active.<info>STREAM_OPTION_READ_TIMEOUT</info> : le délai d'expiration en
                microsecondes.<info>STREAM_OPTION_WRITE_BUFFER</info> : la taille du buffer demandé.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient. Si <strong>$option</strong>
        n'est pas implémentée,  <info>false</info> doit être retourné.

<comment>See Also:</comment>
   * <strong>stream_set_blocking()</strong>
   * <strong>stream_set_timeout()</strong>
   * <strong>stream_set_write_buffer()</strong>


id: streamWrapper::stream_stat
type: function
doc:
<comment>Description:</comment>
  Lit les informations sur une ressource de fichier
  
  Cette méthode est appelée en réponse à <strong>fstat()</strong>.

<comment>Return:</comment>
  <info>array|false</info>  Voir <strong>stat()</strong>.

<comment>See Also:</comment>
   * <strong>stat()</strong>
   * streamwrapper::url_stat


id: streamWrapper::stream_tell
type: function
doc:
<comment>Description:</comment>
  Lit la position courante dans un flux
  
  Cette méthode est appelée en réponse à <strong>ftell()</strong> pour déterminer la position courante.

<comment>Return:</comment>
  <info>int</info>  Doit retourner la position courante dans le flux.

<comment>See Also:</comment>
   * streamWrapper::stream_tell


id: streamWrapper::stream_truncate
type: function
doc:
<comment>Description:</comment>
  Tronque un flux
  
  Répondra à une opération de tronquature effectuée au moyen de <strong>ftruncate()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$new_size</strong>  La nouvelle taille.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>ftruncate()</strong>


id: streamWrapper::stream_write
type: function
doc:
<comment>Description:</comment>
  Écrit dans un flux
  
  Cette méthode est appelée en réponse à <strong>fwrite()</strong>.
  
  N'oubliez pas de mettre à jour la position courante dans le flux, du nombre d'octets qui ont pu
  être lu.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Les données qui doivent être stockées dans le flux sous-jacent.
                 
                 S'il n'y a pas de place dans le stockage, il faut en stocker autant que possible.

<comment>Return:</comment>
  <info>int</info>  Doit retourner le nombre d'octets qui ont pu être stockés correctement, et 0 si aucun n'a pu
       être stocké.

<comment>See Also:</comment>
   * <strong>fwrite()</strong>


id: streamWrapper::unlink
type: function
doc:
<comment>Description:</comment>
  Efface un fichier
  
  Cette méthode est appelé en réponse à <strong>unlink()</strong>.
  
  Afin que le message d'erreur approprié soit retourné, cette méthode doit NE PAS être définie, si
  le flux ne supporte pas l'effacement de fichiers.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  L'URL du fichier qui doit être effacé.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>unlink()</strong>
   * streamWrapper::rmdir


id: streamWrapper::url_stat
type: function
doc:
<comment>Description:</comment>
  Lit les informations sur un fichier
  
  Cette méthode est appelée en réponse à toutes les fonctions  liées à <strong>stat()</strong>, telles que :
  <strong>copy()</strong><strong>fileperms()</strong><strong>fileinode()</strong><strong>filesize()</strong><strong>fileowner()</strong><strong>filegroup()</strong><strong>fileatime()</strong><strong>filemtime()</strong><strong>filectime()</strong><strong>filetype()</strong><strong>is_writable()</strong><strong>is_readable()</strong><strong>is_executable()</strong><strong>is_file()</strong><strong>is_dir()</strong><strong>is_link()</strong><strong>file_exists()</strong><strong>lstat()</strong><strong>stat()</strong>SplFileInfo::getPermsSplFileInfo::getInodeSplFileInfo::getSizeSplFileInfo::getOwnerSplFileInfo::getGroupSplFileInfo::getATimeSplFileInfo::getMTimeSplFileInfo::getCTimeSplFileInfo::getTypeSplFileInfo::isWritableSplFileInfo::isReadableSplFileInfo::isExecutableSplFileInfo::isFileSplFileInfo::isDirSplFileInfo::isLinkRecursiveDirectoryIterator::hasChildren

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>   Le chemin du fichier ou l'URL à analyser. Noter que dans le cas des URLs, elles
                  doivent être délimitées par ://. Tout autre format n'est pas supporté.
  <info>int</info>     <strong>$flags</strong>  Les options supplémentaires activées par l'API des flux.  Elle peut contenir une
                  ou plusieurs constantes des constantes suivantes, combinées par OR :
                  OptionDescriptionSTREAM_URL_STAT_LINK Pour les ressources qui ont la capacité de
                  se lier à d'autres ressources (comme une redirection HTTP ou bien un lien
                  symbolique). Cette option indique que les informations lues doivent concerner le
                  lien lui-même, et non pas la ressource pointée par le lien. Cette option est
                  activée en réponse à un appel à <strong>lstat()</strong>, <strong>is_link()</strong> ou <strong>filetype()</strong>.
                  STREAM_URL_STAT_QUIET Si cette option est activée, votre gestionnaire ne doit pas
                  émettre d'erreurs. Si cette option n'est pas activée, vous êtes responsables du
                  rapport d'erreur, en appelant la fonction <strong>trigger_error()</strong> durant l'analyse du
                  chemin.

<comment>Return:</comment>
  <info>array|false</info>  Doit retourner un tableau avec autant d'éléments que <strong>stat()</strong> retourne. Les valeurs
               inconnues ou indisponibles doivent prendre une valeur raisonnable (généralement, <info>0</info>).
               Portez une attention particulière à <return>mode</return> comme documenté sous <strong>stat()</strong>. Doit retourner
               <info>false</info> en cas d'échec.

<comment>See Also:</comment>
   * <strong>stat()</strong>
   * streamwrapper::stream_stat


id: stream_bucket_append
type: function
doc:
<comment>Description:</comment>
  Ajoute un compartiment au corps
    
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>void</info>  


id: stream_bucket_make_writeable
type: function
doc:
<comment>Description:</comment>
  Retourne un objet de compartiment depuis le corps pour des opérations sur celui-ci
    
  
  Cette fonction est appelé quand il y a un besoin d'accéder et opérer sur le contenu compris dans
  une brigade. Typiquement appelé depuis php_user_filter::filter.

<comment>Param:</comment>
  <info>resource</info>  <strong>$brigade</strong>  La brigade où retourner un objet bucket depuis.

<comment>Return:</comment>
  <info>object|null</info>  Retourne l'objet bucket avec les propriétés listé ci-dessous ou <info>null</info>. data (<info>string</info>)
               <strong>$data</strong><return>bucket</return> La chaîne actuellement dans le bucket. datalen (<info>integer</info>) <strong>$datalen</strong><return>bucket</return>
               La longueur de la chaîne dans le bucket.
               
               <strong>$data</strong><return>bucket</return> La chaîne actuellement dans le bucket.
               
               <strong>$datalen</strong><return>bucket</return> La longueur de la chaîne dans le bucket.

<comment>See Also:</comment>
   * <strong>stream_bucket_append()</strong>
   * <strong>stream_bucket_prepend()</strong>


id: stream_bucket_new
type: function
doc:
<comment>Description:</comment>
  Crée un nouveau compartiment pour l'utiliser sur le flux courant
    
  
  Cette fonction est actuellement non documentée ; seule la liste des arguments est disponible.

<comment>Return:</comment>
  <info>object</info>  


id: stream_bucket_prepend
type: function
doc:
<comment>Description:</comment>
  Ajout initial d'un bucket dans une brigade
    
  
  Cette fonction peut être appelée pour ajouter un bucket dans une bucket brigade. Elle est
  typiquement appelée depuis la méthode php_user_filter::filter.

<comment>Param:</comment>
  <info>resource</info>  <strong>$brigade</strong>  <strong>$brigade</strong> est une ressource pointant vers une <return>bucket brigade</return> qui contient un ou
                      plusieurs objets <return>bucket</return>.
  <info>object</info>    <strong>$bucket</strong>   Un objet bucket.

<comment>Return:</comment>
  <info>void</info>  Aucune valeur n'est retournée.


id: stream_context_create
type: function
doc:
<comment>Description:</comment>
  Crée un contexte de flux
  
  Crée et retourne un contexte de flux, avec les paramètres fournis par <strong>$options</strong>.

<comment>Param:</comment>
  <info>array|null</info>  <strong>$options</strong>  Doit être un tableau associatif, au format <return>$arr['wrapper']['option'] =
                        $value</return> ou <info>null</info>. Référez-vous aux options de contexte pour une liste des
                        wrappers et des options disponibles.
                        
                        Par défaut <info>null</info>.
  <info>array|null</info>  <strong>$params</strong>   Doit être un tableau associatif de format <return>$arr['parameter'] = $value</return> ou
                        <info>null</info>. Référez-vous à la documentation sur les paramètres de contexte pour
                        une liste des paramètres de flux standards.

<comment>Return:</comment>
  <info>resource</info>  Une ressource représentant le contexte du flux.

<comment>See Also:</comment>
   * <strong>stream_context_set_option()</strong>
   * La liste des gestionnaires ()
   * Les options de contexte ()


id: stream_context_get_default
type: function
doc:
<comment>Description:</comment>
  Lit le contexte par défaut des flux
  
  <strong>stream_context_get_default()</strong> retourne le contexte par défaut qui est utilisé avec les fonctions de
  fichiers comme <strong>fopen()</strong>, <strong>file_get_contents()</strong>, etc, lorsqu'elles sont utilisées sans paramètre de
  contexte. Les options du contexte par défaut peuvent être spécifiées optionnellement avec la même
  syntaxe que pour <strong>stream_context_create()</strong>.

<comment>Param:</comment>
  <info>array|null</info>  <strong>$options</strong>  <strong>$options</strong> doit être un tableau associatif de tableaux associatifs, au format
                        <return>$arr['wrapper']['option'] = $value</return> ou <info>null</info>.

<comment>Return:</comment>
  <info>resource</info>  Une <info>resource</info> de contexte de flux.

<comment>See Also:</comment>
   * <strong>stream_context_create()</strong>
   * <strong>stream_context_set_default()</strong>
   * Liste des gestionnaires supportés avec les options de contexte ().


id: stream_context_get_options
type: function
doc:
<comment>Description:</comment>
  Lit la valeur des options pour un flux/gestionnaire/contexte
  
  <strong>stream_context_get_options()</strong> retourne un tableau contenant la liste des options pour le flux ou le
  contexte  <strong>$stream_or_context</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream_or_context</strong>  Le <info>stream</info> ou <info>context</info> dont il faut lire les options.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau associatif contenant les options.


id: stream_context_get_params
type: function
doc:
<comment>Description:</comment>
  Lit les paramètres d'un contexte
  
  <strong>stream_context_get_params()</strong> lit les paramètres du contexte ou du flux <strong>$stream_or_context</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$context</strong>  Une ressource de flux ou de contexte.

<comment>Return:</comment>
  <info>array</info>  Retourne un tableau associatif contenant les options de contexte et leur valeur.

<comment>See Also:</comment>
   * <strong>stream_context_set_option()</strong>
   * <strong>stream_context_set_params()</strong>


id: stream_context_set_default
type: function
doc:
<comment>Description:</comment>
  Configure le contexte par défaut des flux
  
  Configure le contexte par défaut des flux qui sera utilisé à chaque fois  qu'un fichier sera
  manipulé (<strong>fopen()</strong>, <strong>file_get_contents()</strong>,  etc...) sans paramètre de contexte. Il utilise la même
  syntaxe que  <strong>stream_context_create()</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  Les options à configurer pour le contexte par défaut.
                   
                   <strong>$options</strong> doit être un tableau associatif de tableaux associatifs, au format
                   <return>$arr['gestionnaire']['option'] = $valeur</return>.

<comment>Return:</comment>
  <info>resource</info>  Retourne le contexte de flux par défaut.

<comment>See Also:</comment>
   * <strong>stream_context_create()</strong>
   * <strong>stream_context_get_default()</strong>
   * Liste des gestionnaires de flux avec leurs options de contexte ().


id: stream_context_set_option
type: function
doc:
<comment>Description:</comment>
  Configure une option pour un flux/gestionnaire/contexte
  
  <strong>stream_context_set_option()</strong> définit une option pour le contexte spécifié. La valeur <strong>$value</strong> est
  définie pour l'<strong>$option</strong> pour le contexte <strong>$wrapper</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream_or_context</strong>  Le flux ou la ressource de contexte sur lequel on applique l'option.
  <info>string</info>    <strong>$wrapper</strong>            Le nom du gestionnaire (qui peut être différent de celui du
                                protocole). Voyez la section sur les contextes pour connaître la
                                liste des paramètres standard de flux.
  <info>string</info>    <strong>$option</strong>             Le nom de l'option.
  <info>mixed</info>     <strong>$value</strong>              La valeur de l'option.
  <info>array</info>     <strong>$options</strong>            L'option à définir pour le paramètre <strong>$stream_or_context</strong>.
                                
                                Le paramètre <strong>$options</strong> doit être un tableau associatif de tableaux
                                associatifs, au format <return>$arr['wrapper']['option'] = $value</return>.
                                
                                Voyez la section sur les  contextes pour connaître la liste des
                                paramètres standard de flux.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.


id: stream_context_set_options
type: function
doc:
<comment>Description:</comment>
  Sets options on the specified context
  
  Sets options on the specified context.

<comment>Param:</comment>
  <info>resource</info>  <strong>$context</strong>  The stream or context resource to apply the options to.
  <info>array</info>     <strong>$options</strong>  The options to set for <strong>$context</strong>.
                      
                      <strong>$options</strong> must be an associative tableau of associative arrays in the format
                      $array['wrapper']['option'] = $value.
                      
                      Refer to context options and parameters for a listing of stream options.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>stream_context_set_option()</strong>


id: stream_context_set_params
type: function
doc:
<comment>Description:</comment>
  Configure les paramètres pour un flux/gestionnaire/contexte
  
  <strong>stream_context_set_params()</strong> définit  les paramètres pour le contexte spécifié.

<comment>Param:</comment>
  <info>resource</info>  <strong>$context</strong>  Le flux ou le contexte sur lequel on applique les paramètres.
  <info>array</info>     <strong>$params</strong>   Un tableau associatif de paramètres à définir dans le format suivant :
                      <return>$params['paramname'] = "paramvalue";</return>.

<comment>Return:</comment>
  <info>bool</info>  Cette fonction retourne <info>true</info> en cas de succès ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>stream_notification_callback()</strong>


id: stream_copy_to_stream
type: function
doc:
<comment>Description:</comment>
  Copie des données depuis un flux vers un autre
  
  Fait une copie jusqu'à <strong>$length</strong> octets de données depuis la position courante du pointeur (ou
  depuis la position <strong>$offset</strong>, si spécifié) dans le flux <strong>$from</strong> vers le paramètre <strong>$to</strong>. Si <strong>$length</strong>
  n'est pas spécifié, tout le reste du flux <strong>$from</strong> sera copié.

<comment>Param:</comment>
  <info>resource</info>  <strong>$from</strong>    Le flux de source
  <info>resource</info>  <strong>$to</strong>      Le flux de destination
  <info>int|null</info>  <strong>$length</strong>  Nombre maximal d'octets à copier. Par défaut, tous les octets restants sont
                     copiés.
  <info>int</info>       <strong>$offset</strong>  L'offset où démarrer la copie de données

<comment>Return:</comment>
  <info>int|false</info>  Retourne le nombre total d'octets copiés,  ou <info>false</info> si une erreur survient.

<comment>See Also:</comment>
   * <strong>copy()</strong>


id: stream_filter_append
type: function
doc:
<comment>Description:</comment>
  Attache un filtre à un flux en fin de liste
  
  <strong>stream_filter_append()</strong> ajoute le filtre  <strong>$filtername</strong> à la liste de filtres attachés au flux
  <strong>$stream</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>      Le flux cible.
  <info>string</info>    <strong>$filtername</strong>  Le nom du filtre.
  <info>int</info>       <strong>$read_write</strong>  Par défaut, <strong>stream_filter_append()</strong> va ajouter le filtre à la liste de
                         filtres de lecture si le fichier a été ouvert en mode lecture (<return>r</return> et/ou <return>+</return>).
                         Le filtre sera aussi attaché à la liste des filtres de lecture si le
                         fichier a été ouvert en mode lecture (<return>w</return>,  <return>a</return> et/ou <return>+</return>). <info>STREAM_FILTER_READ</info>,
                         <info>STREAM_FILTER_WRITE</info>, et/ou <info>STREAM_FILTER_ALL</info> peuvent aussi être utilisées
                         dans le paramètre <strong>$read_write</strong> pour contrôler ce comportement.
  <info>mixed</info>     <strong>$params</strong>      Ce filtre sera ajouté avec les paramètres  <strong>$params</strong> à la fin de la liste des
                         filtres, et sera ainsi appelé à la fin des  opérations de filtres. Pour
                         ajouter un filtre au début de la liste, utilisez la fonction
                         <strong>stream_filter_prepend()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Retourne une ressource en cas de succès, ou <info>false</info> si une erreur survient. La ressource
            peut être utilisée pour se référer à l'instance de ce filtre lors d'un appel à la
            fonction <strong>stream_filter_remove()</strong>.
            
            <info>false</info> est retourné si <strong>$stream</strong> n'est pas une ressource ou si <strong>$filtername</strong> ne peut être
            atteint.

<comment>See Also:</comment>
   * <strong>stream_filter_register()</strong>
   * <strong>stream_filter_prepend()</strong>
   * <strong>stream_get_filters()</strong>


id: stream_filter_prepend
type: function
doc:
<comment>Description:</comment>
  Attache un filtre à un flux en début de liste
  
  <strong>stream_filter_prepend()</strong> ajoute le filtre  <strong>$filtername</strong> à la liste de filtres attachés au flux
  <strong>$stream</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>      Le flux cible.
  <info>string</info>    <strong>$filtername</strong>  Le nom du filtre.
  <info>int</info>       <strong>$read_write</strong>  Par défaut, <strong>stream_filter_prepend()</strong> va attacher le filtre à la <return>chaîne de
                         filtre de lectures</return> si le fichier a été ouvert en lecture (i.e. mode <return>r</return>,
                         et/ou <return>+</return>). Le filtre va aussi être attaché à la <return>chaîne de filtres d'écriture</return>
                         si le fichier a été ouvert en écriture (i.e. mode  <return>w</return>, <return>a</return>, et/ou <return>+</return>).
                         <info>STREAM_FILTER_READ</info>, <info>STREAM_FILTER_WRITE</info>, et/ou <info>STREAM_FILTER_ALL</info> peuvent
                         aussi être passés dans le paramètre <strong>$read_write</strong> pour imposer le
                         comportement désiré. Voyez <strong>stream_filter_append()</strong> pour un exemple
                         d'utilisation de ce paramètre.
  <info>mixed</info>     <strong>$params</strong>      Le filtre sera ajouté avec les paramètres spécifiés dans <strong>$params</strong>, au début
                         de la liste, et sera ainsi appelé en premier dans les opérations du flux.
                         Pour ajouter un filtre à la fin de la liste, utilisez
                         <strong>stream_filter_append()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Retourne une ressource en cas de succès, ou <info>false</info> si une erreur survient. La ressource
            peut être utilisée pour se référer à cette instance de filtre pendant un appel à la
            fonction <strong>stream_filter_remove()</strong>.
            
            <info>false</info> est retourné si <strong>$stream</strong> n'est pas une ressource, ou si <strong>$filtername</strong> ne peut être
            atteint.

<comment>See Also:</comment>
   * <strong>stream_filter_register()</strong>
   * <strong>stream_filter_append()</strong>


