# php_manual

id: openssl_pkey_get_private
type: function
doc:
<comment>Description:</comment>
  Get a private key
  
  <strong>openssl_pkey_get_private()</strong> parses <strong>$key</strong> and prepares it for use by other functions.

<comment>Param:</comment>
  <info>mixed </info>  <strong>$key       </strong>  <strong>$key</strong> can be one of the following: a string having the format
                       file://path/to/file.pem. The named file must contain a PEM encoded
                       certificate/private key (it may contain both). A PEM formatted private key.
                       
                       a string having the format file://path/to/file.pem. The named file must
                       contain a PEM encoded certificate/private key (it may contain both).
                       
                       A PEM formatted private key.
  <info>string</info>  <strong>$passphrase</strong>  The optional parameter <strong>$passphrase</strong> must be used if the specified key is
                       encrypted (protected by a passphrase).

<comment>Return:</comment>
  <info>resource</info>  Returns a positive key resource identifier on success, or <info>false</info> on error.


id: openssl_pkey_get_public
type: function
doc:
<comment>Description:</comment>
  Extract public key from certificate and prepare it for use
  
  <strong>openssl_pkey_get_public()</strong> extracts the public key from <strong>$certificate</strong> and prepares it for use by
  other functions.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$certificate</strong>  <strong>$certificate</strong> can be one of the following: an X.509 certificate resourcea
                       string having the format file://path/to/file.pem. The named file must contain
                       a PEM encoded certificate/public key (it may contain both). A PEM formatted
                       public key.
                       
                       an X.509 certificate resource
                       
                       a string having the format file://path/to/file.pem. The named file must
                       contain a PEM encoded certificate/public key (it may contain both).
                       
                       A PEM formatted public key.

<comment>Return:</comment>
  <info>resource</info>  Returns a positive key resource identifier on success, or <info>false</info> on error.


id: openssl_pkey_new
type: function
doc:
<comment>Description:</comment>
  Generates a new private key 
  
  <strong>openssl_pkey_new()</strong> generates a new private and public key pair.  The public component of the key
  can be obtained using <strong>openssl_pkey_get_public()</strong>.
  
  Trebuie să aveți un fișier openssl.cnf valid instalat pentru ca această funcție să opereze corect.
  Vedeți notele în secțiunea de instalare  pentru informații suplimentare.

<comment>Param:</comment>
  <info>array</info>  <strong>$configargs</strong>  You can finetune the key generation (such as specifying the number of bits)
                      using <strong>$configargs</strong>.  See <strong>openssl_csr_new()</strong> for more information about
                      <strong>$configargs</strong>.

<comment>Return:</comment>
  <info>resource</info>  Returns a resource identifier for the pkey on success, or <info>false</info> on error.


id: openssl_private_decrypt
type: function
doc:
<comment>Description:</comment>
  Decrypts data with private key 
  
  <strong>openssl_private_decrypt()</strong> decrypts <strong>$data</strong> that was previously encrypted via
  <strong>openssl_public_encrypt()</strong> and stores the result into <strong>$decrypted</strong>.
  
  You can use this function e.g. to decrypt data which is supposed to only be available to you.

<comment>Param:</comment>
  <info>string</info>  <strong>$data     </strong>  
  <info>string</info>  <strong>$decrypted</strong>  
  <info>mixed </info>  <strong>$key      </strong>  <strong>$key</strong> must be the private key corresponding that was used to encrypt the data.
  <info>int   </info>  <strong>$padding  </strong>  <strong>$padding</strong> can be one of <info>OPENSSL_PKCS1_PADDING</info>, <info>OPENSSL_SSLV23_PADDING</info>,
                      <info>OPENSSL_PKCS1_OAEP_PADDING</info>, <info>OPENSSL_NO_PADDING</info>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>openssl_public_encrypt()</strong>
   * <strong>openssl_public_decrypt()</strong>


id: openssl_private_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypts data with private key 
  
  <strong>openssl_private_encrypt()</strong> encrypts <strong>$data</strong> with private <strong>$key</strong> and stores the result into <strong>$crypted</strong>.
  Encrypted data can be decrypted via <strong>openssl_public_decrypt()</strong>.
  
  This function can be used e.g. to sign data (or its hash) to prove that it is not written by
  someone else.

<comment>Param:</comment>
  <info>string</info>  <strong>$data   </strong>  
  <info>string</info>  <strong>$crypted</strong>  
  <info>mixed </info>  <strong>$key    </strong>  
  <info>int   </info>  <strong>$padding</strong>  <strong>$padding</strong> can be one of <info>OPENSSL_PKCS1_PADDING</info>, <info>OPENSSL_NO_PADDING</info>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>openssl_public_encrypt()</strong>
   * <strong>openssl_public_decrypt()</strong>


id: openssl_public_decrypt
type: function
doc:
<comment>Description:</comment>
  Decrypts data with public key 
  
  <strong>openssl_public_decrypt()</strong> decrypts <strong>$data</strong> that was previous encrypted via <strong>openssl_private_encrypt()</strong>
  and stores the result into <strong>$decrypted</strong>.
  
  You can use this function e.g. to check if the message was written by the owner of the private
  key.

<comment>Param:</comment>
  <info>string</info>  <strong>$data     </strong>  
  <info>string</info>  <strong>$decrypted</strong>  
  <info>mixed </info>  <strong>$key      </strong>  <strong>$key</strong> must be the public key corresponding that was used to encrypt the data.
  <info>int   </info>  <strong>$padding  </strong>  <strong>$padding</strong> can be one of <info>OPENSSL_PKCS1_PADDING</info>, <info>OPENSSL_NO_PADDING</info>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>openssl_private_encrypt()</strong>
   * <strong>openssl_private_decrypt()</strong>


id: openssl_public_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypts data with public key 
  
  <strong>openssl_public_encrypt()</strong> encrypts <strong>$data</strong> with public <strong>$key</strong> and stores the result into <strong>$crypted</strong>.
  Encrypted data can be decrypted via <strong>openssl_private_decrypt()</strong>.
  
  This function can be used e.g. to encrypt message which can be then read only by owner of the
  private key. It can be also used to store secure data in database.

<comment>Param:</comment>
  <info>string</info>  <strong>$data   </strong>  
  <info>string</info>  <strong>$crypted</strong>  This will hold the result of the encryption.
  <info>mixed </info>  <strong>$key    </strong>  The public key.
  <info>int   </info>  <strong>$padding</strong>  <strong>$padding</strong> can be one of <info>OPENSSL_PKCS1_PADDING</info>, <info>OPENSSL_SSLV23_PADDING</info>,
                    <info>OPENSSL_PKCS1_OAEP_PADDING</info>, <info>OPENSSL_NO_PADDING</info>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>openssl_private_encrypt()</strong>
   * <strong>openssl_private_decrypt()</strong>


id: openssl_random_pseudo_bytes
type: function
doc:
<comment>Description:</comment>
  Generate a pseudo-random string of bytes
  
  Generates a <info>string</info> of pseudo-random bytes, with the number of bytes determined by the <strong>$length</strong>
  parameter.
  
  It also indicates if a cryptographically strong algorithm was used to produce the pseudo-random
  bytes, and does this via the optional <strong>$crypto_strong</strong> parameter. It's rare for this to be <info>false</info>,
  but some systems may be broken or old.

<comment>Param:</comment>
  <info>int </info>  <strong>$length       </strong>  The length of the desired string of bytes. Must be a positive integer. PHP
                        will try to cast this parameter to a non-null integer to use it.
  <info>bool</info>  <strong>$crypto_strong</strong>  If passed into the function, this will hold a <info>bool</info> value that determines if
                        the algorithm used was "cryptographically strong", e.g., safe for usage with
                        GPG,  passwords, etc. <info>true</info> if it did, otherwise <info>false</info>

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the generated <info>string</info> of bytes on success,  sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>random_bytes()</strong>
   * <strong>bin2hex()</strong>
   * <strong>crypt()</strong>
   * <strong>mt_rand()</strong>
   * <strong>uniqid()</strong>


id: openssl_seal
type: function
doc:
<comment>Description:</comment>
  Seal (encrypt) data
  
  <strong>openssl_seal()</strong> seals (encrypts) <strong>$data</strong> by using the given <strong>$method</strong> with a randomly generated secret
  key. The key is encrypted with each of the public keys associated with the identifiers in
  <strong>$pub_key_ids</strong> and each encrypted key is returned in <strong>$env_keys</strong>. This means that one can send sealed
  data to multiple recipients (provided one has obtained their public keys). Each recipient must
  receive both the sealed data and the envelope key that was encrypted with the recipient's public
  key.

<comment>Param:</comment>
  <info>string</info>  <strong>$data       </strong>  The data to seal.
  <info>string</info>  <strong>$sealed_data</strong>  The sealed data.
  <info>array </info>  <strong>$env_keys   </strong>  Array of encrypted keys.
  <info>array </info>  <strong>$pub_key_ids</strong>  Array of public key resource identifiers.
  <info>string</info>  <strong>$method     </strong>  The cipher method.  The default value (<return>'RC4'</return>) is considered insecure. It is
                        strongly recommended to explicitly specify a secure cipher method.
                        
                        The default value (<return>'RC4'</return>) is considered insecure. It is strongly recommended
                        to explicitly specify a secure cipher method.
  <info>string</info>  <strong>$iv         </strong>  The initialization vector.

<comment>Return:</comment>
  <info>int</info>  Returns the length of the sealed data on success, or <info>false</info> on error. If successful the sealed
       data is returned in <strong>$sealed_data</strong>, and the envelope keys in <strong>$env_keys</strong>.

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


id: openssl_sign
type: function
doc:
<comment>Description:</comment>
  Generate signature
  
  <strong>openssl_sign()</strong> computes a signature for the specified <strong>$data</strong> by generating a cryptographic digital
  signature using the private key associated with <strong>$priv_key_id</strong>. Note that the data itself is not
  encrypted.

<comment>Param:</comment>
  <info>string</info>  <strong>$data         </strong>  The string of data you wish to sign
  <info>string</info>  <strong>$signature    </strong>  If the call was successful the signature is returned in <strong>$signature</strong>.
  <info>mixed </info>  <strong>$priv_key_id  </strong>  <info>resource</info> - a key, returned by <strong>openssl_get_privatekey()</strong>
                          
                          <info>string</info> - a PEM formatted key
  <info>mixed </info>  <strong>$signature_alg</strong>  <info>int</info> - one of these Signature Algorithms.
                          
                          <info>string</info> - a valid string returned by <strong>openssl_get_md_methods()</strong> example,
                          "sha256WithRSAEncryption" or "sha384".

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: openssl_spki_export
type: function
doc:
<comment>Description:</comment>
  Exports a valid PEM formatted public key signed public key and challenge
  
  Exports PEM formatted public key from encoded signed public key and challenge

<comment>Param:</comment>
  <info>string</info>  <strong>$spkac</strong>  Expects a valid signed public key and challenge

<comment>Return:</comment>
  <info>string</info>  Returns the associated PEM formatted public key or NULL on failure.

<comment>See Also:</comment>
   * <strong>openssl_spki_new()</strong>
   * <strong>openssl_spki_verify()</strong>
   * <strong>openssl_spki_export_challenge()</strong>
   * <strong>openssl_get_md_methods()</strong>
   * <strong>openssl_csr_new()</strong>
   * <strong>openssl_csr_sign()</strong>


id: openssl_spki_export_challenge
type: function
doc:
<comment>Description:</comment>
  Exports the challenge associated with a signed public key and challenge
  
  Exports challenge from encoded signed public key and challenge

<comment>Param:</comment>
  <info>string</info>  <strong>$spkac</strong>  Expects a valid signed public key and challenge

<comment>Return:</comment>
  <info>string</info>  Returns the associated challenge string or NULL on failure.

<comment>See Also:</comment>
   * <strong>openssl_spki_new()</strong>
   * <strong>openssl_spki_verify()</strong>
   * <strong>openssl_spki_export()</strong>
   * <strong>openssl_get_md_methods()</strong>
   * <strong>openssl_csr_new()</strong>
   * <strong>openssl_csr_sign()</strong>


id: openssl_spki_new
type: function
doc:
<comment>Description:</comment>
  Generate a new signed public key and challenge
  
  Generates a signed public key and challenge using specified hashing algorithm

<comment>Param:</comment>
  <info>resource</info>  <strong>$privkey  </strong>  <strong>$privkey</strong> should be set to a private key that was previously generated by
                        <strong>openssl_pkey_new()</strong> (or otherwise obtained from the other openssl_pkey family
                        of functions). The corresponding public portion of the key will be used to
                        sign the CSR.
  <info>string  </info>  <strong>$challenge</strong>  The challenge associated to associate with the SPKAC
  <info>int     </info>  <strong>$algorithm</strong>  The digest algorithm. See openssl_get_md_method().

<comment>Return:</comment>
  <info>string</info>  Returns a signed public key and challenge string or NULL on failure.

<comment>See Also:</comment>
   * <strong>openssl_spki_verify()</strong>
   * <strong>openssl_spki_export_challenge()</strong>
   * <strong>openssl_spki_export()</strong>
   * <strong>openssl_get_md_methods()</strong>
   * <strong>openssl_csr_new()</strong>
   * <strong>openssl_csr_sign()</strong>


id: openssl_spki_verify
type: function
doc:
<comment>Description:</comment>
  Verifies a signed public key and challenge
  
  Validates the supplied signed public key and challenge

<comment>Param:</comment>
  <info>string</info>  <strong>$spkac</strong>  Expects a valid signed public key and challenge

<comment>Return:</comment>
  <info>string</info>  Returns a boolean on success or failure.

<comment>See Also:</comment>
   * <strong>openssl_spki_new()</strong>
   * <strong>openssl_spki_export_challenge()</strong>
   * <strong>openssl_spki_export()</strong>
   * <strong>openssl_get_md_methods()</strong>
   * <strong>openssl_csr_new()</strong>
   * <strong>openssl_csr_sign()</strong>


id: openssl_verify
type: function
doc:
<comment>Description:</comment>
  Verify signature
  
  <strong>openssl_verify()</strong> verifies that the <strong>$signature</strong> is correct for the specified <strong>$data</strong> using the public
  key associated with <strong>$pub_key_id</strong>. This must be the public key corresponding to the private key used
  for signing.

<comment>Param:</comment>
  <info>string</info>  <strong>$data         </strong>  The string of data used to generate the signature previously
  <info>string</info>  <strong>$signature    </strong>  A raw binary string, generated by <strong>openssl_sign()</strong> or similar means
  <info>mixed </info>  <strong>$pub_key_id   </strong>  <info>resource</info> - a key, returned by <strong>openssl_get_publickey()</strong>
                          
                          <info>string</info> - a PEM formatted key, example, "-----BEGIN PUBLIC KEY-----
                          MIIBCgK..."
  <info>mixed </info>  <strong>$signature_alg</strong>  <info>int</info> - one of these Signature Algorithms.
                          
                          <info>string</info> - a valid string returned by <strong>openssl_get_md_methods()</strong> example,
                          "sha1WithRSAEncryption" or "sha512".

<comment>Return:</comment>
  <info>int</info>  Returns 1 if the signature is correct, 0 if it is incorrect, and -1 on error.

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


id: openssl_x509_check_private_key
type: function
doc:
<comment>Description:</comment>
  Checks if a private key corresponds to a certificate
  
  Checks whether the given <strong>$key</strong> is the private key that corresponds to <strong>$cert</strong>.
  
  The function does not check if <strong>$key</strong> is indeed a private key or not. It merely compares the public
  materials (e.g. exponent and modulus of an RSA key) and/or key parameters (e.g. EC params of an EC
  key) of a key pair.
  
  This means, for example, that a public key could be given for <strong>$key</strong> and the function may return
  <info>true</info>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$cert</strong>  The certificate.
  <info>mixed</info>  <strong>$key </strong>  The private key.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$key</strong> is the private key that corresponds to <strong>$cert</strong>, or <info>false</info> otherwise.


id: openssl_x509_checkpurpose
type: function
doc:
<comment>Description:</comment>
  Verifies if a certificate can be used for a particular purpose
  
  <strong>openssl_x509_checkpurpose()</strong> examines a certificate to see if it can be used for the specified
  <strong>$purpose</strong>.

<comment>Param:</comment>
  <info>mixed </info>  <strong>$x509cert     </strong>  The examined certificate.
  <info>int   </info>  <strong>$purpose      </strong>  <strong>openssl_x509_checkpurpose()</strong>
                          purposesConstantDescriptionX509_PURPOSE_SSL_CLIENTCan the certificate be
                          used for the client side of an SSL connection?X509_PURPOSE_SSL_SERVERCan
                          the certificate be used for the server side of an SSL
                          connection?X509_PURPOSE_NS_SSL_SERVERCan the cert be used for Netscape SSL
                          server?X509_PURPOSE_SMIME_SIGNCan the cert be used to sign S/MIME
                          email?X509_PURPOSE_SMIME_ENCRYPTCan the cert be used to encrypt S/MIME
                          email?X509_PURPOSE_CRL_SIGNCan the cert be used to sign a certificate
                          revocation list (CRL)?X509_PURPOSE_ANYCan the cert be used for Any/All
                          purposes? These options are not bitfields - you may specify one only!
  <info>array </info>  <strong>$cainfo       </strong>  <strong>$cainfo</strong> should be an array of trusted CA files/dirs as described in
                          Certificate Verification.
  <info>string</info>  <strong>$untrustedfile</strong>  If specified, this should be the name of a PEM encoded file holding
                          certificates that can be used to help verify the certificate, although no
                          trust is placed in the certificates that come from that file.

<comment>Return:</comment>
  <info>int</info>  Returns <info>true</info> if the certificate can be used for the intended purpose, <info>false</info> if it cannot, or
       -1 on error.


id: openssl_x509_export
type: function
doc:
<comment>Description:</comment>
  Exports a certificate as a string
  
  <strong>openssl_x509_export()</strong> stores <strong>$x509</strong> into a string named by <strong>$output</strong> in a PEM encoded format.

<comment>Param:</comment>
  <info>mixed </info>  <strong>$x509  </strong>  Accesați Parametrii cheilor/certificatelor pentru a obține lista valorilor
                   valide.
  <info>string</info>  <strong>$output</strong>  On success, this will hold the PEM.
  <info>bool  </info>  <strong>$notext</strong>  Parametrul opțional <strong>$notext</strong> afectează detalierea ieșirilor; dacă este <info>false</info>
                   atunci informații suplimentare lizibile de către om sunt incluse în ieșiri.
                   Valoarea implicită a <strong>$notext</strong> este <info>true</info>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: openssl_x509_export_to_file
type: function
doc:
<comment>Description:</comment>
  Exports a certificate to file
  
  <strong>openssl_x509_export_to_file()</strong> stores <strong>$x509</strong> into a file named by <strong>$outfilename</strong> in a PEM encoded
  format.

<comment>Param:</comment>
  <info>mixed </info>  <strong>$x509       </strong>  Accesați Parametrii cheilor/certificatelor pentru a obține lista valorilor
                        valide.
  <info>string</info>  <strong>$outfilename</strong>  Path to the output file.
  <info>bool  </info>  <strong>$notext     </strong>  Parametrul opțional <strong>$notext</strong> afectează detalierea ieșirilor; dacă este <info>false</info>
                        atunci informații suplimentare lizibile de către om sunt incluse în ieșiri.
                        Valoarea implicită a <strong>$notext</strong> este <info>true</info>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: openssl_x509_fingerprint
type: function
doc:
<comment>Description:</comment>
  Calculates the fingerprint, or digest, of a given X.509 certificate
  
  <strong>openssl_x509_fingerprint()</strong> returns the digest of <strong>$x509</strong> as a string.

<comment>Param:</comment>
  <info>mixed </info>  <strong>$x509          </strong>  Accesați Parametrii cheilor/certificatelor pentru a obține lista
                           valorilor valide.
  <info>string</info>  <strong>$hash_algorithm</strong>  The digest method or hash algorithm to use, e.g. "sha256", one of
                           <strong>openssl_get_md_methods()</strong>.
  <info>bool  </info>  <strong>$raw_output    </strong>  When set to <info>true</info>, outputs raw binary data. <info>false</info> outputs lowercase
                           hexits.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the calculated certificate fingerprint as lowercase hexits
          unless <strong>$raw_output</strong> is set to <info>true</info> in which case the raw binary representation of the
          message digest is returned.
          
          Returns <info>false</info> on failure.


id: openssl_x509_free
type: function
doc:
<comment>Description:</comment>
  Free certificate resource
  
  <strong>openssl_x509_free()</strong> frees the certificate associated with the specified <strong>$x509cert</strong> resource from
  memory.

<comment>Param:</comment>
  <info>resource</info>  <strong>$x509cert</strong>  

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.


id: openssl_x509_parse
type: function
doc:
<comment>Description:</comment>
  Parse an X509 certificate and return the information as an array
  
  <strong>openssl_x509_parse()</strong> returns information about the supplied <strong>$x509cert</strong>, including fields such as
  subject name, issuer name, purposes, valid from and valid to dates etc.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$x509cert  </strong>  X509 certificate. See Key/Certificate parameters for a list of valid values.
  <info>bool </info>  <strong>$shortnames</strong>  <strong>$shortnames</strong> controls how the data is indexed in the array - if <strong>$shortnames</strong> is
                      <info>true</info> (the default) then fields will be indexed with the short name form,
                      otherwise, the long name form will be used - e.g.: CN is the shortname form of
                      commonName.

<comment>Return:</comment>
  <info>array</info>  The structure of the returned data is (deliberately) not yet documented, as it is still
         subject to change.


id: openssl_x509_read
type: function
doc:
<comment>Description:</comment>
  Parse an X.509 certificate and return a resource identifier for
    it
  
  <strong>openssl_x509_read()</strong> parses the certificate supplied by <strong>$x509certdata</strong> and returns a resource
  identifier for it.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$x509certdata</strong>  X509 certificate. See Key/Certificate parameters for a list of valid values.

<comment>Return:</comment>
  <info>resourcefalse</info>  Returns a resource identifier on success sau <info>false</info> în cazul eșecului.


id: openssl_x509_verify
type: function
doc:
<comment>Description:</comment>
  Verifies digital signature of x509 certificate against a public key
  
  <strong>openssl_x509_verify()</strong> verifies that the  <strong>$x509</strong> certificate was signed by the private  key
  corresponding to public key <strong>$pub_key_id</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$x509      </strong>  Accesați Parametrii cheilor/certificatelor pentru a obține lista valorilor
                      valide.
  <info>mixed</info>  <strong>$pub_key_id</strong>  <info>resource</info> - a key, returned by <strong>openssl_get_publickey()</strong>
                      
                      <info>string</info> - a PEM formatted key, example, "-----BEGIN PUBLIC KEY-----
                      MIIBCgK..."

<comment>Return:</comment>
  <info>int</info>  Returns 1 if the signature is correct, 0 if it is incorrect, and -1 on error.

<comment>See Also:</comment>
   * <strong>openssl_verify()</strong>
   * <strong>openssl_get_publickey()</strong>


id: ord
type: function
doc:
<comment>Description:</comment>
  Convert the first byte of a string to a value between 0 and 255
  
  Interprets the binary value of the first byte of <strong>$character</strong> as an unsigned integer between 0 and
  255.
  
  If the string is in a single-byte encoding, such as ASCII, ISO-8859, or Windows 1252, this is
  equivalent to returning the position of a character in the character set's mapping table. However,
  note that this function is not aware of any string encoding, and in particular will never identify
  a Unicode code point in a multi-byte encoding such as UTF-8 or UTF-16.
  
  This function complements <strong>chr()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$character</strong>  A character.

<comment>Return:</comment>
  <info>int</info>  An integer between 0 and 255.

<comment>See Also:</comment>
   * <strong>chr()</strong>
   * An ASCII-table
   * <strong>mb_ord()</strong>


id: output_add_rewrite_var
type: function
doc:
<comment>Description:</comment>
  Add URL rewriter values
  
  This function adds another name/value pair to the URL rewrite mechanism. The name and value will
  be added to URLs (as GET parameter) and forms (as hidden input fields) the same way as the session
  ID when transparent URL rewriting is enabled with session.use_trans_sid.
  
  This function's behaviour is controlled by the url_rewriter.tags and url_rewriter.hosts php.ini
  parameters.
  
  Note that this function can be successfully called at most once per request.
  
  Calling this function will implicitly start output buffering if it is not active already.

<comment>Param:</comment>
  <info>string</info>  <strong>$name </strong>  The variable name.
  <info>string</info>  <strong>$value</strong>  The variable value.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>output_reset_rewrite_vars()</strong>
   * <strong>ob_flush()</strong>
   * <strong>ob_list_handlers()</strong>
   * url_rewriter.tags
   * url_rewriter.hosts
   * session.trans_sid_tags
   * session.trans_sid_hosts


id: output_reset_rewrite_vars
type: function
doc:
<comment>Description:</comment>
  Reset URL rewriter values
  
  This function resets the URL rewriter and removes all rewrite variables previously set by the
  <strong>output_add_rewrite_var()</strong> function.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>output_add_rewrite_var()</strong>
   * <strong>ob_flush()</strong>
   * <strong>ob_list_handlers()</strong>
   * url_rewriter.tags
   * url_rewriter.hosts
   * session.trans_sid_tags
   * session.trans_sid_hosts


id: pack
type: function
doc:
<comment>Description:</comment>
  Pack data into binary string
  
  Pack given arguments into a binary string according to <strong>$format</strong>.
  
  The idea for this function was taken from Perl and all formatting codes work the same as in Perl.
  However, there are some formatting codes that are missing such as Perl's "u" format code.
  
  Note that the distinction between signed and unsigned values only affects the function <strong>unpack()</strong>,
  where as function <strong>pack()</strong> gives the same result for signed and unsigned format codes.

<comment>Param:</comment>
  <info>string</info>  <strong>$format</strong>  The <strong>$format</strong> string consists of format codes followed by an optional repeater
                   argument. The repeater argument can be either an integer value or <return>*</return> for repeating
                   to the end of the input data. For a, A, h, H the repeat count specifies how many
                   characters of one data argument are taken, for @ it is the absolute position
                   where to put the next data, for everything else the repeat count specifies how
                   many data arguments are consumed and packed into the resulting binary string.
                   
                   Currently implemented formats are: <strong>pack()</strong> format
                   charactersCodeDescriptionaNUL-padded stringASPACE-padded stringhHex string, low
                   nibble firstHHex string, high nibble firstcsigned charCunsigned charssigned short
                   (always 16 bit, machine byte order)Sunsigned short (always 16 bit, machine byte
                   order)nunsigned short (always 16 bit, big endian byte order)vunsigned short
                   (always 16 bit, little endian byte order)isigned integer (machine dependent size
                   and byte order)Iunsigned integer (machine dependent size and byte order)lsigned
                   long (always 32 bit, machine byte order)Lunsigned long (always 32 bit, machine
                   byte order)Nunsigned long (always 32 bit, big endian byte order)Vunsigned long
                   (always 32 bit, little endian byte order)qsigned long long (always 64 bit,
                   machine byte order)Qunsigned long long (always 64 bit, machine byte
                   order)Junsigned long long (always 64 bit, big endian byte order)Punsigned long
                   long (always 64 bit, little endian byte order)ffloat (machine dependent size and
                   representation)gfloat (machine dependent size, little endian byte order)Gfloat
                   (machine dependent size, big endian byte order)ddouble (machine dependent size
                   and representation)edouble (machine dependent size, little endian byte
                   order)Edouble (machine dependent size, big endian byte order)xNUL byteXBack up
                   one byteZNUL-padded string (new in PHP 5.5)@NUL-fill to absolute position
  <info>mixed </info>  <strong>$values</strong>  

<comment>Return:</comment>
  <info>string</info>  Returns a binary string containing data,  sau <info>false</info> în cazul eșecului.

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


id: parallel\Channel::__construct
type: function
doc:
<comment>Description:</comment>
  Channel Construction
  
  Shall make an anonymous unbuffered channel
  
  Shall make an anonymous buffered channel with the given capacity

<comment>Param:</comment>
  <info>int</info>  <strong>$capacity</strong>  May be <info>Channel::Infinite</info> or a positive integer


id: parallel\Channel::close
type: function
doc:
<comment>Description:</comment>
  Closing
  
  Shall close this channel

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Channel::make
type: function
doc:
<comment>Description:</comment>
  Access
  
  Shall make an unbuffered channel with the given name
  
  Shall make a buffered channel with the given name and capacity

<comment>Param:</comment>
  <info>string</info>  <strong>$name    </strong>  The name of the channel.
  <info>int   </info>  <strong>$capacity</strong>  May be <info>Channel::Infinite</info> or a positive integer

<comment>Return:</comment>
  <info>Channel</info>  


id: parallel\Channel::open
type: function
doc:
<comment>Description:</comment>
  Access
  
  Shall open the channel with the given name

<comment>Return:</comment>
  <info>Channel</info>  


id: parallel\Channel::recv
type: function
doc:
<comment>Description:</comment>
  Sharing
  
  Shall recv a value from this channel

<comment>Return:</comment>
  <info>mixed</info>  


id: parallel\Channel::send
type: function
doc:
<comment>Description:</comment>
  Sharing
  
  Shall send the given value on this channel

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Events::addChannel
type: function
doc:
<comment>Description:</comment>
  Targets
  
  Shall watch for events on the given <strong>$channel</strong>

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Events::addFuture
type: function
doc:
<comment>Description:</comment>
  Targets
  
  Shall watch for events on the given <strong>$future</strong>

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Events::poll
type: function
doc:
<comment>Description:</comment>
  Polling
  
  Shall poll for the next event

<comment>Return:</comment>
  <info>Eventnull</info>  Should there be no targets remaining, null shall be returned
             
             Should this be a non-blocking loop, and blocking would occur, null shall be returned
             
             Otherwise, the <class>parallel\Events\Event</class> returned describes the event.


id: parallel\Events::remove
type: function
doc:
<comment>Description:</comment>
  Targets
  
  Shall remove the given <strong>$target</strong>

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Events::setBlocking
type: function
doc:
<comment>Description:</comment>
  Behaviour
  
  By default when events are polled for, blocking will occur (at the PHP level) until the first
  event can be returned: Setting blocking mode to false will cause poll to return control if the
  first target polled is not ready.
  
  This differs from setting a timeout of 0 with parallel\Events::setTimeout, since a timeout of 0,
  while allowed, will cause an exception  to be raised, which may be extremely slow or wasteful if
  what is really desired is non-blocking behaviour.
  
  A non-blocking loop effects the return value of parallel\Events::poll, such that it may be null
  before all events have been processed.
  
  Shall set blocking mode

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Events::setInput
type: function
doc:
<comment>Description:</comment>
  Input
  
  Shall set <strong>$input</strong> for this event loop

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Events::setTimeout
type: function
doc:
<comment>Description:</comment>
  Behaviour
  
  By default when events are polled for, blocking will occur (at the PHP level) until the first
  event can be returned: Setting the timeout causes an exception to be thrown when the timeout is
  reached.
  
  This differs from setting blocking mode to false with parallel\Events::setBlocking, which will not
  cause an exception to be thrown.
  
  Shall set the timeout in microseconds

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Events\Input::add
type: function
doc:
<comment>Description:</comment>
  Inputs
  
  Shall set input for the given target

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Events\Input::clear
type: function
doc:
<comment>Description:</comment>
  Inputs
  
  Shall remove input for all targets

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Events\Input::remove
type: function
doc:
<comment>Description:</comment>
  Inputs
  
  Shall remove input for the given target

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Future::cancel
type: function
doc:
<comment>Description:</comment>
  Cancellation
  
  Shall try to cancel the task
  
  If task is running, it will be interrupted.
  
  Internal function calls in progress cannot be interrupted.

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


id: parallel\Future::cancelled
type: function
doc:
<comment>Description:</comment>
  State Detection
  
  Shall indicate if the task was cancelled

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


id: parallel\Future::done
type: function
doc:
<comment>Description:</comment>
  State Detection
  
  Shall indicate if the task is completed

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


id: parallel\Future::value
type: function
doc:
<comment>Description:</comment>
  Resolution
  
  Shall return (and if necessary wait for) return from task

<comment>Return:</comment>
  <info>mixed</info>  


id: parallel\Runtime::__construct
type: function
doc:
<comment>Description:</comment>
  Runtime Construction
  
  Shall construct a new runtime without bootstrapping.
  
  Shall construct a bootstrapped runtime.

<comment>Param:</comment>
  <info>string</info>  <strong>$bootstrap</strong>  The location of a bootstrap file, generally an autoloader.


id: parallel\Runtime::close
type: function
doc:
<comment>Description:</comment>
  Runtime Graceful Join
  
  Shall request that the runtime shutsdown.
  
  Tasks scheduled for execution will be executed before the shutdown occurs.

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Runtime::kill
type: function
doc:
<comment>Description:</comment>
  Runtime Join
  
  Shall attempt to force the runtime to shutdown.
  
  Tasks scheduled for execution will not be executed, the currently running task shall be
  interrupted.
  
  Internal function calls in progress cannot be interrupted.

<comment>Return:</comment>
  <info>void</info>  


id: parallel\Runtime::run
type: function
doc:
<comment>Description:</comment>
  Execution
  
  Shall schedule <strong>$task</strong> for execution in parallel.
  
  Shall schedule <strong>$task</strong> for execution in parallel, passing <strong>$argv</strong> at execution time.

<comment>Param:</comment>
  <info>Closure</info>  <strong>$task</strong>  A <class>Closure</class> with specific characteristics.
  <info>array  </info>  <strong>$argv</strong>  An <info>array</info> of arguments with specific characteristics to be passed to <strong>$task</strong> at
                  execution time.

<comment>Return:</comment>
  <info>Futurenull</info>  The return <info>parallel\Future</info> must not be ignored when the task contains a return or
              throw statement.


id: parallel\Sync::__construct
type: function
doc:
<comment>Description:</comment>
  Construction
  
  Shall construct a new synchronization object with no value
  
  Shall construct a new synchronization object containing the given scalar value


id: parallel\Sync::__invoke
type: function
doc:
<comment>Description:</comment>
  Synchronization
  
  Shall exclusively enter into the critical code


id: parallel\Sync::get
type: function
doc:
<comment>Description:</comment>
  Access
  
  Shall atomically return the syncrhonization objects value

<comment>Return:</comment>
  <info>scalar</info>  


id: parallel\Sync::notify
type: function
doc:
<comment>Description:</comment>
  Synchronization
  
  Shall notify one (by default) or all threads waiting on the synchronization object


id: parallel\Sync::set
type: function
doc:
<comment>Description:</comment>
  Access
  
  Shall atomically set the value of the synchronization object


id: parallel\Sync::wait
type: function
doc:
<comment>Description:</comment>
  Synchronization
  
  Shall wait for notification on this synchronization object


id: parallel\bootstrap
type: function
doc:
<comment>Description:</comment>
  Bootstrapping
  
  Shall use the provided <strong>$file</strong> to bootstrap all runtimes created for automatic scheduling via
  <strong>parallel\run()</strong>.

<comment>Return:</comment>
  <info>void</info>  

<comment>See Also:</comment>
   * 


id: parallel\run
type: function
doc:
<comment>Description:</comment>
  Execution
  
  Shall schedule <strong>$task</strong> for execution in parallel.
  
  Shall schedule <strong>$task</strong> for execution in parallel, passing <strong>$argv</strong> at execution time.

<comment>Param:</comment>
  <info>Closure</info>  <strong>$task</strong>  A <class>Closure</class> with specific characteristics.
  <info>array  </info>  <strong>$argv</strong>  An <info>array</info> of arguments with specific characteristics to be passed to <strong>$task</strong> at
                  execution time.

<comment>Return:</comment>
  <info>Futurenull</info>  The return <info>parallel\Future</info> must not be ignored when the task contains a return or
              throw statement.

<comment>See Also:</comment>
   * 


id: parse_ini_file
type: function
doc:
<comment>Description:</comment>
  Parse a configuration file
  
  <strong>parse_ini_file()</strong> loads in the ini file specified in <strong>$filename</strong>, and returns the settings in it in
  an associative array.
  
  The structure of the ini file is the same as the php.ini's.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename        </strong>  The filename of the ini file being parsed. If a relative path is used,
                             it is evaluated relative to the current working directory, then the
                             include_path.
  <info>bool  </info>  <strong>$process_sections</strong>  By setting the <strong>$process_sections</strong> parameter to <info>true</info>, you get a
                             multidimensional array, with the section names and settings included.
                             The default for <strong>$process_sections</strong> is <info>false</info>
  <info>int   </info>  <strong>$scanner_mode    </strong>  Can either be <info>INI_SCANNER_NORMAL</info> (default) or  <info>INI_SCANNER_RAW</info>. If
                             <info>INI_SCANNER_RAW</info>  is supplied, then option values will not be parsed.
                             
                             Începând cu PHP 5.6.1 poate de asemenea fi specificat ca
                             <info>INI_SCANNER_TYPED</info>. În acest mod tipurile boolean, null și
                             integer sunt păstrate, când este posibil. Valorile string <return>"true"</return>,
                             <return>"on"</return> și <return>"yes"</return> sunt convertite în <info>true</info>.
                             <return>"false"</return>, <return>"off"</return>, <return>"no"</return> și
                             <return>"none"</return> sunt considerate <info>false</info>. <return>"null"</return>
                             este convertit în <info>null</info> în modul cu tipuri. De asemenea toate șirurile
                             numerice
                             sunt convertite în integer, dacă acest lucru este posibil.

<comment>Return:</comment>
  <info>arrayfalse</info>  The settings are returned as an associative <info>array</info> on success, and <info>false</info> on failure.

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


id: parse_ini_string
type: function
doc:
<comment>Description:</comment>
  Parse a configuration string
  
  <strong>parse_ini_string()</strong> returns the settings in string <strong>$ini_string</strong> in an associative array.
  
  The structure of the ini string is the same as the php.ini's.

<comment>Param:</comment>
  <info>string</info>  <strong>$ini_string      </strong>  The contents of the ini file being parsed.
  <info>bool  </info>  <strong>$process_sections</strong>  By setting the <strong>$process_sections</strong> parameter to <info>true</info>, you get a
                             multidimensional array, with the section names and settings included.
                             The default for <strong>$process_sections</strong> is <info>false</info>
  <info>int   </info>  <strong>$scanner_mode    </strong>  Can either be <info>INI_SCANNER_NORMAL</info> (default) or  <info>INI_SCANNER_RAW</info>. If
                             <info>INI_SCANNER_RAW</info>  is supplied, then option values will not be parsed.
                             
                             Începând cu PHP 5.6.1 poate de asemenea fi specificat ca
                             <info>INI_SCANNER_TYPED</info>. În acest mod tipurile boolean, null și
                             integer sunt păstrate, când este posibil. Valorile string <return>"true"</return>,
                             <return>"on"</return> și <return>"yes"</return> sunt convertite în <info>true</info>.
                             <return>"false"</return>, <return>"off"</return>, <return>"no"</return> și
                             <return>"none"</return> sunt considerate <info>false</info>. <return>"null"</return>
                             este convertit în <info>null</info> în modul cu tipuri. De asemenea toate șirurile
                             numerice
                             sunt convertite în integer, dacă acest lucru este posibil.

<comment>Return:</comment>
  <info>arrayfalse</info>  The settings are returned as an associative <info>array</info> on success, and <info>false</info> on failure.

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


id: parse_str
type: function
doc:
<comment>Description:</comment>
  Parses the string into variables
  
  Parses <strong>$string</strong> as if it were the query string passed via a URL and sets variables in the current
  scope (or in the array if <strong>$result</strong> is provided).

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The input string.
  <info>array </info>  <strong>$result</strong>  If the second parameter <strong>$result</strong> is present, variables are stored in this variable
                   as array elements instead.
                   
                   Using this function without the <strong>$result</strong> parameter is highly DISCOURAGED and
                   DEPRECATED as of PHP 7.2.
                   
                   Dynamically setting variables in function's scope suffers from exactly same
                   problems as register_globals.
                   
                   Read section on security of Using Register Globals explaining why it is
                   dangerous.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

<comment>See Also:</comment>
   * <strong>parse_url()</strong>
   * <strong>pathinfo()</strong>
   * <strong>http_build_query()</strong>
   * <strong>urldecode()</strong>


id: parse_url
type: function
doc:
<comment>Description:</comment>
  Parse a URL and return its components
  
  This function parses a URL and returns an associative array containing any of the various
  components of the URL that are present. The values of the array elements are not URL decoded.
  
  This function is not meant to validate the given URL, it only breaks it up into the above listed
  parts. Partial URLs are also accepted, <strong>parse_url()</strong> tries its best to parse them correctly.

<comment>Param:</comment>
  <info>string</info>  <strong>$url      </strong>  The URL to parse. Invalid characters are replaced by <return>_</return>.
  <info>int   </info>  <strong>$component</strong>  Specify one of <info>PHP_URL_SCHEME</info>, <info>PHP_URL_HOST</info>, <info>PHP_URL_PORT</info>, <info>PHP_URL_USER</info>,
                      <info>PHP_URL_PASS</info>, <info>PHP_URL_PATH</info>, <info>PHP_URL_QUERY</info> or <info>PHP_URL_FRAGMENT</info> to retrieve just
                      a specific URL component as a <info>string</info> (except when <info>PHP_URL_PORT</info> is given, in
                      which case the return value will be an <info>int</info>).

<comment>Return:</comment>
  <info>mixed</info>  On seriously malformed URLs, <strong>parse_url()</strong> may return <info>false</info>.
         
         If the <strong>$component</strong> parameter is omitted, an associative <info>array</info> is returned. At least one
         element will be present within the array. Potential keys within this array are: scheme -
         e.g. http hostportuserpasspathquery - after the question mark <return>?</return> fragment - after the
         hashmark <return>#</return>
         
         scheme - e.g. http
         
         host
         
         port
         
         user
         
         pass
         
         path
         
         query - after the question mark <return>?</return>
         
         fragment - after the hashmark <return>#</return>
         
         If the <strong>$component</strong> parameter is specified, <strong>parse_url()</strong> returns a <info>string</info> (or an <info>int</info>, in the
         case of <info>PHP_URL_PORT</info>) instead of an <info>array</info>. If the requested component doesn't exist within
         the given URL, <info>null</info> will be returned.

<comment>See Also:</comment>
   * <strong>pathinfo()</strong>
   * <strong>parse_str()</strong>
   * <strong>http_build_query()</strong>
   * <strong>dirname()</strong>
   * <strong>basename()</strong>
   * RFC 3986


id: passthru
type: function
doc:
<comment>Description:</comment>
  Execute an external program and display raw output
  
  The <strong>passthru()</strong> function is similar to the <strong>exec()</strong> function in that it executes a <strong>$command</strong>. This
  function should be used in place of <strong>exec()</strong> or <strong>system()</strong> when the output from the Unix command is
  binary data which needs to be passed directly back to the browser.  A common use for this is to
  execute something like the pbmplus utilities that can output an image stream directly.  By setting
  the Content-type to <return>image/gif</return> and then calling a pbmplus program to output a gif, you can create
  PHP scripts that output images directly.

<comment>Param:</comment>
  <info>string</info>  <strong>$command   </strong>  The command that will be executed.
  <info>int   </info>  <strong>$return_var</strong>  If the <strong>$return_var</strong> argument is present, the  return status of the Unix
                       command will be placed here.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

<comment>See Also:</comment>
   * <strong>exec()</strong>
   * <strong>system()</strong>
   * <strong>popen()</strong>
   * <strong>escapeshellcmd()</strong>
   * backtick operator


id: password_algos
type: function
doc:
<comment>Description:</comment>
  Get available password hashing algorithm IDs
  
  Returns a complete list of all registered password hashing algorithm IDs as an <info>array</info> of <info>string</info>s.

<comment>Return:</comment>
  <info>array</info>  Returns the available password hashing algorithm IDs.


id: password_get_info
type: function
doc:
<comment>Description:</comment>
  Returns information about the given hash
  
  When passed in a valid hash created by an algorithm supported by <strong>password_hash()</strong>, this function
  will return an array of information about that hash.

<comment>Param:</comment>
  <info>string</info>  <strong>$hash</strong>  O valoare de dispersie creată cu
                 <strong>password_hash()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array with three elements:  <return>algo</return>, which will match a password
         algorithm constant<return>algoName</return>, which has the human readable name of the algorithm <return>options</return>,
         which includes the options provided when calling <strong>password_hash()</strong>
         
         <return>algo</return>, which will match a password algorithm constant
         
         <return>algoName</return>, which has the human readable name of the algorithm
         
         <return>options</return>, which includes the options provided when calling <strong>password_hash()</strong>


id: password_hash
type: function
doc:
<comment>Description:</comment>
  Creates a password hash
  
  <strong>password_hash()</strong> creates a new password hash using a strong one-way hashing algorithm.
  <strong>password_hash()</strong> is compatible with <strong>crypt()</strong>. Therefore, password hashes created by <strong>crypt()</strong> can be
  used with <strong>password_hash()</strong>.
  
  The following algorithms are currently supported:
  
  <info>PASSWORD_DEFAULT</info> - Use the bcrypt algorithm (default as of PHP 5.5.0). Note that this constant is
  designed to change over time as new and stronger algorithms are added to PHP. For that reason, the
  length of the result from using this identifier can change over time. Therefore, it is recommended
  to store the result in a database column that can expand beyond 60 characters (255 characters
  would be a good choice). <info>PASSWORD_BCRYPT</info> - Use the <info>CRYPT_BLOWFISH</info> algorithm to create the hash.
  This will produce a standard <strong>crypt()</strong> compatible hash using the "$2y$" identifier. The result will
  always be a 60 character string,  sau <info>false</info> în cazul eșecului. <info>PASSWORD_ARGON2I</info> - Use the Argon2i
  hashing algorithm to create the hash. This algorithm is only available if PHP has been compiled
  with Argon2 support. <info>PASSWORD_ARGON2ID</info> - Use the Argon2id hashing algorithm to create the hash.
  This algorithm is only available if PHP has been compiled with Argon2 support.
  
  <info>PASSWORD_DEFAULT</info> - Use the bcrypt algorithm (default as of PHP 5.5.0). Note that this constant is
  designed to change over time as new and stronger algorithms are added to PHP. For that reason, the
  length of the result from using this identifier can change over time. Therefore, it is recommended
  to store the result in a database column that can expand beyond 60 characters (255 characters
  would be a good choice).
  
  <info>PASSWORD_BCRYPT</info> - Use the <info>CRYPT_BLOWFISH</info> algorithm to create the hash. This will produce a
  standard <strong>crypt()</strong> compatible hash using the "$2y$" identifier. The result will always be a 60
  character string,  sau <info>false</info> în cazul eșecului.
  
  <info>PASSWORD_ARGON2I</info> - Use the Argon2i hashing algorithm to create the hash. This algorithm is only
  available if PHP has been compiled with Argon2 support.
  
  <info>PASSWORD_ARGON2ID</info> - Use the Argon2id hashing algorithm to create the hash. This algorithm is only
  available if PHP has been compiled with Argon2 support.
  
  Supported options for <info>PASSWORD_BCRYPT</info>:
  
  <return>salt</return> (<info>string</info>) - to manually provide a salt to use when hashing the password. Note that this will
  override and prevent a salt from being automatically generated.  If omitted, a random salt will be
  generated by <strong>password_hash()</strong> for each password hashed. This is the intended mode of operation.
  The salt option has been deprecated as of PHP 7.0.0. It is now preferred to simply use the salt
  that is generated by default. <return>cost</return> (<info>int</info>) - which denotes the algorithmic cost that should be used.
  Examples of these values can be found on the <strong>crypt()</strong> page.  If omitted, a default value of <return>10</return> will
  be used. This is a good baseline cost, but you may want to consider increasing it depending on
  your hardware.
  
  <return>salt</return> (<info>string</info>) - to manually provide a salt to use when hashing the password. Note that this will
  override and prevent a salt from being automatically generated.
  
  If omitted, a random salt will be generated by <strong>password_hash()</strong> for each password hashed. This is
  the intended mode of operation.
  
  The salt option has been deprecated as of PHP 7.0.0. It is now preferred to simply use the salt
  that is generated by default.
  
  <return>cost</return> (<info>int</info>) - which denotes the algorithmic cost that should be used.  Examples of these values can
  be found on the <strong>crypt()</strong> page.
  
  If omitted, a default value of <return>10</return> will be used. This is a good baseline cost, but you may want to
  consider increasing it depending on your hardware.
  
  Supported options for <info>PASSWORD_ARGON2I</info> and <info>PASSWORD_ARGON2ID</info>:
  
  <return>memory_cost</return> (<info>int</info>) - Maximum memory (in kibibytes) that may  be used to compute the Argon2 hash.
  Defaults to <info>PASSWORD_ARGON2_DEFAULT_MEMORY_COST</info>. <return>time_cost</return> (<info>int</info>) - Maximum amount of time it may
  take to compute the Argon2 hash. Defaults to <info>PASSWORD_ARGON2_DEFAULT_TIME_COST</info>. <return>threads</return> (<info>int</info>) -
  Number of threads to use for computing  the Argon2 hash. Defaults to
  <info>PASSWORD_ARGON2_DEFAULT_THREADS</info>.
  
  <return>memory_cost</return> (<info>int</info>) - Maximum memory (in kibibytes) that may  be used to compute the Argon2 hash.
  Defaults to <info>PASSWORD_ARGON2_DEFAULT_MEMORY_COST</info>.
  
  <return>time_cost</return> (<info>int</info>) - Maximum amount of time it may  take to compute the Argon2 hash. Defaults to
  <info>PASSWORD_ARGON2_DEFAULT_TIME_COST</info>.
  
  <return>threads</return> (<info>int</info>) - Number of threads to use for computing  the Argon2 hash. Defaults to
  <info>PASSWORD_ARGON2_DEFAULT_THREADS</info>.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  The user's password.
                     
                     Using the <info>PASSWORD_BCRYPT</info> as the algorithm, will result in the <strong>$password</strong>
                     parameter being truncated to a maximum length of 72 characters.
  <info>mixed </info>  <strong>$algo    </strong>  O constantă a algoritmului de parole ce denotă
                     algoritmul ce va fi utilizat pentru dispersarea parolei.
  <info>array </info>  <strong>$options </strong>  Un tablou asociativ ce conține opțiuni.
                     Accesați 
                     constantele algoritmilor pentru parole pentru documentație referitoare la
                     opțiunile fiecărui algoritm.
                     
                     If omitted, a random salt will be created and the default cost will be used.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the hashed password,  sau <info>false</info> în cazul eșecului.
               
               The used algorithm, cost and salt are returned as part of the hash. Therefore, all
               information that's needed to verify the hash is included in it. This allows the
               <strong>password_verify()</strong> function to verify the hash without needing separate storage for
               the salt or algorithm information.

<comment>See Also:</comment>
   * <strong>password_verify()</strong>
   * <strong>crypt()</strong>
   * userland implementation
   * <strong>sodium_crypto_pwhash_str()</strong>


id: password_needs_rehash
type: function
doc:
<comment>Description:</comment>
  Checks if the given hash matches the given options
  
  This function checks to see if the supplied hash implements the algorithm and options provided. If
  not, it is assumed that the hash needs to be rehashed.

<comment>Param:</comment>
  <info>string</info>  <strong>$hash   </strong>  O valoare de dispersie creată cu
                    <strong>password_hash()</strong>.
  <info>mixed </info>  <strong>$algo   </strong>  O constantă a algoritmului de parole ce denotă
                    algoritmul ce va fi utilizat pentru dispersarea parolei.
  <info>array </info>  <strong>$options</strong>  Un tablou asociativ ce conține opțiuni.
                    Accesați 
                    constantele algoritmilor pentru parole pentru documentație referitoare la
                    opțiunile fiecărui algoritm.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the hash should be rehashed to match the given <strong>$algo</strong> and <strong>$options</strong>, or <info>false</info>
        otherwise.


id: password_verify
type: function
doc:
<comment>Description:</comment>
  Verifies that a password matches a hash
  
  Verifies that the given hash matches the given password.
  
  Note that <strong>password_hash()</strong> returns the algorithm, cost and salt  as part of the returned hash.
  Therefore, all information that's needed to verify the hash is included in it. This allows the
  verify function to verify the hash without needing separate storage for the salt or algorithm
  information.
  
  This function is safe against timing attacks.

<comment>Param:</comment>
  <info>string</info>  <strong>$password</strong>  The user's password.
  <info>string</info>  <strong>$hash    </strong>  O valoare de dispersie creată cu
                     <strong>password_hash()</strong>.

<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>password_hash()</strong>
   * userland implementation
   * <strong>sodium_crypto_pwhash_str_verify()</strong>


id: pathinfo
type: function
doc:
<comment>Description:</comment>
  Returns information about a file path
  
  <strong>pathinfo()</strong> returns information about <strong>$path</strong>: either an associative array or a string, depending on
  <strong>$flags</strong>.
  
  For information on retrieving the current path info, read the section on  predefined reserved
  variables.
  
  <strong>pathinfo()</strong> is locale aware, so for it to parse a path containing multibyte characters correctly,
  the matching locale must be set using the <strong>setlocale()</strong> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$path </strong>  The path to be parsed.
  <info>int   </info>  <strong>$flags</strong>  If present, specifies a specific element to be returned; one of <info>PATHINFO_DIRNAME</info>,
                  <info>PATHINFO_BASENAME</info>, <info>PATHINFO_EXTENSION</info> or <info>PATHINFO_FILENAME</info>.
                  
                  If <strong>$flags</strong> is not specified, returns all available elements.

<comment>Return:</comment>
  <info>arraystring</info>  If the <strong>$flags</strong> parameter is not passed, an associative <info>array</info> containing the following
               elements is returned: <return>dirname</return>, <return>basename</return>, <return>extension</return> (if any), and <return>filename</return>.
               
               If the <strong>$path</strong> has more than one extension, <info>PATHINFO_EXTENSION</info> returns only the last
               one and <info>PATHINFO_FILENAME</info> only strips the last one. (see first example below).
               
               If the <strong>$path</strong> does not have an extension, no <return>extension</return> element will be returned (see
               second example below).
               
               If the <return>basename</return> of the <strong>$path</strong> starts with a dot, the following characters are
               interpreted as <return>extension</return>, and the <return>filename</return> is empty (see third example below).
               
               If <strong>$flags</strong> is present, returns a <info>string</info> containing the requested element.

<comment>See Also:</comment>
   * <strong>dirname()</strong>
   * <strong>basename()</strong>
   * <strong>parse_url()</strong>
   * <strong>realpath()</strong>


id: pclose
type: function
doc:
<comment>Description:</comment>
  Closes process file pointer
  
  Closes a file pointer to a pipe opened by <strong>popen()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$handle</strong>  The file pointer must be valid, and must have been returned by a successful
                     call to <strong>popen()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the termination status of the process that was run. In case of  an error then <return>-1</return> is
       returned.
       
       Dacă PHP a fost compilat cu --enable-sigchild, valoarea întoarsă de această funcție este
       nedefinită.

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


id: pcntl_alarm
type: function
doc:
<comment>Description:</comment>
  Set an alarm clock for delivery of a signal
  
  Creates a timer that will send a <info>SIGALRM</info> signal to the process after the given number of seconds.
  Any call to <strong>pcntl_alarm()</strong> will cancel any previously set alarm.

<comment>Param:</comment>
  <info>int</info>  <strong>$seconds</strong>  The number of seconds to wait. If <strong>$seconds</strong> is zero, no new alarm is created.

<comment>Return:</comment>
  <info>int</info>  Returns the time in seconds that any previously scheduled alarm had remaining before it was
       to be delivered, or <return>0</return> if there was no previously scheduled alarm.


id: pcntl_async_signals
type: function
doc:
<comment>Description:</comment>
  Enable/disable asynchronous signal handling or return the old setting
  
  If the <strong>$on</strong> parameter is omitted, <strong>pcntl_async_signals()</strong> returns whether asynchronous signal
  handling is enabled. Otherwise, asynchronous signal handling is enabled or disabled.

<comment>Param:</comment>
  <info>bool</info>  <strong>$on</strong>  Whether asynchronous signal handling should be enabled.

<comment>Return:</comment>
  <info>bool</info>  When used as getter (that is without the optional parameter) it returns whether asynchronous
        signal handling is enabled. When used as setter (that is with the optional parameter given),
        it returns whether asynchronous signal handling was enabled before the function call.

<comment>See Also:</comment>
   * declare


id: pcntl_errno
type: function
doc:
<comment>Description:</comment>
  Pseudonim pentru pcntl_get_last_error
  
  Această funcție este pseudonim pentru:  <strong>pcntl_get_last_error()</strong>


id: pcntl_exec
type: function
doc:
<comment>Description:</comment>
  Executes specified program in current process space
  
  Executes the program with the given arguments.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  <strong>$path</strong> must be the path to a binary executable or a script with a valid path
                 pointing to an executable in the shebang ( #!/usr/local/bin/perl for example) as
                 the first line.  See your system's man execve(2) page for additional information.
  <info>array </info>  <strong>$args</strong>  <strong>$args</strong> is an array of argument strings passed to the program.
  <info>array </info>  <strong>$envs</strong>  <strong>$envs</strong> is an array of strings which are passed as environment to the program.  The
                 array is in the format of name =&gt; value, the key being the name of the
                 environmental variable and the value being the value of that variable.

<comment>Return:</comment>
  <info>void</info>  Întoarce <info>null</info> în cazul succesului sau <info>false</info> în cazul eșecului.


id: pcntl_fork
type: function
doc:
<comment>Description:</comment>
  Forks the currently running process
  
  The <strong>pcntl_fork()</strong> function creates a child process that differs from the parent process only in its
  PID and PPID. Please see your system's fork(2) man page for specific details as to how fork works
  on your system.

<comment>Return:</comment>
  <info>int</info>  On success, the PID of the child process is returned in the parent's thread of execution, and
       a 0 is returned in the child's thread of execution.  On failure, a -1 will be returned in the
       parent's context, no child process will be created, and a PHP error is raised.

<comment>See Also:</comment>
   * <strong>pcntl_waitpid()</strong>
   * <strong>pcntl_signal()</strong>
   * <strong>setproctitle()</strong>


id: pcntl_get_last_error
type: function
doc:
<comment>Description:</comment>
  Retrieve the error number set by the last pcntl function which failed
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>int</info>  Returns error code.

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


id: pcntl_getpriority
type: function
doc:
<comment>Description:</comment>
  Get the priority of any process
  
  <strong>pcntl_getpriority()</strong> gets the priority of <strong>$pid</strong>. Because priority levels can differ between system
  types and kernel versions, please see your system's getpriority(2) man page for specific details.

<comment>Param:</comment>
  <info>int</info>  <strong>$pid               </strong>  If not specified, the pid of the current process is used.
  <info>int</info>  <strong>$process_identifier</strong>  One of <info>PRIO_PGRP</info>, <info>PRIO_USER</info> or <info>PRIO_PROCESS</info>.

<comment>Return:</comment>
  <info>int</info>  <strong>pcntl_getpriority()</strong> returns the priority of the process or <info>false</info> on error.  A lower numerical
       value causes more favorable scheduling.
       
       Această funcție poate întoarce valoarea Boolean <info>false</info>, dar poate de
       asemenea întoarce o valoare non-Boolean care evaluează în <info>false</info>. Vă rugăm să
       citiți secțiunea despre tipul Boolean
       pentru informații suplimentare. Utilizați
       operatorul === pentru a
       verifica valoarea întoarsă de această funcție.

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


id: pcntl_setpriority
type: function
doc:
<comment>Description:</comment>
  Change the priority of any process
  
  <strong>pcntl_setpriority()</strong> sets the priority of <strong>$pid</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$priority          </strong>  <strong>$priority</strong> is generally a value in the range <return>-20</return> to <return>20</return>. The default
                            priority is <return>0</return> while a lower numerical value causes more favorable
                            scheduling.  Because priority levels can differ between system types and
                            kernel versions, please see your system's setpriority(2) man page for
                            specific details.
  <info>int</info>  <strong>$pid               </strong>  If not specified, the pid of the current process is used.
  <info>int</info>  <strong>$process_identifier</strong>  One of <info>PRIO_PGRP</info>, <info>PRIO_USER</info> or <info>PRIO_PROCESS</info>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: pcntl_signal
type: function
doc:
<comment>Description:</comment>
  Installs a signal handler
  
  The <strong>pcntl_signal()</strong> function installs a new signal handler or replaces the current signal handler
  for the signal indicated by <strong>$signo</strong>.

<comment>Param:</comment>
  <info>int        </info>  <strong>$signo           </strong>  The signal number.
  <info>callableint</info>  <strong>$handler         </strong>  The signal handler. This may be either a <info>callable</info>, which will be
                                  invoked to handle the signal, or either of the two global
                                  constants <info>SIG_IGN</info> or <info>SIG_DFL</info>, which will ignore the signal or
                                  restore the default signal handler respectively.
                                  
                                  If a <info>callable</info> is given, it must implement the following signature:
                                  
                                  <info>void</info>handler<info>int</info><strong>$signo</strong><info>mixed</info><strong>$siginfo</strong><strong>$signo</strong> The signal being handled.
                                  <strong>$siginfo</strong> If operating systems supports siginfo_t structures, this
                                  will be an array of signal information dependent on the signal.
                                  
                                  The signal being handled.
                                  
                                  If operating systems supports siginfo_t structures, this will be
                                  an array of signal information dependent on the signal.
                                  
                                  Note that when you set a handler to an object method, that
                                  object's reference count is increased which makes it persist until
                                  you either change the handler to something else, or your script
                                  ends.
  <info>int        </info>  <strong>$signo           </strong>  The signal being handled.
  <info>mixed      </info>  <strong>$siginfo         </strong>  If operating systems supports siginfo_t structures, this will be
                                  an array of signal information dependent on the signal.
  <info>bool       </info>  <strong>$restart_syscalls</strong>  Specifies whether system call restarting should be used when this
                                  signal arrives.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pcntl_fork()</strong>
   * <strong>pcntl_waitpid()</strong>


id: pcntl_signal_dispatch
type: function
doc:
<comment>Description:</comment>
  Calls signal handlers for pending signals
  
  The <strong>pcntl_signal_dispatch()</strong> function calls the signal  handlers installed by <strong>pcntl_signal()</strong> for
  each pending signal.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pcntl_signal()</strong>
   * <strong>pcntl_sigprocmask()</strong>
   * <strong>pcntl_sigwaitinfo()</strong>
   * <strong>pcntl_sigtimedwait()</strong>


id: pcntl_signal_get_handler
type: function
doc:
<comment>Description:</comment>
  Get the current handler for specified signal
  
  The <strong>pcntl_signal_get_handler()</strong> function will get the current handler for the specified <strong>$signo</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$signo</strong>  The signal number.

<comment>Return:</comment>
  <info>mixed</info>  This function may return an integer value that refers to <info>SIG_DFL</info> or <info>SIG_IGN</info>.  If you set a
         custom handler a string value containing the function name is returned.

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


id: pcntl_sigprocmask
type: function
doc:
<comment>Description:</comment>
  Sets and retrieves blocked signals
  
  The <strong>pcntl_sigprocmask()</strong> function adds, removes or sets blocked signals, depending on the <strong>$how</strong>
  parameter.

<comment>Param:</comment>
  <info>int  </info>  <strong>$how   </strong>  Sets the behavior of <strong>pcntl_sigprocmask()</strong>. Possible values:  <info>SIG_BLOCK</info>: Add the
                  signals to the currently blocked signals.<info>SIG_UNBLOCK</info>: Remove the signals from the
                  currently blocked signals.<info>SIG_SETMASK</info>: Replace the currently blocked signals by
                  the given list of signals.
  <info>array</info>  <strong>$set   </strong>  List of signals.
  <info>array</info>  <strong>$oldset</strong>  The <strong>$oldset</strong> parameter is set to an array containing the list of the previously
                  blocked signals.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pcntl_sigwaitinfo()</strong>
   * <strong>pcntl_sigtimedwait()</strong>


id: pcntl_sigtimedwait
type: function
doc:
<comment>Description:</comment>
  Waits for signals, with a timeout
  
  The <strong>pcntl_sigtimedwait()</strong> function operates in exactly the same way as <strong>pcntl_sigwaitinfo()</strong> except
  that it takes two additional parameters, <strong>$seconds</strong> and <strong>$nanoseconds</strong>, which enable an upper bound to
  be placed on the time for which the script is suspended.

<comment>Param:</comment>
  <info>array</info>  <strong>$set        </strong>  Array of signals to wait for.
  <info>array</info>  <strong>$siginfo    </strong>  The <strong>$siginfo</strong> is set to an array containing information about the signal. See
                       <strong>pcntl_sigwaitinfo()</strong>.
  <info>int  </info>  <strong>$seconds    </strong>  Timeout in seconds.
  <info>int  </info>  <strong>$nanoseconds</strong>  Timeout in nanoseconds.

<comment>Return:</comment>
  <info>int</info>  On success, <strong>pcntl_sigtimedwait()</strong> returns a signal number.

<comment>See Also:</comment>
   * <strong>pcntl_sigprocmask()</strong>
   * <strong>pcntl_sigwaitinfo()</strong>


id: pcntl_sigwaitinfo
type: function
doc:
<comment>Description:</comment>
  Waits for signals
  
  The <strong>pcntl_sigwaitinfo()</strong> function suspends execution of the calling script until one of the signals
  given in <strong>$set</strong> are delivered. If one of the signal is already pending (e.g. blocked by
  <strong>pcntl_sigprocmask()</strong>), <strong>pcntl_sigwaitinfo()</strong> will return immediately.

<comment>Param:</comment>
  <info>array</info>  <strong>$set    </strong>  Array of signals to wait for.
  <info>array</info>  <strong>$siginfo</strong>  The <strong>$siginfo</strong> parameter is set to an array containing information about the
                   signal.
                   
                   The following elements are set for all signals: signo: Signal numbererrno: An
                   error numbercode: Signal code
                   
                   The following elements may be set for the <info>SIGCHLD</info> signal: status: Exit value or
                   signalutime: User time consumedstime: System time consumedpid: Sending process
                   IDuid: Real user ID of sending process
                   
                   The following elements may be set for the <info>SIGILL</info>, <info>SIGFPE</info>, <info>SIGSEGV</info> and <info>SIGBUS</info>
                   signals: addr: Memory location which caused fault
                   
                   The following element may be set for the <info>SIGPOLL</info> signal: band: Band eventfd: File
                   descriptor number

<comment>Return:</comment>
  <info>int</info>  On success, <strong>pcntl_sigwaitinfo()</strong> returns a signal number.

<comment>See Also:</comment>
   * <strong>pcntl_sigprocmask()</strong>
   * <strong>pcntl_sigtimedwait()</strong>


id: pcntl_strerror
type: function
doc:
<comment>Description:</comment>
  Retrieve the system error message associated with the given errno
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

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

<comment>Return:</comment>
  <info>stringfalse</info>  Returns error description on success sau <info>false</info> în cazul eșecului.

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


id: pcntl_wait
type: function
doc:
<comment>Description:</comment>
  Waits on or returns the status of a forked child
  
  The wait function suspends execution of the current process until a child has exited, or until a
  signal is delivered whose action is to terminate the current process or to call a signal handling
  function.  If a child has already exited by the time of the call (a so-called "zombie" process),
  the function returns immediately.  Any system resources used by the child are freed.  Please see
  your system's wait(2) man page for specific details as to how wait works on your system.
  
  This function is equivalent to calling <strong>pcntl_waitpid()</strong> with a <return>-1</return> <strong>$pid</strong> and no <strong>$options</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$status </strong>  <strong>pcntl_wait()</strong> will store status information in the <strong>$status</strong> parameter which can be
                 evaluated using the following functions: <strong>pcntl_wifexited()</strong>, <strong>pcntl_wifstopped()</strong>,
                 <strong>pcntl_wifsignaled()</strong>, <strong>pcntl_wexitstatus()</strong>, <strong>pcntl_wtermsig()</strong> and <strong>pcntl_wstopsig()</strong>.
  <info>int</info>  <strong>$options</strong>  If wait3 is available on your system (mostly BSD-style systems), you can provide
                 the optional <strong>$options</strong> parameter.  If this parameter is not provided, wait will be
                 used for the system call.  If wait3 is not available, providing a value for
                 <strong>$options </strong> will have no effect. The value of <strong>$options </strong> is the value of zero or more
                 of the following two constants <return>OR</return>'ed together: Possible values for <strong>$options</strong><return>WNOHANG</return>
                 Return immediately if no child has exited. <return>WUNTRACED</return> Return for children which are
                 stopped, and whose status has not been reported.

<comment>Return:</comment>
  <info>int</info>  <strong>pcntl_wait()</strong> returns the process ID of the child which exited, -1 on error or zero if WNOHANG
       was provided as an option (on wait3-available systems) and no child was available.

<comment>See Also:</comment>
   * <strong>pcntl_fork()</strong>
   * <strong>pcntl_signal()</strong>
   * <strong>pcntl_wifexited()</strong>
   * <strong>pcntl_wifstopped()</strong>
   * <strong>pcntl_wifsignaled()</strong>
   * <strong>pcntl_wexitstatus()</strong>
   * <strong>pcntl_wtermsig()</strong>
   * <strong>pcntl_wstopsig()</strong>
   * <strong>pcntl_waitpid()</strong>


id: pcntl_waitpid
type: function
doc:
<comment>Description:</comment>
  Waits on or returns the status of a forked child
  
  Suspends execution of the current process until a child as specified by the <strong>$pid</strong> argument has
  exited, or until a signal is delivered whose action is to terminate the current process or to call
  a signal handling function.
  
  If a child as requested by <strong>$pid</strong> has already exited by the time of the call (a so-called "zombie"
  process), the function returns immediately.  Any system resources used by the child are freed.
  Please see your system's waitpid(2) man page for specific details as to how waitpid works on your
  system.

<comment>Param:</comment>
  <info>int</info>  <strong>$pid    </strong>  The value of <strong>$pid</strong> can be one of the following: possible values for <strong>$pid</strong><return>\< -1</return> wait
                 for any child process whose process group ID is equal to the absolute value of
                 <strong>$pid</strong>. <return>-1</return> wait for any child process; this is the same behaviour that the wait
                 function exhibits. <return>0</return> wait for any child process whose process group ID is equal to
                 that of the calling process. <return>&gt; 0</return> wait for the child whose process ID is equal to
                 the value of <strong>$pid</strong>.
                 
                 Specifying <return>-1</return> as the <strong>$pid</strong> is equivalent to the functionality <strong>pcntl_wait()</strong> provides
                 (minus <strong>$options</strong>).
  <info>int</info>  <strong>$status </strong>  <strong>pcntl_waitpid()</strong> will store status information in the <strong>$status</strong> parameter which can be
                 evaluated using the following functions: <strong>pcntl_wifexited()</strong>, <strong>pcntl_wifstopped()</strong>,
                 <strong>pcntl_wifsignaled()</strong>, <strong>pcntl_wexitstatus()</strong>, <strong>pcntl_wtermsig()</strong> and <strong>pcntl_wstopsig()</strong>.
  <info>int</info>  <strong>$options</strong>  The value of <strong>$options</strong> is the value of zero or more of the following two global
                 constants <return>OR</return>'ed together: possible values for <strong>$options</strong><return>WNOHANG</return> return immediately if
                 no child has exited. <return>WUNTRACED</return> return for children which are stopped, and whose
                 status has not been reported.

<comment>Return:</comment>
  <info>int</info>  <strong>pcntl_waitpid()</strong> returns the process ID of the child which exited, -1 on error or zero if
       <info>WNOHANG</info> was used and no child was available

<comment>See Also:</comment>
   * <strong>pcntl_fork()</strong>
   * <strong>pcntl_signal()</strong>
   * <strong>pcntl_wifexited()</strong>
   * <strong>pcntl_wifstopped()</strong>
   * <strong>pcntl_wifsignaled()</strong>
   * <strong>pcntl_wexitstatus()</strong>
   * <strong>pcntl_wtermsig()</strong>
   * <strong>pcntl_wstopsig()</strong>


id: pcntl_wexitstatus
type: function
doc:
<comment>Description:</comment>
  Returns the return code of a terminated child
  
  Returns the return code of a terminated child.  This function is only useful if <strong>pcntl_wifexited()</strong>
  returned <info>true</info>.

<comment>Param:</comment>
  <info>int</info>  <strong>$status</strong>  Parametrul <strong>$status</strong> reprezintă parametrul de stare
                furnizat către un apel cu succes al funcției
                <strong>pcntl_waitpid()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the return code, as an integer.

<comment>See Also:</comment>
   * <strong>pcntl_waitpid()</strong>
   * <strong>pcntl_wifexited()</strong>


id: pcntl_wifexited
type: function
doc:
<comment>Description:</comment>
  Checks if status code represents a normal exit
  
  Checks whether the child status code represents a normal exit.

<comment>Param:</comment>
  <info>int</info>  <strong>$status</strong>  Parametrul <strong>$status</strong> reprezintă parametrul de stare
                furnizat către un apel cu succes al funcției
                <strong>pcntl_waitpid()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the child status code represents a normal exit, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>pcntl_waitpid()</strong>
   * <strong>pcntl_wexitstatus()</strong>


id: pcntl_wifsignaled
type: function
doc:
<comment>Description:</comment>
  Checks whether the status code represents a termination due to a signal
  
  Checks whether the child process exited because of a signal which was not caught.

<comment>Param:</comment>
  <info>int</info>  <strong>$status</strong>  Parametrul <strong>$status</strong> reprezintă parametrul de stare
                furnizat către un apel cu succes al funcției
                <strong>pcntl_waitpid()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the child process exited because of a signal which was not caught, <info>false</info>
        otherwise.

<comment>See Also:</comment>
   * <strong>pcntl_waitpid()</strong>
   * <strong>pcntl_signal()</strong>


id: pcntl_wifstopped
type: function
doc:
<comment>Description:</comment>
  Checks whether the child process is currently stopped
  
  Checks whether the child process which caused the return is currently stopped; this is only
  possible if the call to <strong>pcntl_waitpid()</strong> was done using the option <return>WUNTRACED</return>.

<comment>Param:</comment>
  <info>int</info>  <strong>$status</strong>  Parametrul <strong>$status</strong> reprezintă parametrul de stare
                furnizat către un apel cu succes al funcției
                <strong>pcntl_waitpid()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the child process which caused the return is currently stopped, <info>false</info>
        otherwise.

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


id: pcntl_wstopsig
type: function
doc:
<comment>Description:</comment>
  Returns the signal which caused the child to stop
  
  Returns the number of the signal which caused the child to stop. This function is only useful if
  <strong>pcntl_wifstopped()</strong> returned <info>true</info>.

<comment>Param:</comment>
  <info>int</info>  <strong>$status</strong>  Parametrul <strong>$status</strong> reprezintă parametrul de stare
                furnizat către un apel cu succes al funcției
                <strong>pcntl_waitpid()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the signal number.

<comment>See Also:</comment>
   * <strong>pcntl_waitpid()</strong>
   * <strong>pcntl_wifstopped()</strong>


id: pcntl_wtermsig
type: function
doc:
<comment>Description:</comment>
  Returns the signal which caused the child to terminate
  
  Returns the number of the signal that caused the child process to terminate. This function is only
  useful if <strong>pcntl_wifsignaled()</strong> returned <info>true</info>.

<comment>Param:</comment>
  <info>int</info>  <strong>$status</strong>  Parametrul <strong>$status</strong> reprezintă parametrul de stare
                furnizat către un apel cu succes al funcției
                <strong>pcntl_waitpid()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the signal number, as an integer.

<comment>See Also:</comment>
   * <strong>pcntl_waitpid()</strong>
   * <strong>pcntl_signal()</strong>
   * <strong>pcntl_wifsignaled()</strong>


id: pfsockopen
type: function
doc:
<comment>Description:</comment>
  Open persistent Internet or Unix domain socket connection
  
  This function behaves exactly as <strong>fsockopen()</strong> with the difference that the connection is not closed
  after the script finishes. It is the persistent version of <strong>fsockopen()</strong>.

<comment>Return:</comment>
  <info>resource</info>  

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


id: pg_affected_rows
type: function
doc:
<comment>Description:</comment>
  Returns number of affected records (tuples)
  
  <strong>pg_affected_rows()</strong> returns the number of tuples (instances/records/rows) affected by <return>INSERT</return>,
  <return>UPDATE</return>, and <return>DELETE</return> queries.
  
  Since PostgreSQL 9.0 and above, the server returns the number of  SELECTed rows. Older PostgreSQL
  return 0 for SELECT.
  
  This function used to be called <strong>pg_cmdtuples()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).

<comment>Return:</comment>
  <info>int</info>  The number of rows affected by the query.  If no tuple is affected, it will return 0.

<comment>See Also:</comment>
   * <strong>pg_query()</strong>
   * <strong>pg_query_params()</strong>
   * <strong>pg_execute()</strong>
   * <strong>pg_num_rows()</strong>


id: pg_cancel_query
type: function
doc:
<comment>Description:</comment>
  Cancel an asynchronous query
    
  
  <strong>pg_cancel_query()</strong> cancels an asynchronous query sent with  <strong>pg_send_query()</strong>, <strong>pg_send_query_params()</strong>
  or <strong>pg_send_execute()</strong>. You cannot cancel a query executed using  <strong>pg_query()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_send_query()</strong>
   * <strong>pg_connection_busy()</strong>


id: pg_client_encoding
type: function
doc:
<comment>Description:</comment>
  Gets the client encoding
    
  
  PostgreSQL supports automatic character set conversion between  server and client for certain
  character sets. <strong>pg_client_encoding()</strong> returns the client encoding as a string. The returned string
  will be one of the standard PostgreSQL encoding identifiers.
  
  This function requires PHP 4.0.3 or higher and PostgreSQL 7.0 or higher. If libpq is compiled
  without multibyte encoding support, <strong>pg_client_encoding()</strong> always returns <return>SQL_ASCII</return>. Supported
  encoding depends on PostgreSQL version.  Refer to the PostgreSQL Documentation supported
  encodings.
  
  The function used to be called <strong>pg_clientencoding()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>string</info>  The client encoding, or <info>false</info> on error.

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


id: pg_close
type: function
doc:
<comment>Description:</comment>
  Closes a PostgreSQL connection
  
  <strong>pg_close()</strong> closes the non-persistent connection to a PostgreSQL database associated with the given
  <strong>$connection</strong> resource.
  
  Using <strong>pg_close()</strong> is not usually necessary, as non-persistent open connections are automatically
  closed at the end of the script.
  
  If there is open large object resource on the connection, do not close the connection before
  closing all large object resources.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: pg_connect
type: function
doc:
<comment>Description:</comment>
  Open a PostgreSQL connection
  
  <strong>pg_connect()</strong> opens a connection to a PostgreSQL database specified by the <strong>$connection_string</strong>.
  
  If a second call is made to <strong>pg_connect()</strong> with the same <strong>$connection_string</strong> as an existing
  connection, the existing connection will be returned unless you pass <info>PGSQL_CONNECT_FORCE_NEW</info> as
  <strong>$connect_type</strong>.
  
  The old syntax with multiple parameters $conn = pg_connect("host", "port", "options", "tty",
  "dbname")  has been deprecated.

<comment>Param:</comment>
  <info>string</info>  <strong>$connection_string</strong>  The <strong>$connection_string</strong> can be empty to use all default parameters, or
                              it  can contain one or more parameter settings separated by
                              whitespace.  Each parameter setting is in the form <return>keyword = value</return>.
                              Spaces around  the equal sign are optional. To write an empty value or
                              a value  containing spaces, surround it with single quotes, e.g.,
                              <return>keyword =  'a value'</return>. Single quotes and backslashes within the value
                              must be  escaped with a backslash, i.e., \' and \\.
                              
                              The currently recognized parameter keywords are: <strong>$host</strong>, <strong>$hostaddr</strong>,
                              <strong>$port</strong>, <strong>$dbname</strong> (defaults to value of <strong>$user</strong>), <strong>$user</strong>, <strong>$password</strong>,
                              <strong>$connect_timeout</strong>, <strong>$options</strong>, <strong>$tty</strong> (ignored), <strong>$sslmode</strong>, <strong>$requiressl</strong>
                              (deprecated in favor of <strong>$sslmode</strong>), and <strong>$service</strong>.  Which of these
                              arguments exist depends on your PostgreSQL version.
                              
                              The <strong>$options</strong> parameter can be used to set command line parameters  to
                              be invoked by the server.
  <info>int   </info>  <strong>$connect_type     </strong>  If <info>PGSQL_CONNECT_FORCE_NEW</info> is passed, then a new connection is
                              created, even if the <strong>$connection_string</strong> is identical to an existing
                              connection.
                              
                              If <info>PGSQL_CONNECT_ASYNC</info> is given, then the connection is established
                              asynchronously. The state of the connection can then be checked via
                              <strong>pg_connect_poll()</strong> or <strong>pg_connection_status()</strong>.

<comment>Return:</comment>
  <info>resource</info>  PostgreSQL connection resource on success, <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>pg_pconnect()</strong>
   * <strong>pg_close()</strong>
   * <strong>pg_host()</strong>
   * <strong>pg_port()</strong>
   * <strong>pg_tty()</strong>
   * <strong>pg_options()</strong>
   * <strong>pg_dbname()</strong>


id: pg_connect_poll
type: function
doc:
<comment>Description:</comment>
  Poll the status of an in-progress asynchronous PostgreSQL connection
     attempt
    
  
  <strong>pg_connect_poll()</strong> polls the status of a PostgreSQL connection created by calling <strong>pg_connect()</strong> with
  the <info>PGSQL_CONNECT_ASYNC</info> option.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>int</info>  Returns <info>PGSQL_POLLING_FAILED</info>, <info>PGSQL_POLLING_READING</info>, <info>PGSQL_POLLING_WRITING</info>, <info>PGSQL_POLLING_OK</info>,
       or <info>PGSQL_POLLING_ACTIVE</info>.


id: pg_connection_busy
type: function
doc:
<comment>Description:</comment>
  Get connection is busy or not
    
  
  <strong>pg_connection_busy()</strong> determines whether or not a connection is busy.  If it is busy, a previous
  query is still executing. If <strong>pg_get_result()</strong> is used on the connection, it will be blocked.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the connection is busy, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>pg_connection_status()</strong>
   * <strong>pg_get_result()</strong>


id: pg_connection_reset
type: function
doc:
<comment>Description:</comment>
  Reset connection (reconnect)
    
  
  <strong>pg_connection_reset()</strong> resets the connection. It is useful for error recovery.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_connect()</strong>
   * <strong>pg_pconnect()</strong>
   * <strong>pg_connection_status()</strong>


id: pg_connection_status
type: function
doc:
<comment>Description:</comment>
  Get connection status
    
  
  <strong>pg_connection_status()</strong> returns the status of the specified <strong>$connection</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>int</info>  <info>PGSQL_CONNECTION_OK</info> or  <info>PGSQL_CONNECTION_BAD</info>.

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


id: pg_consume_input
type: function
doc:
<comment>Description:</comment>
  Reads input on the connection
  
  <strong>pg_consume_input()</strong> consumes any input waiting to be read from the database server.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> if no error occurred, or <info>false</info> if there was an error. Note that <info>true</info> does not
        necessarily indicate that input was waiting to be read.


id: pg_convert
type: function
doc:
<comment>Description:</comment>
  Convert associative array values into forms suitable for SQL statements
    
  
  <strong>pg_convert()</strong> checks and converts the values in <strong>$assoc_array</strong> into suitable values for use in an SQL
  statement. Precondition for <strong>pg_convert()</strong> is the  existence of a table <strong>$table_name</strong> which has at
  least as many columns as <strong>$assoc_array</strong> has elements. The fieldnames in <strong>$table_name</strong> must match the
  indices in <strong>$assoc_array</strong> and the corresponding datatypes must be compatible. Returns an array with
  the converted values on success, <info>false</info> otherwise.
  
  Since PHP 5.6.0, it accepts boolean values, converting them to PostgreSQL booleans. String
  representations of boolean values are also supported. <info>null</info> is converted to PostgreSQL NULL.
  
  Prior to PHP 5.6.0, if there are boolean fields in <strong>$table_name</strong>  don't use the constant <info>true</info> in
  <strong>$assoc_array</strong>. It will be converted to the string 'TRUE' which is not a valid entry for boolean
  fields in PostgreSQL. Use one of "t", "true", 1, "y", "yes" instead.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection </strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$table_name </strong>  Name of the table against which to convert types.
  <info>array   </info>  <strong>$assoc_array</strong>  Data to be converted.
  <info>int     </info>  <strong>$options    </strong>  Any number of <info>PGSQL_CONV_IGNORE_DEFAULT</info>, <info>PGSQL_CONV_FORCE_NULL</info> or
                          <info>PGSQL_CONV_IGNORE_NOT_NULL</info>, combined.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> of converted values, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>pg_meta_data()</strong>
   * <strong>pg_insert()</strong>
   * <strong>pg_select()</strong>
   * <strong>pg_update()</strong>
   * <strong>pg_delete()</strong>


id: pg_copy_from
type: function
doc:
<comment>Description:</comment>
  Insert records into a table from an array
    
  
  <strong>pg_copy_from()</strong> inserts records into a table from  <strong>$rows</strong>. It issues a <return>COPY FROM</return> SQL command
  internally to insert records.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$table_name</strong>  Name of the table into which to copy the <strong>$rows</strong>.
  <info>array   </info>  <strong>$rows      </strong>  An <info>array</info> of data to be copied into <strong>$table_name</strong>. Each value in <strong>$rows</strong> becomes
                         a row in <strong>$table_name</strong>. Each value in <strong>$rows</strong> should be a delimited string of
                         the values to insert into each field.  Values should be linefeed
                         terminated.
  <info>string  </info>  <strong>$delimiter </strong>  The token that separates values for each field in each element of <strong>$rows</strong>.
                         Default is <return>TAB</return>.
  <info>string  </info>  <strong>$null_as   </strong>  How SQL <return>NULL</return> values are represented in the <strong>$rows</strong>.  Default is \N ("\\N").

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: pg_copy_to
type: function
doc:
<comment>Description:</comment>
  Copy a table to an array
    
  
  <strong>pg_copy_to()</strong> copies a table to an array. It issues <return>COPY TO</return> SQL command internally to retrieve
  records.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$table_name</strong>  Name of the table from which to copy the data into <strong>$rows</strong>.
  <info>string  </info>  <strong>$delimiter </strong>  The token that separates values for each field in each element of <strong>$rows</strong>.
                         Default is <return>TAB</return>.
  <info>string  </info>  <strong>$null_as   </strong>  How SQL <return>NULL</return> values are represented in the <strong>$rows</strong>.  Default is \N ("\\N").

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> with one element for each line of <return>COPY</return> data. It returns <info>false</info> on failure.

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


id: pg_dbname
type: function
doc:
<comment>Description:</comment>
  Get the database name
  
  <strong>pg_dbname()</strong> returns the name of the database that the given PostgreSQL <strong>$connection</strong> resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the name of the database the  <strong>$connection</strong> is to, or <info>false</info> on error.


id: pg_delete
type: function
doc:
<comment>Description:</comment>
  Deletes records
    
  
  <strong>pg_delete()</strong> deletes records from a table specified by the keys and values in <strong>$assoc_array</strong>. If
  <strong>$options</strong> is specified, <strong>pg_convert()</strong> is applied to <strong>$assoc_array</strong> with the specified options.
  
  If <return>options</return> is specified, <strong>pg_convert()</strong> is applied to <return>assoc_array</return> with the specified flags.
  
  By default <strong>pg_delete()</strong> passes raw values. Values must be escaped or PGSQL_DML_ESCAPE option must
  be specified. PGSQL_DML_ESCAPE quotes and escapes parameters/identifiers. Therefore, table/column
  names became case sensitive.
  
  Note that neither escape nor prepared query can protect LIKE query, JSON, Array, Regex, etc. These
  parameters should be handled according to their contexts. i.e. Escape/validate values.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection </strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$table_name </strong>  Name of the table from which to delete rows.
  <info>array   </info>  <strong>$assoc_array</strong>  An <info>array</info> whose keys are field names in the table <strong>$table_name</strong>, and whose
                          values are the values of those fields that are to be deleted.
  <info>int     </info>  <strong>$options    </strong>  Any number of <info>PGSQL_CONV_FORCE_NULL</info>, <info>PGSQL_DML_NO_CONV</info>, <info>PGSQL_DML_ESCAPE</info>,
                          <info>PGSQL_DML_EXEC</info>, <info>PGSQL_DML_ASYNC</info> or <info>PGSQL_DML_STRING</info> combined. If
                          <info>PGSQL_DML_STRING</info> is part of the <strong>$options</strong> then query string is returned.
                          When <info>PGSQL_DML_NO_CONV</info> or <info>PGSQL_DML_ESCAPE</info> is set, it does not call
                          <strong>pg_convert()</strong> internally.

<comment>Return:</comment>
  <info>mixed</info>  Întoarce valoarea <info>true</info> în cazul
         succesului sau <info>false</info> în cazul eșecului.  Returns <info>string</info> if <info>PGSQL_DML_STRING</info> is passed via
         <strong>$options</strong>.

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


id: pg_end_copy
type: function
doc:
<comment>Description:</comment>
  Sync with PostgreSQL backend
  
  <strong>pg_end_copy()</strong> syncs the PostgreSQL frontend (usually a web server process) with the PostgreSQL
  server after doing a copy operation performed by <strong>pg_put_line()</strong>. <strong>pg_end_copy()</strong> must be issued,
  otherwise the PostgreSQL server may get out of sync with the frontend and will report an error.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: pg_escape_bytea
type: function
doc:
<comment>Description:</comment>
  Escape a string for insertion into a bytea field
    
  
  <strong>pg_escape_bytea()</strong> escapes string for bytea datatype.  It returns escaped string.
  
  When you <return>SELECT</return> a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032).
  Users are supposed to convert back to binary format manually.
  
  This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must
  be cast when you enable multi-byte support. i.e. <return>INSERT INTO test_table (image) VALUES
  ('$image_escaped'::bytea);</return> PostgreSQL 7.2.2 or later does not need a cast. The exception is when
  the client and backend character encoding does not match, and there may be multi-byte stream
  error. User must then cast to bytea to avoid this error.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$data      </strong>  A <info>string</info> containing text or binary data to be inserted into a bytea column.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the escaped data.

<comment>See Also:</comment>
   * <strong>pg_unescape_bytea()</strong>
   * <strong>pg_escape_string()</strong>


id: pg_escape_identifier
type: function
doc:
<comment>Description:</comment>
  Escape a identifier for insertion into a text field
    
  
  <strong>pg_escape_identifier()</strong> escapes a identifier (e.g. table, field names) for querying the database.
  It returns an escaped identifier string for PostgreSQL server. <strong>pg_escape_identifier()</strong> adds double
  quotes before and after data. Users should not add double quotes. Use of this function is
  recommended for identifier parameters in query. For SQL literals (i.e. parameters except bytea),
  <strong>pg_escape_literal()</strong> or <strong>pg_escape_string()</strong> must be used. For bytea type fields, <strong>pg_escape_bytea()</strong>
  must be used instead.
  
  This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$data      </strong>  A <info>string</info> containing text to be escaped.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the escaped data.

<comment>See Also:</comment>
   * <strong>pg_escape_literal()</strong>
   * <strong>pg_escape_bytea()</strong>
   * <strong>pg_escape_string()</strong>


id: pg_escape_literal
type: function
doc:
<comment>Description:</comment>
  Escape a literal for insertion into a text field
    
  
  <strong>pg_escape_literal()</strong> escapes a literal for querying the PostgreSQL database. It returns an escaped
  literal in the PostgreSQL format. <strong>pg_escape_literal()</strong> adds quotes before and after data. Users
  should not add quotes. Use of this function is recommended instead of <strong>pg_escape_string()</strong>.  If the
  type of the column is bytea, <strong>pg_escape_bytea()</strong> must be used instead. For escaping identifiers
  (e.g. table, field names), <strong>pg_escape_identifier()</strong> must be used.
  
  This function has internal escape code and can also be used with PostgreSQL 8.4 or less.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>. When there is no default
                         connection, it raises <return>E_WARNING</return> and returns <info>false</info>.
  <info>string  </info>  <strong>$data      </strong>  A <info>string</info> containing text to be escaped.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the escaped data.

<comment>See Also:</comment>
   * <strong>pg_escape_identifier()</strong>
   * <strong>pg_escape_bytea()</strong>
   * <strong>pg_escape_string()</strong>


id: pg_escape_string
type: function
doc:
<comment>Description:</comment>
  Escape a string for query
    
  
  <strong>pg_escape_string()</strong> escapes a string for querying the database.  It returns an escaped string in
  the PostgreSQL format without quotes. <strong>pg_escape_literal()</strong> is more preferred way to escape SQL
  parameters for PostgreSQL. <strong>addslashes()</strong> must not be used with PostgreSQL. If the type of the
  column is bytea, <strong>pg_escape_bytea()</strong> must be used instead. <strong>pg_escape_identifier()</strong> must be used to
  escape identifiers (e.g. table names, field names)
  
  This function requires PostgreSQL 7.2 or later.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$data      </strong>  A <info>string</info> containing text to be escaped.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the escaped data.

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


id: pg_execute
type: function
doc:
<comment>Description:</comment>
  Sends a request to execute a prepared statement with given parameters, and waits for the result
  
  Sends a request to execute a prepared statement with given parameters, and  waits for the result.
  
  <strong>pg_execute()</strong> is like <strong>pg_query_params()</strong>,  but the command to be executed is  specified by naming a
  previously-prepared statement, instead of giving a  query string. This feature allows commands
  that will be used repeatedly to  be parsed and planned just once, rather than each time they are
  executed.  The statement must have been prepared previously in the current session.  <strong>pg_execute()</strong>
  is supported only against PostgreSQL 7.4 or higher connections; it will fail when using earlier
  versions.
  
  The parameters are identical to <strong>pg_query_params()</strong>, except that the name of a  prepared statement
  is given instead of a query string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$stmtname  </strong>  The name of the prepared statement to execute.  if "" is specified, then
                         the unnamed statement is executed.  The name must have been previously
                         prepared using <strong>pg_prepare()</strong>,  <strong>pg_send_prepare()</strong> or a <return>PREPARE</return> SQL command.
  <info>array   </info>  <strong>$params    </strong>  An array of parameter values to substitute for the $1, $2, etc.
                         placeholders in the original prepared query string.  The number of elements
                         in the array must match the number of placeholders.
                         
                         Elements are converted to strings by calling this function.

<comment>Return:</comment>
  <info>resourcefalse</info>  A query result resource on success sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_prepare()</strong>
   * <strong>pg_send_prepare()</strong>
   * <strong>pg_query_params()</strong>


id: pg_fetch_all
type: function
doc:
<comment>Description:</comment>
  Fetches all rows from a result as an array
  
  <strong>pg_fetch_all()</strong> returns an array that contains all rows (records) in the result resource.
  
  Această funcție stabilește câmpurile NULL la valoarea PHP <info>null</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> with all rows in the result.  Each row is an array of field values indexed by
         field name.
         
         <info>false</info> is returned if there are no rows in the result, or on any other error.

<comment>See Also:</comment>
   * <strong>pg_fetch_row()</strong>
   * <strong>pg_fetch_array()</strong>
   * <strong>pg_fetch_object()</strong>
   * <strong>pg_fetch_result()</strong>


id: pg_fetch_all_columns
type: function
doc:
<comment>Description:</comment>
  Fetches all rows in a particular result column as an array
  
  <strong>pg_fetch_all_columns()</strong> returns an array that contains all rows (records) in a particular column of
  the result resource.
  
  Această funcție stabilește câmpurile NULL la valoarea PHP <info>null</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$column</strong>  Column number, zero-based, to be retrieved from the result resource.  Defaults
                     to the first column if not specified.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> with all values in the result column.
         
         <info>false</info> is returned if <strong>$column</strong> is larger than the number  of columns in the result, or on any
         other error.

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


id: pg_fetch_array
type: function
doc:
<comment>Description:</comment>
  Fetch a row as an array
  
  <strong>pg_fetch_array()</strong> returns an array that corresponds to the fetched row (record).
  
  <strong>pg_fetch_array()</strong> is an extended version of <strong>pg_fetch_row()</strong>.  In addition to storing the data in the
  numeric indices (field number) to the result array, it can also store the data using associative
  indices (field name). It stores both indices by default.
  
  Această funcție stabilește câmpurile NULL la valoarea PHP <info>null</info>.
  
  <strong>pg_fetch_array()</strong> is NOT significantly slower than using <strong>pg_fetch_row()</strong>, and is significantly
  easier to use.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result     </strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>,
                          <strong>pg_query_params()</strong> or <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$row        </strong>  Row number in result to fetch. Rows are numbered from 0 upwards. If
                          omitted or <info>null</info>, the next row is fetched.
  <info>int     </info>  <strong>$result_type</strong>  An optional parameter that controls how the returned <info>array</info> is indexed.
                          <strong>$result_type</strong> is a constant and can take the following values: <info>PGSQL_ASSOC</info>,
                          <info>PGSQL_NUM</info> and <info>PGSQL_BOTH</info>. Using <info>PGSQL_NUM</info>, <strong>pg_fetch_array()</strong> will return an
                          array with numerical indices, using <info>PGSQL_ASSOC</info> it will return only
                          associative indices while <info>PGSQL_BOTH</info>, the default, will return both
                          numerical and associative indices.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> indexed numerically (beginning with 0) or associatively (indexed by field name),
         or both. Each value in the <info>array</info> is represented as a  <info>string</info>.  Database <return>NULL</return> values are
         returned as <info>null</info>.
         
         <info>false</info> is returned if <strong>$row</strong> exceeds the number of rows in the set, there are no more rows, or
         on any other error.

<comment>See Also:</comment>
   * <strong>pg_fetch_row()</strong>
   * <strong>pg_fetch_object()</strong>
   * <strong>pg_fetch_result()</strong>


id: pg_fetch_assoc
type: function
doc:
<comment>Description:</comment>
  Fetch a row as an associative array
  
  <strong>pg_fetch_assoc()</strong> returns an associative array that corresponds to the fetched row (records).
  
  <strong>pg_fetch_assoc()</strong> is equivalent to calling <strong>pg_fetch_array()</strong> with <info>PGSQL_ASSOC</info> as the optional third
  parameter. It only returns an associative array. If you need the numeric indices, use
  <strong>pg_fetch_row()</strong>.
  
  Această funcție stabilește câmpurile NULL la valoarea PHP <info>null</info>.
  
  <strong>pg_fetch_assoc()</strong> is NOT significantly slower than using <strong>pg_fetch_row()</strong>, and is significantly
  easier to use.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$row   </strong>  Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or
                     <info>null</info>, the next row is fetched.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> indexed associatively (by field name). Each value in the <info>array</info> is represented as a
         <info>string</info>.  Database <return>NULL</return> values are returned as <info>null</info>.
         
         <info>false</info> is returned if <strong>$row</strong> exceeds the number of rows in the set, there are no more rows, or
         on any other error.

<comment>See Also:</comment>
   * <strong>pg_fetch_row()</strong>
   * <strong>pg_fetch_array()</strong>
   * <strong>pg_fetch_object()</strong>
   * <strong>pg_fetch_result()</strong>


id: pg_fetch_object
type: function
doc:
<comment>Description:</comment>
  Fetch a row as an object
  
  <strong>pg_fetch_object()</strong> returns an object with properties that correspond to the fetched row's field
  names.  It can optionally instantiate an object of a specific class, and pass parameters to that
  class's constructor.
  
  Această funcție stabilește câmpurile NULL la valoarea PHP <info>null</info>.
  
  Speed-wise, the function is identical to <strong>pg_fetch_array()</strong>, and almost as fast as <strong>pg_fetch_row()</strong>
  (the difference is insignificant).

<comment>Param:</comment>
  <info>resource</info>  <strong>$result     </strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>,
                          <strong>pg_query_params()</strong> or <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$row        </strong>  Row number in result to fetch. Rows are numbered from 0 upwards. If
                          omitted or <info>null</info>, the next row is fetched.
  <info>int     </info>  <strong>$result_type</strong>  Ignored and deprecated.
  <info>string  </info>  <strong>$class_name </strong>  The name of the class to instantiate, set the properties of and return. If
                          not specified, a <class>stdClass</class> object is returned.
  <info>array   </info>  <strong>$params     </strong>  An optional <info>array</info> of parameters to pass to the constructor for <strong>$class_name</strong>
                          objects.

<comment>Return:</comment>
  <info>object</info>  An <info>object</info> with one attribute for each field name in the result.  Database <return>NULL</return> values are
          returned as <info>null</info>.
          
          <info>false</info> is returned if <strong>$row</strong> exceeds the number of rows in the set, there are no more rows,
          or on any other error.

<comment>See Also:</comment>
   * <strong>pg_query()</strong>
   * <strong>pg_fetch_array()</strong>
   * <strong>pg_fetch_assoc()</strong>
   * <strong>pg_fetch_row()</strong>
   * <strong>pg_fetch_result()</strong>


id: pg_fetch_result
type: function
doc:
<comment>Description:</comment>
  Returns values from a result resource
  
  <strong>pg_fetch_result()</strong> returns the value of a particular row and field (column) in a PostgreSQL result
  resource.
  
  This function used to be called <strong>pg_result()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$row   </strong>  Row number in result to fetch.  Rows are numbered from 0 upwards.  If omitted,
                     next row is fetched.
  <info>mixed   </info>  <strong>$field </strong>  A <info>string</info> representing the name of the field (column) to fetch, otherwise an <info>int</info>
                     representing the field number to fetch.  Fields are numbered from 0 upwards.

<comment>Return:</comment>
  <info>stringfalsenull</info>  Boolean is returned as "t" or "f".  All other types, including arrays are
                   returned as strings formatted in the same default PostgreSQL manner that you
                   would see in the psql program.  Database <return>NULL</return> values are returned as <info>null</info>.
                   
                   <info>false</info> is returned if <strong>$row</strong> exceeds the number of rows in the set, or on any other
                   error.

<comment>See Also:</comment>
   * <strong>pg_query()</strong>
   * <strong>pg_fetch_array()</strong>


id: pg_fetch_row
type: function
doc:
<comment>Description:</comment>
  Get a row as an enumerated array
  
  <strong>pg_fetch_row()</strong> fetches one row of data from the result associated with the specified <strong>$result</strong>
  resource.
  
  Această funcție stabilește câmpurile NULL la valoarea PHP <info>null</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$row   </strong>  Row number in result to fetch. Rows are numbered from 0 upwards. If omitted or
                     <info>null</info>, the next row is fetched.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info>, indexed from 0 upwards, with each value represented as a <info>string</info>.  Database <return>NULL</return>
         values are returned as <info>null</info>.
         
         <info>false</info> is returned if <strong>$row</strong> exceeds the number of rows in the set, there are no more rows, or
         on any other error.

<comment>See Also:</comment>
   * <strong>pg_query()</strong>
   * <strong>pg_fetch_array()</strong>
   * <strong>pg_fetch_object()</strong>
   * <strong>pg_fetch_result()</strong>


id: pg_field_is_null
type: function
doc:
<comment>Description:</comment>
  Test if a field is SQL NULL
  
  <strong>pg_field_is_null()</strong> tests if a field in a PostgreSQL result resource is SQL <return>NULL</return> or not.
  
  This function used to be called <strong>pg_fieldisnull()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$row   </strong>  Row number in result to fetch.  Rows are numbered from 0 upwards.  If omitted,
                     current row is fetched.
  <info>mixed   </info>  <strong>$field </strong>  Field number (starting from 0) as an <info>int</info> or  the field name as a <info>string</info>.

<comment>Return:</comment>
  <info>int</info>  Returns <return>1</return> if the field in the given row is SQL <return>NULL</return>, <return>0</return> if not.  <info>false</info> is returned if the row
       is out of range, or upon any other error.


id: pg_field_name
type: function
doc:
<comment>Description:</comment>
  Returns the name of a field
  
  <strong>pg_field_name()</strong> returns the name of the field occupying the given <strong>$field_number</strong> in the given
  PostgreSQL <strong>$result</strong> resource.  Field numbering starts from 0.
  
  This function used to be called <strong>pg_fieldname()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result      </strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>,
                           <strong>pg_query_params()</strong> or <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$field_number</strong>  Field number, starting from 0.

<comment>Return:</comment>
  <info>string</info>  The field name, or <info>false</info> on error.

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


id: pg_field_num
type: function
doc:
<comment>Description:</comment>
  Returns the field number of the named field
  
  <strong>pg_field_num()</strong> will return the number of the field number that corresponds to the <strong>$field_name</strong> in
  the given PostgreSQL <strong>$result</strong> resource.
  
  This function used to be called <strong>pg_fieldnum()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result    </strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong>
                         or <strong>pg_execute()</strong> (among others).
  <info>string  </info>  <strong>$field_name</strong>  The name of the field.

<comment>Return:</comment>
  <info>int</info>  The field number (numbered from 0), or -1 on error.

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


id: pg_field_prtlen
type: function
doc:
<comment>Description:</comment>
  Returns the printed length
  
  <strong>pg_field_prtlen()</strong> returns the actual printed length (number of characters) of a specific value in
  a PostgreSQL <strong>$result</strong>.  Row numbering starts at 0.  This function will return <info>false</info> on an error.
  
  <strong>$field_name_or_number</strong> can be passed either as an <info>int</info> or as a <info>string</info>. If it is passed as an <info>int</info>,
  PHP recognises it as the field number, otherwise as field name.
  
  See the example given at the <strong>pg_field_name()</strong> page.
  
  This function used to be called <strong>pg_fieldprtlen()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).
  <info>        </info>  <strong>$row   </strong>  Row number in result.  Rows are numbered from 0 upwards.  If omitted, current
                     row is fetched.

<comment>Return:</comment>
  <info>int</info>  The field printed length, or <info>false</info> on error.

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


id: pg_field_size
type: function
doc:
<comment>Description:</comment>
  Returns the internal storage size of the named field
    
  
  <strong>pg_field_size()</strong> returns the internal storage size (in bytes) of the field number in the given
  PostgreSQL <strong>$result</strong>.
  
  This function used to be called <strong>pg_fieldsize()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result      </strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>,
                           <strong>pg_query_params()</strong> or <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$field_number</strong>  Field number, starting from 0.

<comment>Return:</comment>
  <info>int</info>  The internal field storage size (in bytes).  -1 indicates a variable length field.  <info>false</info> is
       returned on error.

<comment>See Also:</comment>
   * <strong>pg_field_prtlen()</strong>
   * <strong>pg_field_type()</strong>


id: pg_field_table
type: function
doc:
<comment>Description:</comment>
  Returns the name or oid of the tables field
  
  <strong>pg_field_table()</strong> returns the name of the table that field  belongs to, or the table's oid if
  <strong>$oid_only</strong> is <info>true</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result      </strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>,
                           <strong>pg_query_params()</strong> or <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$field_number</strong>  Field number, starting from 0.
  <info>bool    </info>  <strong>$oid_only    </strong>  By default the tables name that field belongs to is returned but if
                           <strong>$oid_only</strong> is set to <info>true</info>, then the oid will instead be returned.

<comment>Return:</comment>
  <info>mixed</info>  On success either the fields table name or oid. Or, <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>pg_field_name()</strong>
   * <strong>pg_field_type()</strong>


id: pg_field_type
type: function
doc:
<comment>Description:</comment>
  Returns the type name for the corresponding field number
    
  
  <strong>pg_field_type()</strong> returns a string containing the base type name of the given <strong>$field_number</strong> in the
  given PostgreSQL <strong>$result</strong> resource.
  
  If the field uses a PostgreSQL domain (rather than a basic type), it is the name of the domain's
  underlying type that is returned, rather than the  name of the domain itself.
  
  This function used to be called <strong>pg_fieldtype()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result      </strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>,
                           <strong>pg_query_params()</strong> or <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$field_number</strong>  Field number, starting from 0.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the base name of the field's type, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>pg_field_prtlen()</strong>
   * <strong>pg_field_name()</strong>
   * <strong>pg_field_type_oid()</strong>


id: pg_field_type_oid
type: function
doc:
<comment>Description:</comment>
  Returns the type ID (OID) for the corresponding field number
    
  
  <strong>pg_field_type_oid()</strong> returns an integer containing the OID of the base type of the given
  <strong>$field_number</strong> in the given PostgreSQL <strong>$result</strong> resource.
  
  You can get more information about the field type by querying PostgreSQL's <return>pg_type</return> system table
  using the OID obtained with this function. The PostgreSQL <strong>format_type()</strong> function will convert a
  type OID into an SQL standard type name.
  
  If the field uses a PostgreSQL domain (rather than a basic type), it is the OID of the domain's
  underlying type that is returned, rather than the OID of the domain itself.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result      </strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>,
                           <strong>pg_query_params()</strong> or <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$field_number</strong>  Field number, starting from 0.

<comment>Return:</comment>
  <info>int</info>  The OID of the field's base type. <info>false</info> is returned on error.

<comment>See Also:</comment>
   * <strong>pg_field_type()</strong>
   * <strong>pg_field_prtlen()</strong>
   * <strong>pg_field_name()</strong>


id: pg_flush
type: function
doc:
<comment>Description:</comment>
  Flush outbound query data on the connection
  
  <strong>pg_flush()</strong> flushes any outbound query data waiting to be sent on the connection.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>mixed</info>  Returns <info>true</info> if the flush was successful or no data was waiting to be flushed, <return>0</return> if part of
         the pending data was flushed but more remains sau <info>false</info> în cazul eșecului.


id: pg_free_result
type: function
doc:
<comment>Description:</comment>
  Free result memory
  
  <strong>pg_free_result()</strong> frees the memory and data associated with the specified PostgreSQL query result
  <info>resource</info>.
  
  This function need only be called if memory consumption during script execution is a problem.
  Otherwise, all result memory will  be automatically freed when the script ends.
  
  This function used to be called <strong>pg_freeresult()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_query()</strong>
   * <strong>pg_query_params()</strong>
   * <strong>pg_execute()</strong>


id: pg_get_notify
type: function
doc:
<comment>Description:</comment>
  Gets SQL NOTIFY message
  
  <strong>pg_get_notify()</strong> gets notifications generated by a <return>NOTIFY</return> SQL command. To receive notifications,
  the <return>LISTEN</return> SQL command must be issued.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection </strong>  PostgreSQL database connection resource.
  <info>int     </info>  <strong>$result_type</strong>  An optional parameter that controls how the returned <info>array</info> is indexed.
                          <strong>$result_type</strong> is a constant and can take the following values: <info>PGSQL_ASSOC</info>,
                          <info>PGSQL_NUM</info> and <info>PGSQL_BOTH</info>. Using <info>PGSQL_NUM</info>, <strong>pg_get_notify()</strong> will return an
                          array with numerical indices, using <info>PGSQL_ASSOC</info> it will return only
                          associative indices while <info>PGSQL_BOTH</info>, the default, will return both
                          numerical and associative indices.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> containing the <return>NOTIFY</return> message name and backend PID. As of PHP 5.4.0 and if
         supported by the server, the array also contains the server version and the payload.
         Otherwise if no <return>NOTIFY</return> is waiting, then <info>false</info> is returned.

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


id: pg_get_pid
type: function
doc:
<comment>Description:</comment>
  Gets the backend's process ID
  
  <strong>pg_get_pid()</strong> gets the backend's (database server process) PID. The PID is useful to determine
  whether or not a <return>NOTIFY</return> message received via <strong>pg_get_notify()</strong> is sent from another process or not.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>int</info>  The backend database process ID.

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


id: pg_get_result
type: function
doc:
<comment>Description:</comment>
  Get asynchronous query result
    
  
  <strong>pg_get_result()</strong> gets the result resource from an asynchronous query executed by <strong>pg_send_query()</strong>,
  <strong>pg_send_query_params()</strong> or <strong>pg_send_execute()</strong>.
  
  <strong>pg_send_query()</strong> and the other asynchronous query functions can send multiple queries to a
  PostgreSQL server and <strong>pg_get_result()</strong> is used to get each query's results, one by one.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>resource</info>  The result <info>resource</info>, or <info>false</info> if no more results are available.

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


id: pg_host
type: function
doc:
<comment>Description:</comment>
  Returns the host name associated with the connection
    
  
  <strong>pg_host()</strong> returns the host name of the given PostgreSQL <strong>$connection</strong> resource is connected to.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the name of the host the  <strong>$connection</strong> is to, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>pg_connect()</strong>
   * <strong>pg_pconnect()</strong>


id: pg_insert
type: function
doc:
<comment>Description:</comment>
  Insert array into table
    
  
  <strong>pg_insert()</strong> inserts the values of <strong>$assoc_array</strong> into the table specified by <strong>$table_name</strong>. If
  <strong>$options</strong> is specified, <strong>pg_convert()</strong> is applied to <strong>$assoc_array</strong> with the specified options.
  
  If <return>options</return> is specified, <strong>pg_convert()</strong> is applied to <return>assoc_array</return> with the specified flags.
  
  By default <strong>pg_insert()</strong> passes raw values. Values must be escaped or PGSQL_DML_ESCAPE option must
  be specified. PGSQL_DML_ESCAPE quotes and escapes parameters/identifiers. Therefore, table/column
  names became case sensitive.
  
  Note that neither escape nor prepared query can protect LIKE query, JSON, Array, Regex, etc. These
  parameters should be handled according to their contexts. i.e. Escape/validate values.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection </strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$table_name </strong>  Name of the table into which to insert rows.  The table <strong>$table_name</strong> must
                          at least have as many columns as <strong>$assoc_array</strong> has elements.
  <info>array   </info>  <strong>$assoc_array</strong>  An <info>array</info> whose keys are field names in the table <strong>$table_name</strong>, and whose
                          values are the values of those fields that are to be inserted.
  <info>int     </info>  <strong>$options    </strong>  Any number of <info>PGSQL_CONV_OPTS</info>, <info>PGSQL_DML_NO_CONV</info>, <info>PGSQL_DML_ESCAPE</info>,
                          <info>PGSQL_DML_EXEC</info>, <info>PGSQL_DML_ASYNC</info> or <info>PGSQL_DML_STRING</info> combined. If
                          <info>PGSQL_DML_STRING</info> is part of the <strong>$options</strong> then query string is returned.
                          When <info>PGSQL_DML_NO_CONV</info> or <info>PGSQL_DML_ESCAPE</info> is set, it does not call
                          <strong>pg_convert()</strong> internally.

<comment>Return:</comment>
  <info>mixed</info>  Returns the connection resource on success,  sau <info>false</info> în cazul eșecului. Returns <info>string</info> if
         <info>PGSQL_DML_STRING</info> is passed via <strong>$options</strong>.

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


id: pg_last_error
type: function
doc:
<comment>Description:</comment>
  Get the last error message string of a connection
  
  <strong>pg_last_error()</strong> returns the last error message for a given <strong>$connection</strong>.
  
  Error messages may be overwritten by internal PostgreSQL (libpq) function calls. It may not return
  an appropriate error message if multiple errors occur inside a PostgreSQL module function.
  
  Use <strong>pg_result_error()</strong>, <strong>pg_result_error_field()</strong>, <strong>pg_result_status()</strong> and <strong>pg_connection_status()</strong> for
  better error handling.
  
  This function used to be called <strong>pg_errormessage()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the last error message on the  given <strong>$connection</strong>, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>pg_result_error()</strong>
   * <strong>pg_result_error_field()</strong>


id: pg_last_notice
type: function
doc:
<comment>Description:</comment>
  Returns the last notice message from PostgreSQL server
    
  
  <strong>pg_last_notice()</strong> returns the last notice message from the PostgreSQL server on the specified
  <strong>$connection</strong>. The PostgreSQL server sends notice messages in several cases, for instance when
  creating a <return>SERIAL</return> column in a table.
  
  With <strong>pg_last_notice()</strong>, you can avoid issuing useless queries by checking whether or not the notice
  is related to your transaction.
  
  Notice message tracking can be set to optional by setting 1 for <return>pgsql.ignore_notice</return> in php.ini.
  
  Notice message logging can be set to optional by setting 0 for <return>pgsql.log_notice</return> in php.ini. Unless
  <return>pgsql.ignore_notice</return> is set to 0, notice message cannot be logged.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.
  <info>int     </info>  <strong>$option    </strong>  One of <info>PGSQL_NOTICE_LAST</info> (to return last notice), <info>PGSQL_NOTICE_ALL</info> (to
                         return all notices), or <info>PGSQL_NOTICE_CLEAR</info> (to clear notices).

<comment>Return:</comment>
  <info>mixed</info>  A <info>string</info> containing the last notice on the  given <strong>$connection</strong> with <info>PGSQL_NOTICE_LAST</info>, an
         <info>array</info> with <info>PGSQL_NOTICE_ALL</info>, a <info>bool</info> with <info>PGSQL_NOTICE_CLEAR</info>, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>pg_query()</strong>
   * <strong>pg_last_error()</strong>


id: pg_last_oid
type: function
doc:
<comment>Description:</comment>
  Returns the last row's OID
  
  <strong>pg_last_oid()</strong> is used to retrieve the OID assigned to an inserted row.
  
  OID field became an optional field from PostgreSQL 7.2 and will not be present by default in
  PostgreSQL 8.1. When the OID field is not present in a table, the programmer must use
  <strong>pg_result_status()</strong> to check for successful insertion.
  
  To get the value of a <return>SERIAL</return> field in an inserted row, it is necessary to use the PostgreSQL
  <return>CURRVAL</return> function, naming the sequence whose last value is required.  If the name of the sequence
  is unknown, the <return>pg_get_serial_sequence</return> PostgreSQL 8.0 function is necessary.
  
  PostgreSQL 8.1 has a function <return>LASTVAL</return> that returns the value of the most recently used sequence in
  the session.  This avoids the need for naming the sequence, table or column altogether.
  
  This function used to be called <strong>pg_getlastoid()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the OID assigned to the most recently inserted row in the specified
          <strong>$connection</strong>, or <info>false</info> on error or no available OID.

<comment>See Also:</comment>
   * <strong>pg_query()</strong>
   * <strong>pg_result_status()</strong>


id: pg_lo_close
type: function
doc:
<comment>Description:</comment>
  Close a large object
  
  <strong>pg_lo_close()</strong> closes a large object. <strong>$large_object</strong> is a resource for the large object from
  <strong>pg_lo_open()</strong>.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.
  
  This function used to be called <strong>pg_loclose()</strong>.

<comment>Param:</comment>
  <info></info>  <strong>$result</strong>  PostgreSQL large object (LOB) resource, returned by <strong>pg_lo_open()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_lo_open()</strong>
   * <strong>pg_lo_create()</strong>
   * <strong>pg_lo_import()</strong>


id: pg_lo_create
type: function
doc:
<comment>Description:</comment>
  Create a large object
  
  <strong>pg_lo_create()</strong> creates a large object and returns the OID of the large object.  PostgreSQL access
  modes <info>INV_READ</info>, <info>INV_WRITE</info>, and  <info>INV_ARCHIVE</info> are not supported, the object is created always with
  both read and write access. <info>INV_ARCHIVE</info> has been removed from PostgreSQL itself (version 6.3 and
  above).
  
  To use the large object interface, it is necessary to enclose it within a transaction block.
  
  Instead of using the large object interface (which has no access controls and is cumbersome to
  use), try PostgreSQL's bytea column type and <strong>pg_escape_bytea()</strong>.
  
  This function used to be called <strong>pg_locreate()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>mixed   </info>  <strong>$object_id </strong>  If an <strong>$object_id</strong> is given the function will try to create a large object
                         with this id, else a free object id is assigned by the server. The
                         parameter was added in PHP 5.3 and relies on functionality that first
                         appeared in PostgreSQL 8.1.

<comment>Return:</comment>
  <info>int</info>  A large object OID or <info>false</info> on error.


id: pg_lo_export
type: function
doc:
<comment>Description:</comment>
  Export a large object to file
  
  <strong>pg_lo_export()</strong> takes a large object in a PostgreSQL database and saves its contents to a file on
  the local filesystem.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.
  
  This function used to be called <strong>pg_loexport()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>int     </info>  <strong>$oid       </strong>  The OID of the large object in the database.
  <info>string  </info>  <strong>$pathname  </strong>  The full path and file name of the file in which to write the large object
                         on the client filesystem.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: pg_lo_import
type: function
doc:
<comment>Description:</comment>
  Import a large object from file
  
  <strong>pg_lo_import()</strong> creates a new large object in the database using a file on the filesystem as its
  data source.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.
  
  This function used to be called <strong>pg_loimport()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$pathname  </strong>  The full path and file name of the file on the client filesystem from which
                         to read the large object data.
  <info>mixed   </info>  <strong>$object_id </strong>  If an <strong>$object_id</strong> is given the function will try to create a large object
                         with this id, else a free object id is assigned by the server. The
                         parameter was added in PHP 5.3 and relies on functionality that first
                         appeared in PostgreSQL 8.1.

<comment>Return:</comment>
  <info>int</info>  The OID of the newly created large object, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>pg_lo_export()</strong>
   * <strong>pg_lo_open()</strong>


id: pg_lo_open
type: function
doc:
<comment>Description:</comment>
  Open a large object
  
  <strong>pg_lo_open()</strong> opens a large object in the database and returns large object resource so that it can
  be manipulated.
  
  Do not close the database connection before closing the large object resource.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.
  
  This function used to be called <strong>pg_loopen()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>int     </info>  <strong>$oid       </strong>  The OID of the large object in the database.
  <info>string  </info>  <strong>$mode      </strong>  Can be either "r" for read-only, "w" for write only or "rw" for read and
                         write.

<comment>Return:</comment>
  <info>resource</info>  A large object resource or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>pg_lo_close()</strong>
   * <strong>pg_lo_create()</strong>


id: pg_lo_read
type: function
doc:
<comment>Description:</comment>
  Read a large object
  
  <strong>pg_lo_read()</strong> reads at most <strong>$len</strong> bytes from a large object and returns it as a <info>string</info>.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.
  
  This function used to be called <strong>pg_loread()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$large_object</strong>  PostgreSQL large object (LOB) resource, returned by <strong>pg_lo_open()</strong>.
  <info>int     </info>  <strong>$len         </strong>  An optional maximum number of bytes to return.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing <strong>$len</strong> bytes from the large object, or <info>false</info> on error.

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


id: pg_lo_read_all
type: function
doc:
<comment>Description:</comment>
  Reads an entire large object and send straight to browser
    
  
  <strong>pg_lo_read_all()</strong> reads a large object and passes it straight through to the browser after sending
  all pending headers. Mainly intended for sending binary data like images or sound.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.
  
  This function used to be called <strong>pg_loreadall()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$large_object</strong>  PostgreSQL large object (LOB) resource, returned by <strong>pg_lo_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  Number of bytes read or <info>false</info> on error.

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


id: pg_lo_seek
type: function
doc:
<comment>Description:</comment>
  Seeks position within a large object
    
  
  <strong>pg_lo_seek()</strong> seeks a position within a large object resource.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.

<comment>Param:</comment>
  <info>resource</info>  <strong>$large_object</strong>  PostgreSQL large object (LOB) resource, returned by <strong>pg_lo_open()</strong>.
  <info>int     </info>  <strong>$offset      </strong>  The number of bytes to seek.
  <info>int     </info>  <strong>$whence      </strong>  One of the constants <info>PGSQL_SEEK_SET</info> (seek from object start),
                           <info>PGSQL_SEEK_CUR</info> (seek from current position) or <info>PGSQL_SEEK_END</info> (seek from
                           object end) .

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: pg_lo_tell
type: function
doc:
<comment>Description:</comment>
  Returns current seek position a of large object
    
  
  <strong>pg_lo_tell()</strong> returns the current position (offset from the beginning) of a large object.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.

<comment>Param:</comment>
  <info>resource</info>  <strong>$large_object</strong>  PostgreSQL large object (LOB) resource, returned by <strong>pg_lo_open()</strong>.

<comment>Return:</comment>
  <info>int</info>  The current seek offset (in number of bytes) from the beginning of the large object.  If
       there is an error, the return value is negative.

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


id: pg_lo_truncate
type: function
doc:
<comment>Description:</comment>
  Truncates a large object
    
  
  <strong>pg_lo_truncate()</strong> truncates a large object resource.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.

<comment>Param:</comment>
  <info>resource</info>  <strong>$large_object</strong>  PostgreSQL large object (LOB) resource, returned by <strong>pg_lo_open()</strong>.
  <info>int     </info>  <strong>$size        </strong>  The number of bytes to truncate.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: pg_lo_unlink
type: function
doc:
<comment>Description:</comment>
  Delete a large object
  
  <strong>pg_lo_unlink()</strong> deletes a large object with the <strong>$oid</strong>. Întoarce valoarea <info>true</info> în cazul
  succesului sau <info>false</info> în cazul eșecului.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.
  
  This function used to be called <strong>pg_lounlink()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>int     </info>  <strong>$oid       </strong>  The OID of the large object in the database.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_lo_create()</strong>
   * <strong>pg_lo_import()</strong>


id: pg_lo_write
type: function
doc:
<comment>Description:</comment>
  Write to a large object
  
  <strong>pg_lo_write()</strong> writes data into a large object at the current seek position.
  
  To use the large object interface, it is necessary to enclose it within a transaction block.
  
  This function used to be called <strong>pg_lowrite()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$large_object</strong>  PostgreSQL large object (LOB) resource, returned by <strong>pg_lo_open()</strong>.
  <info>string  </info>  <strong>$data        </strong>  The data to be written to the large object.  If <strong>$len</strong> is specified and is
                           less than the length of <strong>$data</strong>, only <strong>$len</strong> bytes will be written.
  <info>int     </info>  <strong>$len         </strong>  An optional maximum number of bytes to write.  Must be greater than zero
                           and no greater than the length of <strong>$data</strong>.  Defaults to the length of
                           <strong>$data</strong>.

<comment>Return:</comment>
  <info>int</info>  The number of bytes written to the large object, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>pg_lo_create()</strong>
   * <strong>pg_lo_open()</strong>


id: pg_meta_data
type: function
doc:
<comment>Description:</comment>
  Get meta data for table
    
  
  <strong>pg_meta_data()</strong> returns table definition for <return>table_name</return> as an array.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$table_name</strong>  The name of the table.
  <info>bool    </info>  <strong>$extended  </strong>  Flag for returning extended meta data. Default to <info>false</info>.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> of the table definition, or <info>false</info> on error.

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


id: pg_num_fields
type: function
doc:
<comment>Description:</comment>
  Returns the number of fields in a result
  
  <strong>pg_num_fields()</strong> returns the number of fields (columns) in a PostgreSQL result resource.
  
  This function used to be called <strong>pg_numfields()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).

<comment>Return:</comment>
  <info>int</info>  The number of fields (columns) in the result. On error, -1 is returned.

<comment>See Also:</comment>
   * <strong>pg_num_rows()</strong>
   * <strong>pg_affected_rows()</strong>


id: pg_num_rows
type: function
doc:
<comment>Description:</comment>
  Returns the number of rows in a result
  
  <strong>pg_num_rows()</strong> will return the number of rows in a PostgreSQL result resource.
  
  This function used to be called <strong>pg_numrows()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).

<comment>Return:</comment>
  <info>int</info>  The number of rows in the result. On error, -1 is returned.

<comment>See Also:</comment>
   * <strong>pg_num_fields()</strong>
   * <strong>pg_affected_rows()</strong>


id: pg_options
type: function
doc:
<comment>Description:</comment>
  Get the options associated with the connection
  
  <strong>pg_options()</strong> will return a string containing the options specified on the given PostgreSQL
  <strong>$connection</strong> resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the <strong>$connection</strong> options, or <info>false</info> on error.

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


id: pg_parameter_status
type: function
doc:
<comment>Description:</comment>
  Looks up a current parameter setting of the server
  
  Looks up a current parameter setting of the server.
  
  Certain parameter values are reported by the server automatically at  connection startup or
  whenever their values change. <strong>pg_parameter_status()</strong> can be  used to interrogate these settings. It
  returns the current value of a  parameter if known, or <info>false</info> if the parameter is not known.
  
  Parameters reported as of PostgreSQL 8.0 include <return>server_version</return>,  <return>server_encoding</return>,
  <return>client_encoding</return>,  <return>is_superuser</return>, <return>session_authorization</return>,  <return>DateStyle</return>, <return>TimeZone</return>, and
  <return>integer_datetimes</return>. (<return>server_encoding</return>, <return>TimeZone</return>, and  <return>integer_datetimes</return> were not reported by
  releases before 8.0.) Note that  <return>server_version</return>, <return>server_encoding</return> and <return>integer_datetimes</return>  cannot
  change after PostgreSQL startup.
  
  PostgreSQL 7.3 or lower servers do not report parameter settings, <strong>pg_parameter_status()</strong> includes
  logic to obtain values for <return>server_version</return> and  <return>client_encoding</return> anyway. Applications are encouraged
  to use <strong>pg_parameter_status()</strong> rather than ad  hoc code to determine these values.
  
  On a pre-7.4 PostgreSQL server, changing <return>client_encoding</return> via <return>SET</return> after connection startup will
  not be reflected by <strong>pg_parameter_status()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$param_name</strong>  Possible <strong>$param_name</strong> values include <return>server_version</return>,  <return>server_encoding</return>,
                         <return>client_encoding</return>,  <return>is_superuser</return>, <return>session_authorization</return>,  <return>DateStyle</return>,
                         <return>TimeZone</return>, and  <return>integer_datetimes</return>.  Note that this value is case-sensitive.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the value of the parameter, <info>false</info> on failure or invalid <strong>$param_name</strong>.


id: pg_pconnect
type: function
doc:
<comment>Description:</comment>
  Open a persistent PostgreSQL connection
  
  <strong>pg_pconnect()</strong> opens a connection to a PostgreSQL database. It returns a connection resource that
  is needed by other PostgreSQL functions.
  
  If a second call is made to <strong>pg_pconnect()</strong> with the same <strong>$connection_string</strong> as an existing
  connection, the existing connection will be returned unless you pass <info>PGSQL_CONNECT_FORCE_NEW</info> as
  <strong>$connect_type</strong>.
  
  To enable persistent connection, the pgsql.allow_persistent php.ini directive must be set to "On"
  (which is the default). The maximum number of persistent connection can be defined with the
  pgsql.max_persistent php.ini directive (defaults to -1 for no limit). The total number of
  connections can be set with the pgsql.max_links  php.ini directive.
  
  <strong>pg_close()</strong> will not close persistent links generated by <strong>pg_pconnect()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$connection_string</strong>  The <strong>$connection_string</strong> can be empty to use all default parameters, or
                              it  can contain one or more parameter settings separated by
                              whitespace.  Each parameter setting is in the form <return>keyword = value</return>.
                              Spaces around  the equal sign are optional. To write an empty value or
                              a value  containing spaces, surround it with single quotes, e.g.,
                              <return>keyword =  'a value'</return>. Single quotes and backslashes within the value
                              must be  escaped with a backslash, i.e., \' and \\.
                              
                              The currently recognized parameter keywords are: <strong>$host</strong>, <strong>$hostaddr</strong>,
                              <strong>$port</strong>, <strong>$dbname</strong>, <strong>$user</strong>, <strong>$password</strong>, <strong>$connect_timeout</strong>, <strong>$options</strong>, <strong>$tty</strong>
                              (ignored), <strong>$sslmode</strong>, <strong>$requiressl</strong> (deprecated in favor of <strong>$sslmode</strong>),
                              and <strong>$service</strong>.  Which of these arguments exist depends on your
                              PostgreSQL version.
  <info>int   </info>  <strong>$connect_type     </strong>  If <info>PGSQL_CONNECT_FORCE_NEW</info> is passed, then a new connection is
                              created, even if the <strong>$connection_string</strong> is identical to an existing
                              connection.

<comment>Return:</comment>
  <info>resource</info>  PostgreSQL connection resource on success, <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>pg_connect()</strong>
   * 
     Persistent Database Connections


id: pg_ping
type: function
doc:
<comment>Description:</comment>
  Ping database connection
  
  <strong>pg_ping()</strong> pings a database connection and tries to reconnect it if it is broken.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_connection_status()</strong>
   * <strong>pg_connection_reset()</strong>


id: pg_port
type: function
doc:
<comment>Description:</comment>
  Return the port number associated with the connection
    
  
  <strong>pg_port()</strong> returns the port number that the given PostgreSQL <strong>$connection</strong> resource is connected to.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>int</info>  An <info>int</info> containing the port number of the database server the <strong>$connection</strong> is to,  or <info>false</info> on
       error.


id: pg_prepare
type: function
doc:
<comment>Description:</comment>
  Submits a request to create a prepared statement with the 
    given parameters, and waits for completion
  
  <strong>pg_prepare()</strong> creates a prepared statement for later execution with  <strong>pg_execute()</strong> or
  <strong>pg_send_execute()</strong>.  This feature allows commands that will be used repeatedly to  be parsed and
  planned just once, rather than each time they are executed.  <strong>pg_prepare()</strong> is supported only
  against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.
  
  The function creates a prepared statement named <strong>$stmtname</strong> from the <strong>$query</strong>  string, which must
  contain a single SQL command. <strong>$stmtname</strong> may be "" to  create an unnamed statement, in which case
  any pre-existing unnamed  statement is automatically replaced; otherwise it is an error if the
  statement name is already defined in the current session. If any parameters  are used, they are
  referred to in the <strong>$query</strong> as $1, $2, etc.
  
  Prepared statements for use with <strong>pg_prepare()</strong> can also be created by  executing SQL <return>PREPARE</return>
  statements. (But <strong>pg_prepare()</strong> is more flexible since it  does not require parameter types to be
  pre-specified.) Also, although there  is no PHP function for deleting a prepared statement, the
  SQL <return>DEALLOCATE</return> statement can be used for that purpose.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$stmtname  </strong>  The name to give the prepared statement.  Must be unique per-connection.
                         If "" is specified, then an unnamed statement is created, overwriting any
                         previously defined unnamed statement.
  <info>string  </info>  <strong>$query     </strong>  The parameterized SQL statement.  Must contain only a single statement.
                         (multiple statements separated by semi-colons are not allowed.)  If any
                         parameters  are used, they are referred to as $1, $2, etc.

<comment>Return:</comment>
  <info>resourcefalse</info>  A query result resource on success sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_execute()</strong>
   * <strong>pg_send_execute()</strong>


id: pg_put_line
type: function
doc:
<comment>Description:</comment>
  Send a NULL-terminated string to PostgreSQL backend
  
  <strong>pg_put_line()</strong> sends a NULL-terminated string to the PostgreSQL backend server.  This is needed in
  conjunction with PostgreSQL's <return>COPY FROM</return> command.
  
  <return>COPY</return> is a high-speed data loading interface supported by PostgreSQL.  Data is passed in without
  being parsed,  and in a single transaction.
  
  An alternative to using raw <strong>pg_put_line()</strong> commands is to use <strong>pg_copy_from()</strong>.  This is a far
  simpler  interface.
  
  The application must explicitly send the two characters "\." on the last line to indicate to the
  backend that it has finished sending its data, before issuing <strong>pg_end_copy()</strong>.
  
  Use of the <strong>pg_put_line()</strong> causes most large object operations, including <strong>pg_lo_read()</strong> and
  <strong>pg_lo_tell()</strong>, to subsequently fail. You can use <strong>pg_copy_from()</strong> and <strong>pg_copy_to()</strong> instead.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$data      </strong>  A line of text to be sent directly to the PostgreSQL backend.  A <return>NULL</return>
                         terminator is added automatically.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: pg_query
type: function
doc:
<comment>Description:</comment>
  Execute a query
  
  <strong>pg_query()</strong> executes the <strong>$query</strong> on the specified database <strong>$connection</strong>. <strong>pg_query_params()</strong> should be
  preferred in most cases.
  
  If an error occurs, and <info>false</info> is returned, details of the error can be retrieved using the
  <strong>pg_last_error()</strong> function if the connection is valid.
  
   Although <strong>$connection</strong> can be omitted, it is not recommended, since it can be the cause of hard to
  find bugs in scripts.
  
  Although <strong>$connection</strong> can be omitted, it is not recommended, since it can be the cause of hard to
  find bugs in scripts.
  
  This function used to be called <strong>pg_exec()</strong>. <strong>pg_exec()</strong> is still available for compatibility reasons,
  but users are encouraged to use the newer name.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$query     </strong>  The SQL statement or statements to be executed. When multiple statements
                         are passed to the function, they are automatically executed as one
                         transaction, unless there are explicit BEGIN/COMMIT commands included in
                         the query string. However, using multiple transactions in one function call
                         is not recommended.
                         
                         String interpolation of user-supplied data is extremely dangerous and is
                         likely to lead to SQL injection vulnerabilities. In most cases
                         <strong>pg_query_params()</strong> should be preferred, passing user-supplied values as
                         parameters rather than substituting them into the query string.
                         
                         Any user-supplied data substituted directly into a query string should be
                         properly escaped.

<comment>Return:</comment>
  <info>resourcefalse</info>  A query result resource on success sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_connect()</strong>
   * <strong>pg_pconnect()</strong>
   * <strong>pg_fetch_array()</strong>
   * <strong>pg_fetch_object()</strong>
   * <strong>pg_num_rows()</strong>
   * <strong>pg_affected_rows()</strong>


id: pg_query_params
type: function
doc:
<comment>Description:</comment>
  Submits a command to the server and waits for the result, with the ability to pass parameters
  separately from the SQL command text
  
  Submits a command to the server and waits for the result, with the ability  to pass parameters
  separately from the SQL command text.
  
  <strong>pg_query_params()</strong> is like <strong>pg_query()</strong>,  but offers additional functionality: parameter  values can
  be specified separately from the command string proper.  <strong>pg_query_params()</strong> is supported only
  against PostgreSQL 7.4 or higher connections; it will fail when using earlier versions.
  
  If parameters are used, they are referred to in the <strong>$query</strong> string as $1, $2, etc. The same
  parameter may appear more than once in the <strong>$query</strong>; the same value will be used in that case.
  <strong>$params</strong> specifies the actual values of the parameters. A <info>null</info> value in this array means the
  corresponding parameter is SQL <return>NULL</return>.
  
  The primary advantage of <strong>pg_query_params()</strong> over <strong>pg_query()</strong>  is that parameter values  may be
  separated from the <strong>$query</strong> string, thus avoiding the need for tedious  and error-prone quoting and
  escaping. Unlike <strong>pg_query()</strong>,  <strong>pg_query_params()</strong> allows at  most one SQL command in the given
  string. (There can be semicolons in it,  but not more than one nonempty command.)

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$query     </strong>  The parameterized SQL statement.  Must contain only a single statement.
                         (multiple statements separated by semi-colons are not allowed.)  If any
                         parameters  are used, they are referred to as $1, $2, etc.
                         
                         User-supplied values should always be passed as parameters, not
                         interpolated into the query string, where they form possible  SQL injection
                         attack vectors and introduce bugs when handling data containing quotes. If
                         for some reason you cannot use a parameter, ensure that interpolated values
                         are properly escaped.
  <info>array   </info>  <strong>$params    </strong>  An array of parameter values to substitute for the $1, $2, etc.
                         placeholders in the original prepared query string.  The number of elements
                         in the array must match the number of placeholders.
                         
                         Values intended for <return>bytea</return> fields are not supported as parameters. Use
                         <strong>pg_escape_bytea()</strong> instead, or use the large object functions.

<comment>Return:</comment>
  <info>resourcefalse</info>  A query result resource on success sau <info>false</info> în cazul eșecului.

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


id: pg_result_error
type: function
doc:
<comment>Description:</comment>
  Get error message associated with result
    
  
  <strong>pg_result_error()</strong> returns any error message associated with the <strong>$result</strong> resource. Therefore, the
  user has a better chance of getting the correct error message than with <strong>pg_last_error()</strong>.
  
  The function <strong>pg_result_error_field()</strong> can give much greater detail on result errors than
  <strong>pg_result_error()</strong>.
  
  Because <strong>pg_query()</strong> returns <info>false</info> if the query fails, you must use <strong>pg_send_query()</strong> and
  <strong>pg_get_result()</strong> to get the result handle.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).

<comment>Return:</comment>
  <info>string</info>  Returns a <info>string</info>. Returns empty string if there is no error. If there is an error
          associated with the <strong>$result</strong> parameter, returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>pg_result_error_field()</strong>
   * <strong>pg_query()</strong>
   * <strong>pg_send_query()</strong>
   * <strong>pg_get_result()</strong>
   * <strong>pg_last_error()</strong>
   * <strong>pg_last_notice()</strong>


id: pg_result_error_field
type: function
doc:
<comment>Description:</comment>
  Returns an individual field of an error report
  
  <strong>pg_result_error_field()</strong> returns one of the detailed error message fields associated with <strong>$result</strong>
  resource. It is only available against a PostgreSQL 7.4 or above server.  The error field is
  specified by the <strong>$fieldcode</strong>.
  
  Because <strong>pg_query()</strong> and <strong>pg_query_params()</strong> return <info>false</info> if the query fails, you must use
  <strong>pg_send_query()</strong> and <strong>pg_get_result()</strong> to get the result handle.
  
  If you need to get additional error information from failed <strong>pg_query()</strong> queries,   use
  <strong>pg_set_error_verbosity()</strong> and <strong>pg_last_error()</strong> and then parse the result.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result   </strong>  A PostgreSQL query result resource from a previously executed statement.
  <info>int     </info>  <strong>$fieldcode</strong>  Possible <strong>$fieldcode</strong> values are: <info>PGSQL_DIAG_SEVERITY</info>, <info>PGSQL_DIAG_SQLSTATE</info>,
                        <info>PGSQL_DIAG_MESSAGE_PRIMARY</info>, <info>PGSQL_DIAG_MESSAGE_DETAIL</info>,
                        <info>PGSQL_DIAG_MESSAGE_HINT</info>, <info>PGSQL_DIAG_STATEMENT_POSITION</info>,
                        <info>PGSQL_DIAG_INTERNAL_POSITION</info> (PostgreSQL 8.0+ only),
                        <info>PGSQL_DIAG_INTERNAL_QUERY</info> (PostgreSQL 8.0+ only), <info>PGSQL_DIAG_CONTEXT</info>,
                        <info>PGSQL_DIAG_SOURCE_FILE</info>, <info>PGSQL_DIAG_SOURCE_LINE</info> or
                        <info>PGSQL_DIAG_SOURCE_FUNCTION</info>.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the contents of the error field, <info>null</info> if the field does not exist or
          <info>false</info> on failure.

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


id: pg_result_seek
type: function
doc:
<comment>Description:</comment>
  Set internal row offset in result resource
  
  <strong>pg_result_seek()</strong> sets the internal row offset in a result resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$offset</strong>  Row to move the internal offset to in the <strong>$result</strong> resource. Rows are numbered
                     starting from zero.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>pg_fetch_row()</strong>
   * <strong>pg_fetch_assoc()</strong>
   * <strong>pg_fetch_array()</strong>
   * <strong>pg_fetch_object()</strong>
   * <strong>pg_fetch_result()</strong>


id: pg_result_status
type: function
doc:
<comment>Description:</comment>
  Get status of query result
    
  
  <strong>pg_result_status()</strong> returns the status of a result resource, or the PostgreSQL command completion
  tag associated with the result

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  PostgreSQL query result resource, returned by <strong>pg_query()</strong>, <strong>pg_query_params()</strong> or
                     <strong>pg_execute()</strong> (among others).
  <info>int     </info>  <strong>$type  </strong>  Either <info>PGSQL_STATUS_LONG</info> to return the numeric status  of the <strong>$result</strong>, or
                     <info>PGSQL_STATUS_STRING</info>  to return the command tag of the <strong>$result</strong>. If not
                     specified, <info>PGSQL_STATUS_LONG</info> is the default.

<comment>Return:</comment>
  <info>mixed</info>  Possible return values are <info>PGSQL_EMPTY_QUERY</info>, <info>PGSQL_COMMAND_OK</info>, <info>PGSQL_TUPLES_OK</info>,
         <info>PGSQL_COPY_OUT</info>, <info>PGSQL_COPY_IN</info>, <info>PGSQL_BAD_RESPONSE</info>, <info>PGSQL_NONFATAL_ERROR</info> and
         <info>PGSQL_FATAL_ERROR</info> if <info>PGSQL_STATUS_LONG</info> is specified.  Otherwise, a <info>string</info> containing the
         PostgreSQL command tag is returned.

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


id: pg_select
type: function
doc:
<comment>Description:</comment>
  Select records
    
  
  <strong>pg_select()</strong> selects records specified by <return>assoc_array</return> which has <return>field=&gt;value</return>. For a successful
  query, it returns an array containing all records and fields that match the condition specified by
  <return>assoc_array</return>.
  
  If <return>options</return> is specified, <strong>pg_convert()</strong> is applied to <return>assoc_array</return> with the specified flags.
  
  By default <strong>pg_select()</strong> passes raw values. Values must be escaped or PGSQL_DML_ESCAPE option must
  be specified. PGSQL_DML_ESCAPE quotes and escapes parameters/identifiers. Therefore, table/column
  names became case sensitive.
  
  Note that neither escape nor prepared query can protect LIKE query, JSON, Array, Regex, etc. These
  parameters should be handled according to their contexts. i.e. Escape/validate values.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection </strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$table_name </strong>  Name of the table from which to select rows.
  <info>array   </info>  <strong>$assoc_array</strong>  An <info>array</info> whose keys are field names in the table <strong>$table_name</strong>, and whose
                          values are the conditions that a row must meet to be retrieved.
  <info>int     </info>  <strong>$options    </strong>  Any number of <info>PGSQL_CONV_FORCE_NULL</info>, <info>PGSQL_DML_NO_CONV</info>, <info>PGSQL_DML_ESCAPE</info>,
                          <info>PGSQL_DML_EXEC</info>, <info>PGSQL_DML_ASYNC</info> or <info>PGSQL_DML_STRING</info> combined. If
                          <info>PGSQL_DML_STRING</info> is part of the <strong>$options</strong> then query string is returned.
                          When <info>PGSQL_DML_NO_CONV</info> or <info>PGSQL_DML_ESCAPE</info> is set, it does not call
                          <strong>pg_convert()</strong> internally.

<comment>Return:</comment>
  <info>mixed</info>  Întoarce valoarea <info>true</info> în cazul
         succesului sau <info>false</info> în cazul eșecului.  Returns <info>string</info> if <info>PGSQL_DML_STRING</info> is passed via
         <strong>$options</strong>.

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


id: pg_send_execute
type: function
doc:
<comment>Description:</comment>
  Sends a request to execute a prepared statement with given parameters, without waiting for the
  result(s)
  
  Sends a request to execute a prepared statement with given parameters,  without waiting for the
  result(s).
  
  This is similar to <strong>pg_send_query_params()</strong>, but the command to be executed is specified  by naming
  a previously-prepared statement, instead of giving a query string. The  function's parameters are
  handled identically to <strong>pg_execute()</strong>.  Like <strong>pg_execute()</strong>, it will not work on pre-7.4 versions of
  PostgreSQL.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$stmtname  </strong>  The name of the prepared statement to execute.  if "" is specified, then
                         the unnamed statement is executed.  The name must have been previously
                         prepared using <strong>pg_prepare()</strong>,  <strong>pg_send_prepare()</strong> or a <return>PREPARE</return> SQL command.
  <info>array   </info>  <strong>$params    </strong>  An array of parameter values to substitute for the $1, $2, etc.
                         placeholders in the original prepared query string.  The number of elements
                         in the array must match the number of placeholders.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, <info>false</info> on failure.  Use <strong>pg_get_result()</strong> to determine the query
        result.

<comment>See Also:</comment>
   * <strong>pg_prepare()</strong>
   * <strong>pg_send_prepare()</strong>
   * <strong>pg_execute()</strong>


id: pg_send_prepare
type: function
doc:
<comment>Description:</comment>
  Sends a request to create a prepared statement with the given parameters, without waiting for
  completion
  
  Sends a request to create a prepared statement with the given parameters,  without waiting for
  completion.
  
  This is an asynchronous version of <strong>pg_prepare()</strong>: it returns <info>true</info> if it was able to  dispatch the
  request, and <info>false</info> if not. After a successful call, call  <strong>pg_get_result()</strong> to determine whether the
  server successfully created the  prepared statement. The function's parameters are handled
  identically to  <strong>pg_prepare()</strong>. Like <strong>pg_prepare()</strong>, it will not work  on pre-7.4 versions of
  PostgreSQL.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$stmtname  </strong>  The name to give the prepared statement.  Must be unique per-connection.
                         If "" is specified, then an unnamed statement is created, overwriting any
                         previously defined unnamed statement.
  <info>string  </info>  <strong>$query     </strong>  The parameterized SQL statement.  Must contain only a single statement.
                         (multiple statements separated by semi-colons are not allowed.)  If any
                         parameters  are used, they are referred to as $1, $2, etc.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success, <info>false</info> on failure.  Use <strong>pg_get_result()</strong> to determine the query
        result.

<comment>See Also:</comment>
   * <strong>pg_connect()</strong>
   * <strong>pg_pconnect()</strong>
   * <strong>pg_execute()</strong>
   * <strong>pg_send_execute()</strong>
   * <strong>pg_send_query_params()</strong>


id: pg_send_query
type: function
doc:
<comment>Description:</comment>
  Sends asynchronous query
    
  
  <strong>pg_send_query()</strong> sends a query or queries asynchronously to the <strong>$connection</strong>. Unlike <strong>pg_query()</strong>, it
  can send multiple queries at once to PostgreSQL and get the results one by one using
  <strong>pg_get_result()</strong>.
  
  Script execution is not blocked while the queries are executing. Use <strong>pg_connection_busy()</strong> to check
  if the connection is busy (i.e. the query is executing). Queries may be cancelled using
  <strong>pg_cancel_query()</strong>.
  
  Although the user can send multiple queries at once, multiple queries cannot be sent over a busy
  connection. If a query is sent while the connection is busy, it waits until the last query is
  finished and discards all its results.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$query     </strong>  The SQL statement or statements to be executed.
                         
                         Data inside the query should be properly escaped.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.
        
        Use <strong>pg_get_result()</strong> to determine the query result.

<comment>See Also:</comment>
   * <strong>pg_query()</strong>
   * <strong>pg_cancel_query()</strong>
   * <strong>pg_get_result()</strong>
   * <strong>pg_connection_busy()</strong>


id: pg_send_query_params
type: function
doc:
<comment>Description:</comment>
  Submits a command and separate parameters to the server without waiting for the result(s)
  
  Submits a command and separate parameters to the server without  waiting for the result(s).
  
  This is equivalent to <strong>pg_send_query()</strong> except that query  parameters can be specified separately
  from the  <strong>$query</strong> string. The function's parameters are  handled identically to <strong>pg_query_params()</strong>.
  Like  <strong>pg_query_params()</strong>, it will not work on pre-7.4 PostgreSQL  connections, and it allows only
  one command in the query string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$query     </strong>  The parameterized SQL statement.  Must contain only a single statement.
                         (multiple statements separated by semi-colons are not allowed.)  If any
                         parameters  are used, they are referred to as $1, $2, etc.
  <info>array   </info>  <strong>$params    </strong>  An array of parameter values to substitute for the $1, $2, etc.
                         placeholders in the original prepared query string.  The number of elements
                         in the array must match the number of placeholders.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.
        
        Use <strong>pg_get_result()</strong> to determine the query result.

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


id: pg_set_client_encoding
type: function
doc:
<comment>Description:</comment>
  Set the client encoding
    
  
  <strong>pg_set_client_encoding()</strong> sets the client encoding and returns 0 if success or -1 if error.
  
  PostgreSQL will automatically convert data in the backend database encoding into the frontend
  encoding.
  
  The function used to be called <strong>pg_setclientencoding()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>string  </info>  <strong>$encoding  </strong>  The required client encoding.  One of <return>SQL_ASCII</return>, <return>EUC_JP</return>,  <return>EUC_CN</return>, <return>EUC_KR</return>,
                         <return>EUC_TW</return>,  <return>UNICODE</return>, <return>MULE_INTERNAL</return>, <return>LATINX</return> (X=1...9),  <return>KOI8</return>, <return>WIN</return>, <return>ALT</return>, <return>SJIS</return>,
                         <return>BIG5</return> or <return>WIN1250</return>.
                         
                         The exact list of available encodings depends on your PostgreSQL version,
                         so check your PostgreSQL manual for a more specific list.

<comment>Return:</comment>
  <info>int</info>  Returns 0 on success or -1 on error.

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


id: pg_set_error_verbosity
type: function
doc:
<comment>Description:</comment>
  Determines the verbosity of messages returned by pg_last_error 
     and pg_result_error
    
  
  Determines the verbosity of messages returned by <strong>pg_last_error()</strong>  and <strong>pg_result_error()</strong>.
  
  <strong>pg_set_error_verbosity()</strong> sets the verbosity mode, returning the connection's previous  setting. In
  <info>PGSQL_ERRORS_TERSE</info> mode, returned messages include severity, primary text, and  position only;
  this will normally fit on a single line. The default mode (<info>PGSQL_ERRORS_DEFAULT</info>) produces messages
  that include the above plus any detail, hint, or context  fields (these may span multiple lines).
  The <info>PGSQL_ERRORS_VERBOSE</info> mode includes all available  fields. Changing the verbosity does not
  affect the messages available from  already-existing result objects, only subsequently-created
  ones.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.
  <info>int     </info>  <strong>$verbosity </strong>  The required verbosity: <info>PGSQL_ERRORS_TERSE</info>, <info>PGSQL_ERRORS_DEFAULT</info> or
                         <info>PGSQL_ERRORS_VERBOSE</info>.

<comment>Return:</comment>
  <info>int</info>  The previous verbosity level: <info>PGSQL_ERRORS_TERSE</info>, <info>PGSQL_ERRORS_DEFAULT</info> or
       <info>PGSQL_ERRORS_VERBOSE</info>.

<comment>See Also:</comment>
   * <strong>pg_last_error()</strong>
   * <strong>pg_result_error()</strong>


id: pg_socket
type: function
doc:
<comment>Description:</comment>
  Get a read only handle to the socket underlying a PostgreSQL connection
    
  
  <strong>pg_socket()</strong> returns a read only <info>resource</info> corresponding to the socket underlying the given
  PostgreSQL connection.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>resourcefalse</info>  A socket resource on success sau <info>false</info> în cazul eșecului.


id: pg_trace
type: function
doc:
<comment>Description:</comment>
  Enable tracing a PostgreSQL connection
  
  <strong>pg_trace()</strong> enables tracing of the PostgreSQL frontend/backend communication to a file. To fully
  understand the results, one needs to be familiar with the internals of PostgreSQL communication
  protocol.
  
  For those who are not, it can still be useful for tracing errors in queries sent to the server,
  you could do for example grep '^To backend' trace.log and see what queries actually were sent to
  the PostgreSQL server. For more information, refer to the PostgreSQL Documentation.

<comment>Param:</comment>
  <info>string  </info>  <strong>$pathname  </strong>  The full path and file name of the file in which to write the trace log.
                         Same as in <strong>fopen()</strong>.
  <info>string  </info>  <strong>$mode      </strong>  An optional file access mode, same as for <strong>fopen()</strong>.
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>fopen()</strong>
   * <strong>pg_untrace()</strong>


id: pg_transaction_status
type: function
doc:
<comment>Description:</comment>
  Returns the current in-transaction status of the server
  
  Returns the current in-transaction status of the server.
  
  <strong>pg_transaction_status()</strong> will give incorrect results when using a PostgreSQL 7.3 server that has
  the parameter <return>autocommit</return> set to off.  The server-side autocommit feature has been deprecated and
  does not exist in later server versions.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.

<comment>Return:</comment>
  <info>int</info>  The status can be <info>PGSQL_TRANSACTION_IDLE</info> (currently idle), <info>PGSQL_TRANSACTION_ACTIVE</info> (a
       command is in progress), <info>PGSQL_TRANSACTION_INTRANS</info> (idle, in a valid transaction block), or
       <info>PGSQL_TRANSACTION_INERROR</info> (idle, in a failed transaction block). <info>PGSQL_TRANSACTION_UNKNOWN</info> is
       reported if the connection is bad. <info>PGSQL_TRANSACTION_ACTIVE</info> is reported only when a query has
       been sent to the server and not yet completed.


id: pg_tty
type: function
doc:
<comment>Description:</comment>
  Return the TTY name associated with the connection
    
  
  <strong>pg_tty()</strong> returns the TTY name that server side debugging output is sent to on the given PostgreSQL
  <strong>$connection</strong> resource.
  
  <strong>pg_tty()</strong> is obsolete, since the server no longer pays attention to the TTY setting, but the
  function remains for backwards compatibility.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the debug TTY of  the <strong>$connection</strong>, or <info>false</info> on error.


id: pg_unescape_bytea
type: function
doc:
<comment>Description:</comment>
  Unescape binary for bytea type
    
  
  <strong>pg_unescape_bytea()</strong> unescapes PostgreSQL bytea data values.  It returns the unescaped string,
  possibly containing binary data.
  
  When you <return>SELECT</return> a bytea type, PostgreSQL returns octal byte values prefixed with '\' (e.g. \032).
  Users are supposed to convert back to binary format manually.
  
  This function requires PostgreSQL 7.2 or later. With PostgreSQL 7.2.0 and 7.2.1, bytea values must
  be cast when you enable multi-byte support. i.e. <return>INSERT INTO test_table (image) VALUES
  ('$image_escaped'::bytea);</return> PostgreSQL 7.2.2 or later does not need a cast. The exception is when
  the client and backend character encoding does not match, and there may be multi-byte stream
  error. User must then cast to bytea to avoid this error.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  A <info>string</info> containing PostgreSQL bytea data to be converted into a PHP binary string.

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> containing the unescaped data.

<comment>See Also:</comment>
   * <strong>pg_escape_bytea()</strong>
   * <strong>pg_escape_string()</strong>


id: pg_untrace
type: function
doc:
<comment>Description:</comment>
  Disable tracing of a PostgreSQL connection
  
  Stop tracing started by <strong>pg_trace()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Always returns <info>true</info>.

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


id: pg_update
type: function
doc:
<comment>Description:</comment>
  Update table
    
  
  <strong>pg_update()</strong> updates records that matches <return>condition</return> with <return>data</return>. If <return>options</return> is specified,
  <strong>pg_convert()</strong> is applied to <return>data</return> with specified options.
  
  <strong>pg_update()</strong> updates records specified by <return>assoc_array</return> which has <return>field=&gt;value</return>.
  
  If <return>options</return> is specified, <strong>pg_convert()</strong> is applied to <return>assoc_array</return> with the specified flags.
  
  By default <strong>pg_update()</strong> passes raw values. Values must be escaped or PGSQL_DML_ESCAPE option must
  be specified. PGSQL_DML_ESCAPE quotes and escapes parameters/identifiers. Therefore, table/column
  names became case sensitive.
  
  Note that neither escape nor prepared query can protect LIKE query, JSON, Array, Regex, etc. These
  parameters should be handled according to their contexts. i.e. Escape/validate values.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.
  <info>string  </info>  <strong>$table_name</strong>  Name of the table into which to update rows.
  <info>array   </info>  <strong>$data      </strong>  An <info>array</info> whose keys are field names in the table <strong>$table_name</strong>, and whose
                         values are what matched rows are to be updated to.
  <info>array   </info>  <strong>$condition </strong>  An <info>array</info> whose keys are field names in the table <strong>$table_name</strong>, and whose
                         values are the conditions that a row must meet to be updated.
  <info>int     </info>  <strong>$options   </strong>  Any number of <info>PGSQL_CONV_FORCE_NULL</info>, <info>PGSQL_DML_NO_CONV</info>, <info>PGSQL_DML_ESCAPE</info>,
                         <info>PGSQL_DML_EXEC</info>, <info>PGSQL_DML_ASYNC</info> or <info>PGSQL_DML_STRING</info> combined. If
                         <info>PGSQL_DML_STRING</info> is part of the <strong>$options</strong> then query string is returned.
                         When <info>PGSQL_DML_NO_CONV</info> or <info>PGSQL_DML_ESCAPE</info> is set, it does not call
                         <strong>pg_convert()</strong> internally.

<comment>Return:</comment>
  <info>mixed</info>  Întoarce valoarea <info>true</info> în cazul
         succesului sau <info>false</info> în cazul eșecului.  Returns <info>string</info> if <info>PGSQL_DML_STRING</info> is passed via
         <strong>$options</strong>.

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


id: pg_version
type: function
doc:
<comment>Description:</comment>
  Returns an array with client, protocol and server version (when available)
    
  
  <strong>pg_version()</strong> returns an array with the client, protocol and server version. Protocol and server
  versions are only available if PHP was compiled with PostgreSQL 7.4 or later.
  
  For more detailed server information, use <strong>pg_parameter_status()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  PostgreSQL database connection resource.  When  <strong>$connection</strong> is not present,
                         the default connection  is used. The default connection is the last
                         connection made by  <strong>pg_connect()</strong> or <strong>pg_pconnect()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns an array with <return>client</return>, <return>protocol</return>  and <return>server</return> keys and values (if available).  Returns
         <info>false</info> on error or invalid connection.

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


id: php_ini_loaded_file
type: function
doc:
<comment>Description:</comment>
  Retrieve a path to the loaded php.ini file
  
  Check if a php.ini file is loaded, and retrieve its path.

<comment>Return:</comment>
  <info>stringfalse</info>  The loaded php.ini path, or <info>false</info> if one is not loaded.

<comment>See Also:</comment>
   * <strong>php_ini_scanned_files()</strong>
   * <strong>phpinfo()</strong>
   * The configuration file


id: php_ini_scanned_files
type: function
doc:
<comment>Description:</comment>
  Return a list of .ini files parsed from the additional ini dir
  
  <strong>php_ini_scanned_files()</strong> returns a comma-separated list of configuration files parsed after
  php.ini. The directories searched are set by a compile time option and, optionally, by an
  environment variable at run time: more information can be found in the installation guide.
  
  The returned configuration files include the full path.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns a comma-separated string of .ini files on success. Each comma is followed by
               a newline. If the configure directive --with-config-file-scan-dir wasn't set and the
               PHP_INI_SCAN_DIR environment variable isn't set, <info>false</info> is returned.  If it was set
               and the directory was empty, an empty string is returned.  If a file is
               unrecognizable, the file will still make it into the returned string but a PHP error
               will also result.  This PHP error will be seen both at compile time and while using
               <strong>php_ini_scanned_files()</strong>.

<comment>See Also:</comment>
   * <strong>ini_set()</strong>
   * <strong>phpinfo()</strong>
   * <strong>php_ini_loaded_file()</strong>


id: php_sapi_name
type: function
doc:
<comment>Description:</comment>
  Returns the type of interface between web server and PHP
  
  Returns a lowercase string that describes the type of interface (the Server API, SAPI) that PHP is
  using. For example, in CLI PHP this string will be "cli" whereas with Apache it may have several
  different values depending on the exact SAPI used. Possible values are listed below.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the interface type, as a lowercase string,  sau <info>false</info> în cazul eșecului.
               
               Although not exhaustive, the possible return values include  <return>apache</return>,  <return>apache2handler</return>,
               <return>cgi</return> (until PHP 5.3),  <return>cgi-fcgi</return>, <return>cli</return>, <return>cli-server</return>, <return>embed</return>, <return>fpm-fcgi</return>, <return>litespeed</return>,  <return>nsapi</return>,
               <return>phpdbg</return>.

<comment>See Also:</comment>
   * PHP_SAPI


id: php_strip_whitespace
type: function
doc:
<comment>Description:</comment>
  Return source with stripped comments and whitespace
  
  Returns the PHP source code in <strong>$filename</strong> with PHP comments and whitespace removed. This may be
  useful for determining the amount of actual code in your scripts compared with the amount of
  comments. This is similar to using php -w from the commandline.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the PHP file.

<comment>Return:</comment>
  <info>string</info>  The stripped source code will be returned on success, or an empty string on failure.
          
          This function respects the value of the short_open_tag ini directive.
          
          This function works as described as of PHP 5.0.1. Before this it would only return an
          empty string. For more information on this bug and its prior behavior, see bug report
          #29606.


id: php_uname
type: function
doc:
<comment>Description:</comment>
  Returns information about the operating system PHP is running on
  
  <strong>php_uname()</strong> returns a description of the operating system PHP is running on.  This is the same
  string you see at the very top of the <strong>phpinfo()</strong> output.  For the name of just the operating
  system, consider using the <info>PHP_OS</info> constant, but keep in mind this constant will contain the
  operating system PHP was built on.
  
  On some older UNIX platforms, it may not be able to determine the current OS information in which
  case it will revert to displaying the OS PHP was built on.  This will only happen if your uname()
  library call either doesn't exist or doesn't work.

<comment>Param:</comment>
  <info>string</info>  <strong>$mode</strong>  <strong>$mode</strong> is a single character that defines what information is returned: <return>'a'</return>: This is
                 the default. Contains all modes in the sequence <return>"s n r v m"</return>. <return>'s'</return>: Operating system
                 name. eg. <return>FreeBSD</return>. <return>'n'</return>: Host name. eg.  <return>localhost.example.com</return>. <return>'r'</return>: Release name.
                 eg.  <return>5.1.2-RELEASE</return>. <return>'v'</return>: Version information. Varies a lot between operating
                 systems. <return>'m'</return>: Machine type. eg. <return>i386</return>.
                 
                 <return>'a'</return>: This is the default. Contains all modes in the sequence <return>"s n r v m"</return>.
                 
                 <return>'s'</return>: Operating system name. eg. <return>FreeBSD</return>.
                 
                 <return>'n'</return>: Host name. eg.  <return>localhost.example.com</return>.
                 
                 <return>'r'</return>: Release name. eg.  <return>5.1.2-RELEASE</return>.
                 
                 <return>'v'</return>: Version information. Varies a lot between operating systems.
                 
                 <return>'m'</return>: Machine type. eg. <return>i386</return>.

<comment>Return:</comment>
  <info>string</info>  Returns the description, as a string.

<comment>See Also:</comment>
   * <strong>phpversion()</strong>
   * <strong>php_sapi_name()</strong>
   * <strong>phpinfo()</strong>


id: php_user_filter
type: class
doc:
<comment>Description:</comment>
  Children of this class are passed to <strong>stream_filter_register()</strong>. Note that the __construct method is
  not called; instead, php_user_filter::onCreate should be used for initialization.


id: php_user_filter::filter
type: function
doc:
<comment>Description:</comment>
  Called when applying the filter
  
  This method is called whenever data is read from or written to the attached stream (such as with
  <strong>fread()</strong> or <strong>fwrite()</strong>).

<comment>Param:</comment>
  <info>resource</info>  <strong>$in      </strong>  <strong>$in</strong> is a resource pointing to a <return>bucket brigade</return> which contains one or more
                       <return>bucket</return> objects containing data to be filtered.
  <info>resource</info>  <strong>$out     </strong>  <strong>$out</strong> is a resource pointing to a second <return>bucket brigade</return> into which your
                       modified buckets should be placed.
  <info>int     </info>  <strong>$consumed</strong>  <strong>$consumed</strong>, which must always be declared by reference, should be incremented
                       by the length of the data which your filter reads in and alters.  In most
                       cases this means you will increment <strong>$consumed</strong> by <return>$bucket-&gt;datalen</return> for each
                       <return>$bucket</return>.
  <info>bool    </info>  <strong>$closing </strong>  If the stream is in the process of closing (and therefore this is the last
                       pass through the filterchain), the <strong>$closing</strong> parameter will be set to <info>true</info>.

<comment>Return:</comment>
  <info>int</info>  The filter method must return one of three values upon completion. Return
       ValueMeaning<info>PSFS_PASS_ON</info> Filter processed successfully with data available in the <strong>$out</strong> <return>bucket
       brigade</return>. <info>PSFS_FEED_ME</info> Filter processed successfully, however no data was available to return.
       More data is required from the stream or prior filter. <info>PSFS_ERR_FATAL</info> (default) The filter
       experienced an unrecoverable error and cannot continue.


id: php_user_filter::onClose
type: function
doc:
<comment>Description:</comment>
  Called when closing the filter
  
  This method is called upon filter shutdown (typically, this is also during stream shutdown), and
  is executed after the <return>flush</return> method is called.  If any resources were allocated or initialized
  during <return>onCreate()</return> this would be the time to destroy or dispose of them.

<comment>Return:</comment>
  <info>void</info>  Return value is ignored.


id: php_user_filter::onCreate
type: function
doc:
<comment>Description:</comment>
  Called when creating the filter
  
  This method is called during instantiation of the filter class object.  If your filter allocates
  or initializes any other resources (such as a buffer), this is the place to do it.
  
  When your filter is first instantiated, and <return>yourfilter-&gt;onCreate()</return> is called, a number of
  properties will be available as shown in the table below.
  
  PropertyContents<return>FilterClass-&gt;filtername</return> A string containing the name the filter was
  instantiated with. Filters may be registered under multiple names or under wildcards. Use this
  property to determine which name was used. <return>FilterClass-&gt;params</return> The contents of the <strong>$params</strong>
  parameter passed to <strong>stream_filter_append()</strong> or <strong>stream_filter_prepend()</strong>. <return>FilterClass-&gt;stream</return> The
  stream resource being filtered. Maybe available only during filter calls when the  <return>closing</return>
  parameter is set to <info>false</info>.

<comment>Return:</comment>
  <info>bool</info>  Your implementation of this method should return <info>false</info> on failure, or <info>true</info> on success.


id: phpcredits
type: function
doc:
<comment>Description:</comment>
  Prints out the credits for PHP
  
  This function prints out the credits listing the PHP developers, modules, etc. It generates the
  appropriate HTML codes to insert the information in a page.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  To generate a custom credits page, you may want to use the <strong>$flags</strong> parameter.
               
               Pre-defined <strong>phpcredits()</strong> flagsnamedescriptionCREDITS_ALL All the credits, equivalent
               to using: <info>CREDITS_DOCS</info> + <info>CREDITS_GENERAL</info> + <info>CREDITS_GROUP</info> + <info>CREDITS_MODULES</info> +
               <info>CREDITS_FULLPAGE</info>. It generates a complete stand-alone HTML page with the appropriate
               tags. CREDITS_DOCSThe credits for the documentation teamCREDITS_FULLPAGE Usually used
               in combination with the other flags.  Indicates that a complete stand-alone HTML page
               needs to be printed including the information indicated by the other flags.
               CREDITS_GENERAL General credits: Language design and concept, PHP authors  and SAPI
               module. CREDITS_GROUPA list of the core developersCREDITS_MODULES A list of the
               extension modules for PHP, and their authors CREDITS_SAPI A list of the server API
               modules for PHP, and their authors

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>phpversion()</strong>
   * <strong>php_logo_guid()</strong>
   * <strong>phpinfo()</strong>


id: phpdbg_break_file
type: function
doc:
<comment>Description:</comment>
  Inserts a breakpoint at a line in a file
  
  Insert a breakpoint at the given <strong>$line</strong> in the given <strong>$file</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$file</strong>  The name of the file.
  <info>int   </info>  <strong>$line</strong>  The line number.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

<comment>See Also:</comment>
   * <strong>phpdbg_break_function()</strong>
   * <strong>phpdbg_break_method()</strong>
   * <strong>phpdbg_break_next()</strong>
   * <strong>phpdbg_clear()</strong>


id: phpdbg_break_function
type: function
doc:
<comment>Description:</comment>
  Inserts a breakpoint at entry to a function
  
  Insert a breakpoint at the entry to the given <strong>$function</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$function</strong>  The name of the function.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

<comment>See Also:</comment>
   * <strong>phpdbg_break_file()</strong>
   * <strong>phpdbg_break_method()</strong>
   * <strong>phpdbg_break_next()</strong>
   * <strong>phpdbg_clear()</strong>


id: phpdbg_break_method
type: function
doc:
<comment>Description:</comment>
  Inserts a breakpoint at entry to a method
  
  Insert a breakpoint at the entry to the given <strong>$method</strong> of the given <strong>$class</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$class </strong>  The name of the class.
  <info>string</info>  <strong>$method</strong>  The name of the method.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

<comment>See Also:</comment>
   * <strong>phpdbg_break_file()</strong>
   * <strong>phpdbg_break_function()</strong>
   * <strong>phpdbg_break_next()</strong>
   * <strong>phpdbg_clear()</strong>


id: phpdbg_break_next
type: function
doc:
<comment>Description:</comment>
  Inserts a breakpoint at the next opcode
  
  Insert a breakpoint at the next opcode.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

<comment>See Also:</comment>
   * <strong>phpdbg_break_file()</strong>
   * <strong>phpdbg_break_function()</strong>
   * <strong>phpdbg_break_method()</strong>
   * <strong>phpdbg_clear()</strong>


id: phpdbg_clear
type: function
doc:
<comment>Description:</comment>
  Clears all breakpoints
  
  Clear all breakpoints that have been set, either via one of the <strong>phpdbg_break_*()</strong> functions or
  interactively in the console.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

<comment>See Also:</comment>
   * <strong>phpdbg_break_file()</strong>
   * <strong>phpdbg_break_function()</strong>
   * <strong>phpdbg_break_method()</strong>
   * <strong>phpdbg_break_next()</strong>


id: phpdbg_color
type: function
doc:
<comment>Description:</comment>
  Sets the color of certain elements
  
  Set the <strong>$color</strong> of the given <strong>$element</strong>.

<comment>Param:</comment>
  <info>int   </info>  <strong>$element</strong>  One of the <info>PHPDBG_COLOR_*</info> constants.
  <info>string</info>  <strong>$color  </strong>  The name of the color. One of <return>white</return>, <return>red</return>, <return>green</return>, <return>yellow</return>, <return>blue</return>, <return>purple</return>, <return>cyan</return> or
                    <return>black</return>, optionally with either a trailing <return>-bold</return> or <return>-underline</return>, for instance,
                    <return>white-bold</return> or <return>green-underline</return>.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

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


id: phpdbg_end_oplog
type: function
doc:
<comment>Description:</comment>
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  

<comment>Return:</comment>
  <info>arraynull</info>  


id: phpdbg_exec
type: function
doc:
<comment>Description:</comment>
  Attempts to set the execution context
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

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

<comment>Return:</comment>
  <info>stringbool</info>  If the execution context was set previously it is returned. If the execution context
              was not set previously <info>true</info> is returned. If the request to set the context fails,
              <info>false</info> is returned, and an <info>E_WARNING</info> raised.


id: phpdbg_get_executable
type: function
doc:
<comment>Description:</comment>
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  

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


id: phpdbg_prompt
type: function
doc:
<comment>Description:</comment>
  Sets the command prompt
  
  Set the command prompt to the given <strong>$string</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The string to use as command prompt.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.

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


id: phpdbg_start_oplog
type: function
doc:
<comment>Description:</comment>
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Return:</comment>
  <info>void</info>  Nu este întoarsă nici o valoare.


id: phpinfo
type: function
doc:
<comment>Description:</comment>
  Outputs information about PHP's configuration
  
  Outputs a large amount of information about the current state of  PHP.  This includes information
  about PHP compilation options and extensions, the PHP version, server information and environment
  (if compiled as a module), the PHP environment, OS version information, paths, master and local
  values of configuration options, HTTP headers, and the PHP License.
  
  Because every system is setup differently, <strong>phpinfo()</strong> is commonly used to check configuration
  settings and for available predefined variables on a given system.
  
  <strong>phpinfo()</strong> is also a valuable debugging tool as it contains all EGPCS (Environment, GET, POST,
  Cookie, Server) data.

<comment>Param:</comment>
  <info>int</info>  <strong>$flags</strong>  The output may be customized by passing one or more of the following constants
               bitwise values summed together in the optional <strong>$flags</strong> parameter. One can also combine
               the respective constants or bitwise values together with the bitwise or operator.
               
               <strong>phpinfo()</strong> optionsName (constant)ValueDescriptionINFO_GENERAL1 The configuration line,
               php.ini location, build date, Web Server, System and more. INFO_CREDITS2 PHP Credits.
               See also <strong>phpcredits()</strong>. INFO_CONFIGURATION4 Current Local and Master values for PHP
               directives.  See also <strong>ini_get()</strong>. INFO_MODULES8 Loaded modules and their respective
               settings.  See also <strong>get_loaded_extensions()</strong>. INFO_ENVIRONMENT16 Environment Variable
               information that's also available in $_ENV. INFO_VARIABLES32 Shows all  predefined
               variables from EGPCS (Environment, GET, POST, Cookie, Server). INFO_LICENSE64 PHP
               License information.  See also the license FAQ. INFO_ALL-1 Shows all of the above.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>phpversion()</strong>
   * <strong>phpcredits()</strong>
   * <strong>php_logo_guid()</strong>
   * <strong>ini_get()</strong>
   * <strong>ini_set()</strong>
   * <strong>get_loaded_extensions()</strong>
   * Predefined Variables


id: phpversion
type: function
doc:
<comment>Description:</comment>
  Gets the current PHP version
  
  Returns a string containing the version of the currently running PHP parser or extension.

<comment>Param:</comment>
  <info>string</info>  <strong>$extension</strong>  An optional extension name.

<comment>Return:</comment>
  <info>string</info>  If the optional <strong>$extension</strong> parameter is specified, <strong>phpversion()</strong> returns the version of
          that extension, or <info>false</info> if there is no version information associated or the extension
          isn't enabled.

<comment>See Also:</comment>
   * PHP_VERSION constants
   * <strong>version_compare()</strong>
   * <strong>phpinfo()</strong>
   * <strong>phpcredits()</strong>
   * <strong>php_logo_guid()</strong>
   * <strong>zend_version()</strong>


id: pht\AtomicInteger
type: class
doc:
<comment>Description:</comment>
  The <class>pht\AtomicInteger</class> class is currently the only supported atomic value. It allows for an integer
  to be safely passed around between, and manipulated, by multiple threads. The methods exposed by
  this class do not need mutex locking, since they will acquire the internal mutex lock implicitly.
  pht\AtomicInteger::lock and pht\AtomicInteger::unlock are still exposed, however, for when
  multiple operations involving the same <class>pht\AtomicInteger</class> object need to be grouped together.
  
  The mutex locks of the atomic values are reentrant safe.


id: pht\AtomicInteger::__construct
type: function
doc:
<comment>Description:</comment>
  AtomicInteger creation
  
  Handles the creation of a new atomic integer.

<comment>Param:</comment>
  <info>int</info>  <strong>$value</strong>  The value to initialise the atomic integer to.

<comment>Return:</comment>
  <info>AtomicInteger</info>  No return value.


id: pht\AtomicInteger::dec
type: function
doc:
<comment>Description:</comment>
  Decrements the atomic integer's value by one
  
  This method will decrement the atomic integer's value by one. Internally, the mutex lock of the
  atomic integer will be acquired, and so there is no need to manually acquire it (unless this
  operation needs to be grouped with other operations on the same atomic integer - see the example
  in pht\AtomicInteger::lock for a demonstration of this).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\AtomicInteger::get
type: function
doc:
<comment>Description:</comment>
  Gets the atomic integer's value
  
  This method will fetch the current value of the atomic integer. Internally, the mutex lock of the
  atomic integer will be acquired, and so there is no need to manually acquire it (unless this
  operation needs to be grouped with other operations on the same atomic integer - see the example
  in pht\AtomicInteger::lock for a demonstration of this).

<comment>Return:</comment>
  <info>int</info>  The current integer value of the atomic integer.


id: pht\AtomicInteger::inc
type: function
doc:
<comment>Description:</comment>
  Increments the atomic integer's value by one
  
  This method will increment the atomic integer's value by one. Internally, the mutex lock of the
  atomic integer will be acquired, and so there is no need to manually acquire it (unless this
  operation needs to be grouped with other operations on the same atomic integer - see the example
  in pht\AtomicInteger::lock for a demonstration of this).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\AtomicInteger::lock
type: function
doc:
<comment>Description:</comment>
  Acquires the atomic integer's mutex lock
  
  This method will acquire the mutex lock associated with the atomic integer. The mutex lock only
  needs to be acquired when needing to group together multiple operations.
  
  The mutex locks of the atomic values are reentrant safe. It is therefore valid for the same thread
  to reacquire a mutex lock that it has already acquired.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\AtomicInteger::set
type: function
doc:
<comment>Description:</comment>
  Sets the atomic integer's value
  
  This method will set the value of the atomic integer. Internally, the mutex lock of the atomic
  integer will be acquired, and so there is no need to manually acquire it (unless this operation
  needs to be grouped with other operations on the same atomic integer - see the example in
  pht\AtomicInteger::lock for a demonstration of this).

<comment>Param:</comment>
  <info>int</info>  <strong>$value</strong>  The value to set the atomic integer to.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\AtomicInteger::unlock
type: function
doc:
<comment>Description:</comment>
  Releases the atomic integer's mutex lock
  
  This method will release the mutex lock associated with the atomic integer.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\HashTable
type: class
doc:
<comment>Description:</comment>
  The <class>pht\HashTable</class> class is one of the Inter-Thread Communication (ITC) data structures exposed by
  pht. It can be safely passed around between threads, and manipulated by multiple threads using the
  mutex locks that have been packed in with the data structure. It is reference-counted across
  threads, and so it does not need to be explicitly destroyed.
  
  The <class>pht\HashTable</class> class enables for array access upon its objects (along with the <strong>isset()</strong> and
  <strong>unset()</strong> functions). The <class>ArrayAccess</class> interface is not explicitly implemented, however, because it
  is only needed for such abilities by userland classes.


id: pht\HashTable::lock
type: function
doc:
<comment>Description:</comment>
  Acquires the hash table's mutex lock
  
  This method will acquire the mutex lock associated with the hash table. The mutex lock should
  always be acquired when manipulating the hash table if it is being used by multiple threads.
  
  The mutex locks of the Inter-Thread Communication (ITC) data structures are not reentrant.
  Attempting to reacquire an already-acquired mutex lock by the same thread will therefore cause a
  deadlock.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\HashTable::size
type: function
doc:
<comment>Description:</comment>
  Gets the size of the hash table
  
  Returns the current size of the hash table. This operation requires a <class>pht\HashTable</class>'s mutex lock
  to be held if it is being used by multiple threads.

<comment>Return:</comment>
  <info>int</info>  The size of the hash table.


id: pht\HashTable::unlock
type: function
doc:
<comment>Description:</comment>
  Releases the hash table's mutex lock
  
  This method will release the mutex lock associated with the hash table.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Queue
type: class
doc:
<comment>Description:</comment>
  The <class>pht\Queue</class> class is one of the Inter-Thread Communication (ITC) data structures exposed by pht.
  It can be safely passed around between threads, and manipulated by multiple threads using the
  mutex locks that have been packed in with the data structure. It is reference-counted across
  threads, and so it does not need to be explicitly destroyed.


id: pht\Queue::front
type: function
doc:
<comment>Description:</comment>
  Returns the first value from a queue
  
  This method will remove a value from the front of the queue (in constant time). Attempting to
  return the front value from an empty queue will result in an <class>Error</class> exception.
  
  Due to the fact that all values in a <class>pht\Queue</class> are serialised, extracting a value from the queue
  will require it to be deserialised. This can incur a noticeable performance hit if the inspection
  of the queue's front value is performed within a loop.

<comment>Return:</comment>
  <info>mixed</info>  The value on the front of the queue.


id: pht\Queue::lock
type: function
doc:
<comment>Description:</comment>
  Acquires the queue's mutex lock
  
  This method will acquire the mutex lock associated with the queue. The mutex lock should always be
  acquired when manipulating the queue if it is being used by multiple threads.
  
  The mutex locks of the Inter-Thread Communication (ITC) data structures are not reentrant.
  Attempting to reacquire an already-acquired mutex lock by the same thread will therefore cause a
  deadlock.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Queue::pop
type: function
doc:
<comment>Description:</comment>
  Pops a value off of the front of a queue
  
  This method will remove a value from the front of the queue (in constant time). Attempting to pop
  a value from an empty queue will result in an <class>Error</class> exception.

<comment>Return:</comment>
  <info>mixed</info>  The value removed from the queue.


id: pht\Queue::push
type: function
doc:
<comment>Description:</comment>
  Pushes a value to the end of a queue
  
  This method will add a value onto the queue.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The value to be added to a <class>pht\Queue</class>. This value will be serialised (since it may
                 be passed around between threads).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Queue::size
type: function
doc:
<comment>Description:</comment>
  Gets the size of the queue
  
  Returns the current size of the queue. This operation requires a <class>pht\Queue</class>'s mutex lock to be held
  if it is being used by multiple threads.

<comment>Return:</comment>
  <info>int</info>  The size of the queue.


id: pht\Queue::unlock
type: function
doc:
<comment>Description:</comment>
  Releases the queue's mutex lock
  
  This method will release the mutex lock associated with the queue.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Runnable
type: class
doc:
<comment>Description:</comment>
  The pht\Runnable interface enforces the implementation of a run() method on classes that should be
  threaded. This method acts as the entry point of the threaded class.


id: pht\Runnable::run
type: function
doc:
<comment>Description:</comment>
  The entry point of a threaded class
  
  This method acts as the entry point of execution for a threaded class. It must be defined by all
  classes that will be threaded.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Thread
type: class
doc:
<comment>Description:</comment>
  The <class>pht\Thread</class> class abstracts away a native thread. It has an internal task queue, where the
  methods pht\Thread::addClassTask, pht\Thread::addFunctionTask, and pht\Thread::addFileTask push
  new tasks onto this queue. Invoking the pht\Thread::start method will cause the new thread to be
  spawned, where it will then begin working through the task queue. A thread may be reused for any
  number of tasks.


id: pht\Thread::addClassTask
type: function
doc:
<comment>Description:</comment>
  Class threading
  
  Adds a new class task to a <class>pht\Thread</class>s internal task queue.

<comment>Param:</comment>
  <info>string</info>  <strong>$className</strong>  The name of the class to be threaded. This class must implement the
                      pht\Runnable interface.
  <info>mixed </info>  <strong>$ctorArgs </strong>  An optional list of arguments for the threaded class' constructor. These
                      arguments will be serialised (since they are being passed to another thread).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Thread::addFileTask
type: function
doc:
<comment>Description:</comment>
  File threading
  
  Adds a new file task to a <class>pht\Thread</class>s internal task queue.

<comment>Param:</comment>
  <info>     </info>  <strong>$func   </strong>  The name of the file to be threaded.
  <info>mixed</info>  <strong>$globals</strong>  An optional list of arguments for the file. These arguments will be placed into a
                   <return>$_THREAD</return> superglobal, which will be made available inside of the threaded file.
                   All arguments will be serialised (since they are being passed to another thread).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Thread::addFunctionTask
type: function
doc:
<comment>Description:</comment>
  Function threading
  
  Adds a new function task to a <class>pht\Thread</class>s internal task queue.

<comment>Param:</comment>
  <info>callable</info>  <strong>$func    </strong>  The function to be threaded. If it is bound to an instance, then <return>$this</return> will
                       become <info>null</info>.
  <info>mixed   </info>  <strong>$funcArgs</strong>  An optional list of arguments for the function. These arguments will be
                       serialised (since they are being passed to another thread).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Thread::join
type: function
doc:
<comment>Description:</comment>
  Joins a thread
  
  This method will join the spawned thread (though it will first wait for that thread's internal
  task queue to finish). As a matter of good practice, threads should always be joined. Not joining
  a thread may lead to undefined behaviour.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Thread::start
type: function
doc:
<comment>Description:</comment>
  Starts the new thread
  
  This will cause a new thread to be spawned for the associated <class>pht\Thread</class> object, where its
  internal task queue will begin to be processed.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Thread::taskCount
type: function
doc:
<comment>Description:</comment>
  Gets a thread's task count
  
  Retrieves the current task count of a <class>pht\Thread</class>.

<comment>Return:</comment>
  <info>int</info>  The number of tasks remaining to be processed.


id: pht\Threaded
type: class
doc:
<comment>Description:</comment>
  The pht\Threaded interface is an internal interface used by the Inter-Thread Communication (ITC)
  data structures (<class>pht\HashTable</class>, <class>pht\Queue</class>, and <class>pht\Vector</class>). It allows those data structures to be
  threaded and ensures that the mutex locking API (pht\Threaded::lock and pht\Threaded::unlock) is
  implemented by each of the ITC data structures. It is not implementable by userland classes (since
  standalone mutex locks are not exposed).


id: pht\Threaded::lock
type: function
doc:
<comment>Description:</comment>
  Acquires the mutex lock
  
  This method will acquire the mutex lock associated with the given class (either a <class>pht\HashTable</class>,
  <class>pht\Queue</class>, <class>pht\Vector</class>, or <class>pht\AtomicInteger</class>).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Threaded::unlock
type: function
doc:
<comment>Description:</comment>
  Releases the mutex lock
  
  This method will unlock the mutex lock associated with the given class (either a <class>pht\HashTable</class>,
  <class>pht\Queue</class>, <class>pht\Vector</class>, or <class>pht\AtomicInteger</class>).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Vector
type: class
doc:
<comment>Description:</comment>
  The <class>pht\Vector</class> class is one of the Inter-Thread Communication (ITC) data structures exposed by
  pht. It can be safely passed around between threads, and manipulated by multiple threads using the
  mutex locks that have been packed in with the data structure. It is reference-counted across
  threads, and so is does not need to be explicitly destroyed.
  
  The <class>pht\Vector</class> class enables for array access upon its objects (along with the <strong>isset()</strong> and <strong>unset()</strong>
  functions). The <class>ArrayAccess</class> interface is not explicitly implemented, however, because it is only
  needed for such abilities by userland classes.


id: pht\Vector::__construct
type: function
doc:
<comment>Description:</comment>
  Vector creation
  
  Handles the creation of a new vector.

<comment>Param:</comment>
  <info>int  </info>  <strong>$size </strong>  The size of the vector that will be created.
  <info>mixed</info>  <strong>$value</strong>  The value to initialise the empty slots in the vector to.

<comment>Return:</comment>
  <info>Vector</info>  No return value.


id: pht\Vector::deleteAt
type: function
doc:
<comment>Description:</comment>
  Deletes a value in the vector
  
  This method deletes a value at the specified offset in the vector (in linear time).
  
  Since the <class>pht\Vector</class> class supports array access, deleting values can also be performed using the
  array subset notation (<return>[]</return>) in combination with the <strong>unset()</strong> function.

<comment>Param:</comment>
  <info>int</info>  <strong>$offset</strong>  The offset at which the value will be deleted at. This offset must be within the
                0..(N-1) range (inclusive), where N is the size of the vector. Attempting to delete
                at offsets outside of this range will result in an <class>Error</class> exception.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Vector::insertAt
type: function
doc:
<comment>Description:</comment>
  Inserts a value into the vector
  
  This method inserts a value at the specified offset into the vector (in linear time). The vector
  will automatically be resized if it is not large enough.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value </strong>  The value to be inserted into the vector. This value will be serialised (since it
                  may be passed around between threads).
  <info>int  </info>  <strong>$offset</strong>  The offset at which the value will be inserted at. This offset must be within the
                  0..N range (inclusive), where N is the size of the vector. Inserting at position N
                  is the equivalent of using pht\Vector::push, and inserting at position 0 is the
                  equivalent of using pht\Vector::unshift. Attempting to insert at offsets outside
                  of this range will result in an <class>Error</class> exception.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Vector::lock
type: function
doc:
<comment>Description:</comment>
  Acquires the vector's mutex lock
  
  This method will acquire the mutex lock associated with the vector. The mutex lock should always
  be acquired when manipulating the vector if it is being used by multiple threads.
  
  The mutex locks of the Inter-Thread Communication (ITC) data structures are not reentrant.
  Attempting to reacquire an already-acquired mutex lock by the same thread will therefore cause a
  deadlock.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Vector::pop
type: function
doc:
<comment>Description:</comment>
  Pops a value to the vector
  
  This method pops a value from the end of a vector (in constant time). Popping a value from an
  empty vector will result in an <class>Error</class> exception.

<comment>Return:</comment>
  <info>mixed</info>  The value from the end of the vector.


id: pht\Vector::push
type: function
doc:
<comment>Description:</comment>
  Pushes a value to the vector
  
  This method pushes a value onto the end of a vector (in constant time). The vector will
  automatically be resized if it is not large enough.
  
  Since the <class>pht\Vector</class> class supports array access, new values can also be pushed onto the vector
  using the empty subset notation (<return>[]</return>).

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The value to be pushed onto the end of the vector. This value will be serialised
                 (since it may be passed around between threads).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Vector::resize
type: function
doc:
<comment>Description:</comment>
  Resizes a vector
  
  Resizes the vector. If it is enlarged, then the <strong>$value</strong> parameter will be used to fill in the new
  slots. If it is made smaller, then the end values will be truncated.

<comment>Param:</comment>
  <info>int  </info>  <strong>$size </strong>  The new size of the vector.
  <info>mixed</info>  <strong>$value</strong>  The value to initialise the empty vector slots to (only used if the vector is
                 enlarged).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Vector::shift
type: function
doc:
<comment>Description:</comment>
  Shifts a value from the vector
  
  This method shifts a value from the front of a vector (in linear time). Shifting a value from an
  empty vector will result in an <class>Error</class> exception.

<comment>Return:</comment>
  <info>mixed</info>  The value from the front of the vector.


id: pht\Vector::size
type: function
doc:
<comment>Description:</comment>
  Gets the size of the vector
  
  Returns the current size of the vector. This operation requires a <class>pht\Vector</class>'s mutex lock to be
  held if it is being used by multiple threads.

<comment>Return:</comment>
  <info>int</info>  The size of the vector.


id: pht\Vector::unlock
type: function
doc:
<comment>Description:</comment>
  Releases the vector's mutex lock
  
  This method will release the mutex lock associated with the vector.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Vector::unshift
type: function
doc:
<comment>Description:</comment>
  Unshifts a value to the vector front
  
  This method unshifts a value to the front of a vector (in linear time). The vector will
  automatically be resized if it is not large enough.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The value to be pushed onto the beginning of the vector. This value will be
                 serialised (since it may be passed around between threads).

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pht\Vector::updateAt
type: function
doc:
<comment>Description:</comment>
  Updates a value in the vector
  
  This method updates a value at the specified offset in the vector (in linear time). The vector
  will automatically be resized if it is not large enough.
  
  Since the <class>pht\Vector</class> class supports array access, updating values can also be performed using the
  array subset notation (<return>[]</return>).

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value </strong>  The value to be inserted into the vector. This value will be serialised (since it
                  may be passed around between threads).
  <info>int  </info>  <strong>$offset</strong>  The offset at which the value will be updated at. This offset must be within the
                  0..(N-1) range (inclusive), where N is the size of the vector. Attempting to
                  update at offsets outside of this range will result in an <class>Error</class> exception.

<comment>Return:</comment>
  <info>void</info>  No return value.


id: pi
type: function
doc:
<comment>Description:</comment>
  Get value of pi
  
  Returns an approximation of pi. Also, you can use the <info>M_PI</info> constant which yields identical results
  to <strong>pi()</strong>.

<comment>Return:</comment>
  <info>float</info>  The value of pi as float.


id: png2wbmp
type: function
doc:
<comment>Description:</comment>
  Convert PNG image file to WBMP image file
  
  Converts a PNG file into a WBMP file.

<comment>Param:</comment>
  <info>string</info>  <strong>$pngname    </strong>  Path to PNG file.
  <info>string</info>  <strong>$wbmpname   </strong>  Path to destination WBMP file.
  <info>int   </info>  <strong>$dest_height</strong>  Destination image height.
  <info>int   </info>  <strong>$dest_width </strong>  Destination image width.
  <info>int   </info>  <strong>$threshold  </strong>  Threshold value, between 0 and 8 (inclusive).

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.
        
        Însă dacă libgd eșuează să afișeze imaginea, această funcție întoarce <info>true</info>.

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


id: popen
type: function
doc:
<comment>Description:</comment>
  Opens process file pointer
  
  Opens a pipe to a process executed by forking the command given by <strong>$command</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$command</strong>  The command
  <info>string</info>  <strong>$mode   </strong>  The mode. Either <return>'r'</return> for reading, or <return>'w'</return> for writing.
                    
                    On Windows, <strong>popen()</strong> defaults to text mode, i.e. any <return>\n</return> characters written to or
                    read from the pipe will be translated to <return>\r\n</return>. If this is not desired, binary
                    mode can be enforced by setting <strong>$mode</strong> to <return>'rb'</return> and <return>'wb'</return>, respectively.

<comment>Return:</comment>
  <info>resourcefalse</info>  Returns a file pointer identical to that returned by <strong>fopen()</strong>, except that it is
                 unidirectional (may only be used for reading or writing) and must be closed with
                 <strong>pclose()</strong>. This pointer may be used with <strong>fgets()</strong>, <strong>fgetss()</strong>, and <strong>fwrite()</strong>. When the
                 mode is 'r', the returned file pointer equals to the STDOUT of the command, when
                 the mode is 'w', the returned file pointer equals to the STDIN of the command.
                 
                 If an error occurs, returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>pclose()</strong>
   * <strong>fopen()</strong>
   * <strong>proc_open()</strong>


id: pos
type: function
doc:
<comment>Description:</comment>
  Pseudonim pentru current
  
  Această funcție este pseudonim pentru:  <strong>current()</strong>


id: posix_access
type: function
doc:
<comment>Description:</comment>
  Determine accessibility of a file
    
  
  <strong>posix_access()</strong> checks the user's permission of a file.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The name of the file to be tested.
  <info>int   </info>  <strong>$flags   </strong>  A mask consisting of one or more of <info>POSIX_F_OK</info>, <info>POSIX_R_OK</info>, <info>POSIX_W_OK</info> and
                     <info>POSIX_X_OK</info>.
                     
                     <info>POSIX_R_OK</info>, <info>POSIX_W_OK</info> and <info>POSIX_X_OK</info> request checking whether the file exists
                     and has read, write and execute permissions, respectively. <info>POSIX_F_OK</info> just
                     requests checking for the existence of the file.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>posix_get_last_error()</strong>
   * <strong>posix_strerror()</strong>


id: posix_ctermid
type: function
doc:
<comment>Description:</comment>
  Get path name of controlling terminal
  
  Generates a <info>string</info> which is the pathname for the current  controlling terminal for the process.
  On error this will set errno,  which can be checked using <strong>posix_get_last_error()</strong>

<comment>Return:</comment>
  <info>stringfalse</info>  Upon successful completion, returns <info>string</info> of the pathname to  the current
               controlling terminal.  Otherwise <info>false</info> is returned and errno is set, which can be
               checked with <strong>posix_get_last_error()</strong>.

<comment>See Also:</comment>
   * <strong>posix_ttyname()</strong>
   * <strong>posix_get_last_error()</strong>


id: posix_errno
type: function
doc:
<comment>Description:</comment>
  Pseudonim pentru posix_get_last_error
  
  Această funcție este pseudonim pentru:  <strong>posix_get_last_error()</strong>.


id: posix_get_last_error
type: function
doc:
<comment>Description:</comment>
  Retrieve the error number set by the last posix function that failed
  
  Retrieve the error number set by the last posix function that failed. The system error message
  associated with the errno may be checked with <strong>posix_strerror()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the errno (error number) set by the last posix function that failed.  If no errors
       exist, 0 is returned.

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


id: posix_getcwd
type: function
doc:
<comment>Description:</comment>
  Pathname of current directory
  
  Gets the absolute pathname of the script's current working directory. On error, it sets errno
  which can be checked using <strong>posix_get_last_error()</strong>

<comment>Return:</comment>
  <info>stringfalse</info>  Returns a <info>string</info> of the absolute pathname on success.   On error, returns <info>false</info> and
               sets errno which can be checked with <strong>posix_get_last_error()</strong>.


id: posix_getegid
type: function
doc:
<comment>Description:</comment>
  Return the effective group ID of the current process
  
  Return the numeric effective group ID of the current process.

<comment>Return:</comment>
  <info>int</info>  Returns an <info>int</info> of the effective group ID.

<comment>See Also:</comment>
   * <strong>posix_getgrgid()</strong>
   * <strong>posix_getgid()</strong>
   * <strong>posix_setgid()</strong>


id: posix_geteuid
type: function
doc:
<comment>Description:</comment>
  Return the effective user ID of the current process
  
  Return the numeric effective user ID of the current process. See also <strong>posix_getpwuid()</strong> for
  information on how to convert this into a useable username.

<comment>Return:</comment>
  <info>int</info>  Returns the user id, as an <info>int</info>

<comment>See Also:</comment>
   * <strong>posix_getpwuid()</strong>
   * <strong>posix_getuid()</strong>
   * <strong>posix_setuid()</strong>
   * POSIX man page GETEUID(2)


id: posix_getgid
type: function
doc:
<comment>Description:</comment>
  Return the real group ID of the current process
  
  Return the numeric real group ID of the current process.

<comment>Return:</comment>
  <info>int</info>  Returns the real group id, as an <info>int</info>.

<comment>See Also:</comment>
   * <strong>posix_getgrgid()</strong>
   * <strong>posix_getegid()</strong>
   * <strong>posix_setgid()</strong>
   * POSIX man page GETGID(2)


id: posix_getgrgid
type: function
doc:
<comment>Description:</comment>
  Return info about a group by group id
  
  Gets information about a group provided its id.

<comment>Param:</comment>
  <info>int</info>  <strong>$group_id</strong>  The group id.

<comment>Return:</comment>
  <info>arrayfalse</info>  The array elements returned are: The group information arrayElementDescriptionname The
              name element contains the name of the group. This is a short, usually less than 16
              character "handle" of the group, not the real, full name. passwd The passwd element
              contains the group's password in an encrypted format. Often, for example on a system
              employing "shadow" passwords, an asterisk is returned instead. gid Group ID, should be
              the same as the <strong>$group_id</strong> parameter used when calling the function, and hence
              redundant. members This consists of an <info>array</info> of <info>string</info>'s for all the members in the
              group.  The function returns <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>posix_getegid()</strong>
   * <strong>posix_getgrnam()</strong>
   * <strong>filegroup()</strong>
   * <strong>stat()</strong>
   * POSIX man page GETGRNAM(3)


id: posix_getgrnam
type: function
doc:
<comment>Description:</comment>
  Return info about a group by name
  
  Gets information about a group provided its name.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  The name of the group

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns an <info>array</info> on success,  sau <info>false</info> în cazul eșecului. The array elements returned
              are: The group information arrayElementDescriptionname The name element contains the
              name of the group. This is a short, usually less than 16 character "handle" of the
              group, not the real, full name.  This should be the same as the <strong>$name</strong> parameter used
              when calling the function, and hence redundant. passwd The passwd element contains the
              group's password in an encrypted format. Often, for example on a system employing
              "shadow" passwords, an asterisk is returned instead. gid Group ID of the group in
              numeric form. members This consists of an <info>array</info> of <info>string</info>'s for all the members in the
              group.

<comment>See Also:</comment>
   * <strong>posix_getegid()</strong>
   * <strong>posix_getgrgid()</strong>
   * <strong>filegroup()</strong>
   * <strong>stat()</strong>
   * POSIX man page GETGRNAM(3)


id: posix_getgroups
type: function
doc:
<comment>Description:</comment>
  Return the group set of the current process
  
  Gets the group set of the current process.

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns an array of integers containing the numeric group ids of the group set of the
              current process,  sau <info>false</info> în cazul eșecului.

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


id: posix_getlogin
type: function
doc:
<comment>Description:</comment>
  Return login name
  
  Returns the login name of the user owning the current process.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the login name of the user, as a <info>string</info>,  sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>posix_getpwnam()</strong>
   * POSIX man page GETLOGIN(3)


id: posix_getpgid
type: function
doc:
<comment>Description:</comment>
  Get process group id for job control
  
  Returns the process group identifier of the process <strong>$process_id</strong> sau <info>false</info> în cazul eșecului.

<comment>Param:</comment>
  <info>int</info>  <strong>$process_id</strong>  The process id.

<comment>Return:</comment>
  <info>intfalse</info>  Returns the identifier, as an <info>int</info>.

<comment>See Also:</comment>
   * <strong>posix_getppid()</strong>
   * man page SETPGID(2)


id: posix_getpgrp
type: function
doc:
<comment>Description:</comment>
  Return the current process group identifier
  
  Return the process group identifier of the current process.

<comment>Return:</comment>
  <info>int</info>  Returns the identifier, as an <info>int</info>.

<comment>See Also:</comment>
   * POSIX.1 and the getpgrp(2) manual page on the POSIX system for
     more information on process groups.


id: posix_getpid
type: function
doc:
<comment>Description:</comment>
  Return the current process identifier
  
  Return the process identifier of the current process.

<comment>Return:</comment>
  <info>int</info>  Returns the identifier, as an <info>int</info>.

<comment>See Also:</comment>
   * <strong>posix_kill()</strong>
   * POSIX man page GETPID(2)


id: posix_getppid
type: function
doc:
<comment>Description:</comment>
  Return the parent process identifier
  
  Return the process identifier of the parent process of the current process.

<comment>Return:</comment>
  <info>int</info>  Returns the identifier, as an <info>int</info>.


id: posix_getpwnam
type: function
doc:
<comment>Description:</comment>
  Return info about a user by username
  
  Returns an <info>array</info> of information about the given user.

<comment>Param:</comment>
  <info>string</info>  <strong>$username</strong>  An alphanumeric username.

<comment>Return:</comment>
  <info>arrayfalse</info>  On success an array with the following elements is returned, else  <info>false</info> is returned:
              The user information arrayElementDescriptionname The name element contains the
              username of the user. This is a short, usually less than 16 character "handle" of the
              user, not the real, full name. This should be the same as the <strong>$username</strong> parameter used
              when calling the function, and hence redundant. passwd The passwd element contains the
              user's password in an encrypted format. Often, for example on a system employing
              "shadow" passwords, an asterisk is returned instead. uid User ID of the user in
              numeric form. gid The group ID of the user. Use the function <strong>posix_getgrgid()</strong> to
              resolve the group name and a list of its members. gecos GECOS is an obsolete term that
              refers to the finger information field on a Honeywell batch processing system. The
              field, however, lives on, and its contents have been formalized by POSIX. The field
              contains a comma separated list containing the user's full name, office phone, office
              number, and home phone number. On most systems, only the user's full name is
              available. dir This element contains the absolute path to the home directory of the
              user. shell The shell element contains the absolute path to the executable of the
              user's default shell.

<comment>See Also:</comment>
   * <strong>posix_getpwuid()</strong>
   * POSIX man page GETPWNAM(3)


id: posix_getpwuid
type: function
doc:
<comment>Description:</comment>
  Return info about a user by user id
  
  Returns an <info>array</info> of information about the user  referenced by the given user ID.

<comment>Param:</comment>
  <info>int</info>  <strong>$user_id</strong>  The user identifier.

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns an associative array with the following elements: The user information
              arrayElementDescriptionname The name element contains the username of the user. This
              is a short, usually less than 16 character "handle" of the user, not the real, full
              name. passwd The passwd element contains the user's password in an encrypted format.
              Often, for example on a system employing "shadow" passwords, an asterisk is returned
              instead. uid User ID, should be the same as the <strong>$user_id</strong> parameter used when calling
              the function, and hence redundant. gid The group ID of the user. Use the function
              <strong>posix_getgrgid()</strong> to resolve the group name and a list of its members. gecos GECOS is
              an obsolete term that refers to the finger information field on a Honeywell batch
              processing system. The field, however, lives on, and its contents have been formalized
              by POSIX. The field contains a comma separated list containing the user's full name,
              office phone, office number, and home phone number. On most systems, only the user's
              full name is available. dir This element contains the absolute path to the home
              directory of the user. shell The shell element contains the absolute path to the
              executable of the user's default shell.  The function returns <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>posix_getpwnam()</strong>
   * POSIX man page GETPWNAM(3)


id: posix_getrlimit
type: function
doc:
<comment>Description:</comment>
  Return info about system resource limits
  
  <strong>posix_getrlimit()</strong> returns an <info>array</info> of information about the current resource's soft and hard
  limits.
  
  Fiecare resursă are asociată o limită soft și hard. Limita soft este valoarea pe care nucleul o
  impune pentru resursa corespunzătoare. Limita hard acționează ca un plafon pentru limita soft. Un
  proces neprivilegiat poate să-și stabilească limita soft la o valoarea între 0 și limita hard, sau
  poate să-și micșoreze ireversibil limita hard.

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns an associative <info>array</info> of elements for each limit that is defined. Each limit
              has a soft and a hard limit. List of possible limits returnedLimit nameLimit
              descriptioncore The maximum size of the core file.  When 0, not core files are
              created.  When core files are larger than this size, they will be truncated at this
              size. totalmem The maximum size of the memory of the process, in bytes. virtualmem The
              maximum size of the virtual memory for the process, in bytes. data The maximum size of
              the data segment for the process, in bytes. stack The maximum size of the process
              stack, in bytes. rss The maximum number of virtual pages resident in RAM maxproc The
              maximum number of processes that can be created for the real user ID of the calling
              process. memlock The maximum number of bytes of memory that may be locked into RAM.
              cpu The amount of time the process is allowed to use the CPU. filesize The maximum
              size of the data segment for the process, in bytes. openfiles One more than the
              maximum number of open file descriptors.  The function returns <info>false</info> on failure.

<comment>See Also:</comment>
   * man page GETRLIMIT(2)
   * <strong>posix_setrlimit()</strong>


id: posix_getsid
type: function
doc:
<comment>Description:</comment>
  Get the current sid of the process
  
  Return the session id of the process <strong>$process_id</strong>. The session id of a process is the process group
  id of the session leader.

<comment>Param:</comment>
  <info>int</info>  <strong>$process_id</strong>  The process identifier. If set to 0, the current process is assumed.  If an
                    invalid <strong>$process_id</strong> is specified, then <info>false</info> is returned and an error is set
                    which can be checked with <strong>posix_get_last_error()</strong>.

<comment>Return:</comment>
  <info>intfalse</info>  Returns the identifier, as an <info>int</info>,  sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>posix_getpgid()</strong>
   * <strong>posix_setsid()</strong>
   * POSIX man page GETSID(2)


id: posix_getuid
type: function
doc:
<comment>Description:</comment>
  Return the real user ID of the current process
  
  Return the numeric real user ID of the current process.

<comment>Return:</comment>
  <info>int</info>  Returns the user id, as an <info>int</info>

<comment>See Also:</comment>
   * <strong>posix_getpwuid()</strong>
   * POSIX man page GETUID(2)


id: posix_initgroups
type: function
doc:
<comment>Description:</comment>
  Calculate the group access list
  
  Calculates the group access list for the user specified in name.

<comment>Param:</comment>
  <info>string</info>  <strong>$username</strong>  The user to calculate the list for.
  <info>int   </info>  <strong>$group_id</strong>  Typically the group number from the password file.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * The Unix manual page for initgroups(3).


id: posix_isatty
type: function
doc:
<comment>Description:</comment>
  Determine if a file descriptor is an interactive terminal
  
  Determines if the file descriptor <strong>$file_descriptor</strong> refers to a valid terminal type device.

<comment>Param:</comment>
  <info></info>  <strong>$fd</strong>  Descriptorul fișierului, care trebuie să fie o <info>resource</info> de fișier, sau un <info>integer</info>. Un
         <info>integer</info> se va presupune a fi un descriptor de fișier care poate fi transmis direct către
         apelul de sistem ce stă la bază.
         
         În majoritatea cazurilor veți dori să utilizați o <info>resource</info> de fișier.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$file_descriptor</strong> is an open descriptor connected to a terminal and <info>false</info>
        otherwise.

<comment>See Also:</comment>
   * <strong>posix_ttyname()</strong>
   * <strong>stream_isatty()</strong>


id: posix_kill
type: function
doc:
<comment>Description:</comment>
  Send a signal to a process
  
  Send the signal <strong>$signal</strong> to the process with the process identifier <strong>$process_id</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$process_id</strong>  The process identifier.
  <info>int</info>  <strong>$signal    </strong>  One of the PCNTL signals constants.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * 
     The kill(2) manual page of the POSIX system, which contains additional
     information about negative process identifiers, the special pid 0, the
     special pid -1, and the signal number 0.
    


id: posix_mkfifo
type: function
doc:
<comment>Description:</comment>
  Create a fifo special file (a named pipe)
  
  <strong>posix_mkfifo()</strong> creates a special <return>FIFO</return> file which exists in the file system and acts as a
  bidirectional communication endpoint for processes.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename   </strong>  Path to the <return>FIFO</return> file.
  <info>int   </info>  <strong>$permissions</strong>  The second parameter <strong>$permissions</strong> has to be given in octal notation (e.g.
                        0644). The permission of the newly created <return>FIFO</return> also depends on the setting
                        of the current <strong>umask()</strong>. The permissions of the created file are (mode &
                        ~umask).

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.


id: posix_mknod
type: function
doc:
<comment>Description:</comment>
  Create a special or ordinary file (POSIX.1)
    
  
  Creates a special or ordinary file.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The file to create
  <info>int   </info>  <strong>$flags   </strong>  This parameter is constructed by a bitwise OR between file type (one of the
                     following constants: <info>POSIX_S_IFREG</info>, <info>POSIX_S_IFCHR</info>, <info>POSIX_S_IFBLK</info>, <info>POSIX_S_IFIFO</info>
                     or <info>POSIX_S_IFSOCK</info>) and permissions.
  <info>int   </info>  <strong>$major   </strong>  The major device kernel identifier (required to pass when using <info>S_IFCHR</info> or
                     <info>S_IFBLK</info>).
  <info>int   </info>  <strong>$minor   </strong>  The minor device kernel identifier.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: posix_setegid
type: function
doc:
<comment>Description:</comment>
  Set the effective GID of the current process
  
  Set the effective group ID of the current process. This is a privileged function and needs
  appropriate privileges (usually root) on the system to be able to perform this function.

<comment>Param:</comment>
  <info>int</info>  <strong>$group_id</strong>  The group id.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>posix_getgrgid()</strong>
   * <strong>posix_getgid()</strong>
   * <strong>posix_setgid()</strong>


id: posix_seteuid
type: function
doc:
<comment>Description:</comment>
  Set the effective UID of the current process
  
  Set the effective user ID of the current process. This is a privileged function and needs
  appropriate privileges (usually root) on the system to be able to perform this function.

<comment>Param:</comment>
  <info>int</info>  <strong>$user_id</strong>  The user id.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>posix_geteuid()</strong>
   * <strong>posix_setuid()</strong>
   * <strong>posix_getuid()</strong>


id: posix_setgid
type: function
doc:
<comment>Description:</comment>
  Set the GID of the current process
  
  Set the real group ID of the current process. This is a privileged function and needs appropriate
  privileges (usually root) on the system to be able to perform this function. The appropriate order
  of function calls is <strong>posix_setgid()</strong> first, <strong>posix_setuid()</strong> last.
  
  If the caller is a super user, this will also set the effective group id.

<comment>Param:</comment>
  <info>int</info>  <strong>$group_id</strong>  The group id.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>posix_getgrgid()</strong>
   * <strong>posix_getgid()</strong>


id: posix_setpgid
type: function
doc:
<comment>Description:</comment>
  Set process group id for job control
  
  Let the process <strong>$process_id</strong> join the process group <strong>$process_group_id</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$process_id      </strong>  The process id.
  <info>int</info>  <strong>$process_group_id</strong>  The process group id.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * 
     See POSIX.1 and the setsid(2) manual page on the POSIX system for more
     information on process groups and job control.
    


id: posix_setrlimit
type: function
doc:
<comment>Description:</comment>
  Set system resource limits
  
  <strong>posix_setrlimit()</strong> sets the soft and hard limits for a given system resource.
  
  Fiecare resursă are asociată o limită soft și hard. Limita soft este valoarea pe care nucleul o
  impune pentru resursa corespunzătoare. Limita hard acționează ca un plafon pentru limita soft. Un
  proces neprivilegiat poate să-și stabilească limita soft la o valoarea între 0 și limita hard, sau
  poate să-și micșoreze ireversibil limita hard.

<comment>Param:</comment>
  <info>int</info>  <strong>$resource  </strong>  The resource limit constant corresponding to the limit that is being set.
  <info>int</info>  <strong>$soft_limit</strong>  The soft limit, in whatever unit the resource limit requires, or
                    <info>POSIX_RLIMIT_INFINITY</info>.
  <info>int</info>  <strong>$hard_limit</strong>  The hard limit, in whatever unit the resource limit requires, or
                    <info>POSIX_RLIMIT_INFINITY</info>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * man page SETRLIMIT(2)
   * <strong>posix_getrlimit()</strong>


id: posix_setsid
type: function
doc:
<comment>Description:</comment>
  Make the current process a session leader
  
  Make the current process a session leader.

<comment>Return:</comment>
  <info>int</info>  Returns the session id, or -1 on errors.

<comment>See Also:</comment>
   * 
     The POSIX.1 and the setsid(2) manual page on the POSIX system for more
     information on process groups and job control.
    


id: posix_setuid
type: function
doc:
<comment>Description:</comment>
  Set the UID of the current process
  
  Set the real user ID of the current process. This is a privileged function that needs appropriate
  privileges (usually root) on the system to be able to perform this function.

<comment>Param:</comment>
  <info>int</info>  <strong>$user_id</strong>  The user id.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>posix_setgid()</strong>
   * <strong>posix_seteuid()</strong>
   * <strong>posix_getuid()</strong>
   * <strong>posix_geteuid()</strong>


id: posix_strerror
type: function
doc:
<comment>Description:</comment>
  Retrieve the system error message associated with the given errno
  
  Returns the POSIX system error message associated with the given <strong>$error_code</strong>.  You may get the
  <strong>$error_code</strong> parameter by calling <strong>posix_get_last_error()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  A POSIX error number, returned by  <strong>posix_get_last_error()</strong>. If set to 0, then the
                    string "Success" is returned.

<comment>Return:</comment>
  <info>string</info>  Returns the error message, as a string.

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


id: posix_times
type: function
doc:
<comment>Description:</comment>
  Get process times
  
  Gets information about the current CPU usage.

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns a hash of strings with information about the current process CPU usage. The
              indices of the hash are:  ticks - the number of clock ticks that have elapsed since
              reboot.  utime - user time used by the current process.  stime - system time used by
              the current process.  cutime - user time used by current process and children.  cstime
              - system time used by current process and children.  The function returns <info>false</info> on
              failure.
              
              ticks - the number of clock ticks that have elapsed since reboot.
              
              utime - user time used by the current process.
              
              stime - system time used by the current process.
              
              cutime - user time used by current process and children.
              
              cstime - system time used by current process and children.


id: posix_ttyname
type: function
doc:
<comment>Description:</comment>
  Determine terminal device name
  
  Returns a <info>string</info> for the absolute path to the current terminal device that is open on the file
  descriptor <strong>$file_descriptor</strong>.

<comment>Param:</comment>
  <info></info>  <strong>$fd</strong>  Descriptorul fișierului, care trebuie să fie o <info>resource</info> de fișier, sau un <info>integer</info>. Un
         <info>integer</info> se va presupune a fi un descriptor de fișier care poate fi transmis direct către
         apelul de sistem ce stă la bază.
         
         În majoritatea cazurilor veți dori să utilizați o <info>resource</info> de fișier.

<comment>Return:</comment>
  <info>stringfalse</info>  On success, returns a <info>string</info> of the absolute path of the <strong>$file_descriptor</strong>. On
               failure, returns <info>false</info>


id: posix_uname
type: function
doc:
<comment>Description:</comment>
  Get system name
  
  Gets information about the system.
  
  Posix requires that assumptions must not be made about the format of the values, e.g. the
  assumption that a release may contain three digits or anything else returned by this function.

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns a hash of strings with information about the system. The indices of the hash
              are  sysname - operating system name (e.g. Linux)  nodename - system name (e.g.
              valiant)  release - operating system release (e.g. 2.2.10)  version - operating system
              version (e.g. #4 Tue Jul 20 17:01:36 MEST 1999)  machine - system architecture (e.g.
              i586)  domainname - DNS domainname (e.g. example.com)
              
              sysname - operating system name (e.g. Linux)
              
              nodename - system name (e.g. valiant)
              
              release - operating system release (e.g. 2.2.10)
              
              version - operating system version (e.g. #4 Tue Jul 20 17:01:36 MEST 1999)
              
              machine - system architecture (e.g. i586)
              
              domainname - DNS domainname (e.g. example.com)
              
              domainname is a GNU extension and not part of POSIX.1, so this field is only available
              on GNU systems or when using the GNU libc.
              
              The function returns <info>false</info> on failure.


id: pow
type: function
doc:
<comment>Description:</comment>
  Exponential expression
  
  Returns <strong>$base</strong> raised to the power of <strong>$exp</strong>.
  
  In PHP 5.6 onwards, you may prefer to use the ** operator.

<comment>Param:</comment>
  <info>intfloat</info>  <strong>$base</strong>  The base to use
  <info>intfloat</info>  <strong>$exp </strong>  The exponent

<comment>Return:</comment>
  <info>intfloat</info>  <strong>$base</strong> raised to the power of <strong>$exp</strong>. If both arguments are non-negative integers and the
            result can be represented as an integer, the result will be returned with <info>int</info> type,
            otherwise it will be returned as a <info>float</info>.

<comment>See Also:</comment>
   * <strong>exp()</strong>
   * <strong>sqrt()</strong>
   * <strong>bcpow()</strong>
   * <strong>gmp_pow()</strong>


id: preg_filter
type: function
doc:
<comment>Description:</comment>
  Perform a regular expression search and replace
  
  <strong>preg_filter()</strong> is identical to <strong>preg_replace()</strong> except it only returns the (possibly transformed)
  subjects where there was a match. For details about how this function works, read the
  <strong>preg_replace()</strong> documentation.

<comment>Return:</comment>
  <info>stringarraynull</info>  Returns an <info>array</info> if the <strong>$subject</strong> parameter is an <info>array</info>, or a <info>string</info> otherwise.
                   
                   If no matches are found or an error occurred, an empty <info>array</info>  is returned when
                   <strong>$subject</strong> is an <info>array</info> or <info>null</info> otherwise.

<comment>See Also:</comment>
   * PCRE Patterns
   * <strong>preg_quote()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_replace_callback()</strong>
   * <strong>preg_grep()</strong>
   * <strong>preg_last_error()</strong>


id: preg_grep
type: function
doc:
<comment>Description:</comment>
  Return array entries that match the pattern
  
  Returns the array consisting of the elements of the  <strong>$array</strong> array that match the given <strong>$pattern</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  The pattern to search for, as a string.
  <info>array </info>  <strong>$array  </strong>  The input array.
  <info>int   </info>  <strong>$flags  </strong>  If set to <info>PREG_GREP_INVERT</info>, this function returns the elements of the input
                    array that do not match the given <strong>$pattern</strong>.

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns an array indexed using the keys from the <strong>$array</strong> array.

<comment>See Also:</comment>
   * PCRE Patterns
   * <strong>preg_quote()</strong>
   * <strong>preg_match_all()</strong>
   * <strong>preg_filter()</strong>
   * <strong>preg_last_error()</strong>


id: preg_last_error
type: function
doc:
<comment>Description:</comment>
  Returns the error code of the last PCRE regex execution
  
  Returns the error code of the last PCRE regex execution.
  
  <strong>preg_last_error()</strong> example
  ]]>
  Exemplul de mai sus va afișa:
  
  Exemplul de mai sus va afișa:

<comment>Return:</comment>
  <info>int</info>  Returns one of the following constants (explained on their own page):
       <info>PREG_NO_ERROR</info><info>PREG_INTERNAL_ERROR</info><info>PREG_BACKTRACK_LIMIT_ERROR</info> (see also
       pcre.backtrack_limit)<info>PREG_RECURSION_LIMIT_ERROR</info> (see also
       pcre.recursion_limit)<info>PREG_BAD_UTF8_ERROR</info><info>PREG_BAD_UTF8_OFFSET_ERROR</info> (since PHP
       5.3.0)<info>PREG_JIT_STACKLIMIT_ERROR</info> (since PHP 7.0.0)

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


id: preg_last_error_msg
type: function
doc:
<comment>Description:</comment>
  Returns the error message of the last PCRE regex execution
  
  Returns the error message of the last PCRE regex execution.

<comment>Return:</comment>
  <info>string</info>  Returns the error message on success, or <return>"No error"</return> if no error has occurred.

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


id: preg_match
type: function
doc:
<comment>Description:</comment>
  Perform a regular expression match
  
  Searches <strong>$subject</strong> for a match to the regular expression given in <strong>$pattern</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  The pattern to search for, as a string.
  <info>string</info>  <strong>$subject</strong>  The input string.
  <info>array </info>  <strong>$matches</strong>  If <strong>$matches</strong> is provided, then it is filled with the results of search.
                    $matches[0] will contain the text that matched the full pattern, $matches[1]
                    will have the text that matched the first captured parenthesized subpattern, and
                    so on.
  <info>int   </info>  <strong>$flags  </strong>  <strong>$flags</strong> can be a combination of the following flags: <info>PREG_OFFSET_CAPTURE</info> If this
                    flag is passed, for every occurring match the appendant string offset (in bytes)
                    will also be returned. Note that this changes the value of <strong>$matches</strong> into an
                    array where every element is an array consisting of the matched string at offset
                    <return>0</return> and its string offset into <strong>$subject</strong> at offset <return>1</return>.
                    ]]>
                    Exemplul de mai sus va afișa: Array ( [0] => foobarbaz [1] => 0 )
                     [1] => Array ( [0] => foo [1] => 0 )
                     [2] => Array ( [0] => bar [1] => 3 )
                     [3] => Array ( [0] => baz [1] => 6 )
                    
                    )
                    ]]> <info>PREG_UNMATCHED_AS_NULL</info> If this flag is passed, unmatched subpatterns are
                    reported as <info>null</info>; otherwise they are reported as an empty <info>string</info>.
                    ]]>
                    Exemplul de mai sus va afișa: string(2) "ac" [1]=> string(1) "a" [2]=> string(0)
                    "" [3]=> string(1) "c"
                    }
                    array(4) { [0]=> string(2) "ac" [1]=> string(1) "a" [2]=> NULL [3]=> string(1)
                    "c"
                    }
                    ]]> 
                    
                    If this flag is passed, for every occurring match the appendant string offset
                    (in bytes) will also be returned. Note that this changes the value of <strong>$matches</strong>
                    into an array where every element is an array consisting of the matched string
                    at offset <return>0</return> and its string offset into <strong>$subject</strong> at offset <return>1</return>.
                    ]]>
                    Exemplul de mai sus va afișa: Array ( [0] => foobarbaz [1] => 0 )
                     [1] => Array ( [0] => foo [1] => 0 )
                     [2] => Array ( [0] => bar [1] => 3 )
                     [3] => Array ( [0] => baz [1] => 6 )
                    
                    )
                    ]]>
                    
                    Exemplul de mai sus va afișa:
                    
                    If this flag is passed, unmatched subpatterns are reported as <info>null</info>; otherwise
                    they are reported as an empty <info>string</info>.
                    ]]>
                    Exemplul de mai sus va afișa: string(2) "ac" [1]=> string(1) "a" [2]=> string(0)
                    "" [3]=> string(1) "c"
                    }
                    array(4) { [0]=> string(2) "ac" [1]=> string(1) "a" [2]=> NULL [3]=> string(1)
                    "c"
                    }
                    ]]>
                    
                    Exemplul de mai sus va afișa:
  <info>array </info>  <strong>$matches</strong>  If this flag is passed, for every occurring match the appendant string offset
                    (in bytes) will also be returned. Note that this changes the value of <strong>$matches</strong>
                    into an array where every element is an array consisting of the matched string
                    at offset <return>0</return> and its string offset into <strong>$subject</strong> at offset <return>1</return>.
                    ]]>
                    Exemplul de mai sus va afișa: Array ( [0] => foobarbaz [1] => 0 )
                     [1] => Array ( [0] => foo [1] => 0 )
                     [2] => Array ( [0] => bar [1] => 3 )
                     [3] => Array ( [0] => baz [1] => 6 )
                    
                    )
                    ]]>
                    
                    Exemplul de mai sus va afișa:
  <info>int   </info>  <strong>$offset </strong>  Normally, the search starts from the beginning of the subject string. The
                    optional parameter <strong>$offset</strong> can be used to specify the alternate place from which
                    to start the search (in bytes).
                    
                    Using <strong>$offset</strong> is not equivalent to passing substr($subject, $offset) to
                    <strong>preg_match()</strong> in place of the subject string, because <strong>$pattern</strong> can contain
                    assertions such as ^, $ or (?\<=x). Compare:
                    ]]>
                    Exemplul de mai sus va afișa: while this example 
                    ]]> will produce  Array ( [0] => def [1] => 0 )
                    
                    )
                    ]]> Alternatively, to avoid using <strong>substr()</strong>, use the <return>\G</return> assertion rather than the
                    <return>^</return> anchor, or the <return>A</return> modifier instead, both of which work with the <strong>$offset</strong>
                    parameter.
                    
                    Exemplul de mai sus va afișa:
                    
                    while this example
                    
                    will produce
                    
                    Alternatively, to avoid using <strong>substr()</strong>, use the <return>\G</return> assertion rather than the <return>^</return>
                    anchor, or the <return>A</return> modifier instead, both of which work with the <strong>$offset</strong>
                    parameter.

<comment>Return:</comment>
  <info>intfalse</info>  <strong>preg_match()</strong> returns 1 if the <strong>$pattern</strong> matches given <strong>$subject</strong>, 0 if it does not, or
            <info>false</info> if an error occurred.
            
            Această funcție poate întoarce valoarea Boolean <info>false</info>, dar poate de
            asemenea întoarce o valoare non-Boolean care evaluează în <info>false</info>. Vă rugăm să
            citiți secțiunea despre tipul Boolean
            pentru informații suplimentare. Utilizați
            operatorul === pentru a
            verifica valoarea întoarsă de această funcție.

<comment>See Also:</comment>
   * PCRE Patterns
   * <strong>preg_quote()</strong>
   * <strong>preg_match_all()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_split()</strong>
   * <strong>preg_last_error()</strong>
   * <strong>preg_last_error_msg()</strong>


id: preg_match_all
type: function
doc:
<comment>Description:</comment>
  Perform a global regular expression match
  
  Searches <strong>$subject</strong> for all matches to the regular expression given in <strong>$pattern</strong> and puts them in
  <strong>$matches</strong> in the order specified by <strong>$flags</strong>.
  
  After the first match is found, the subsequent searches  are continued on from end of the last
  match.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  The pattern to search for, as a string.
  <info>string</info>  <strong>$subject</strong>  The input string.
  <info>array </info>  <strong>$matches</strong>  Array of all matches in multi-dimensional array ordered according to <strong>$flags</strong>.
  <info>int   </info>  <strong>$flags  </strong>  Can be a combination of the following flags (note that it doesn't make sense to
                    use <info>PREG_PATTERN_ORDER</info> together with <info>PREG_SET_ORDER</info>): <info>PREG_PATTERN_ORDER</info> Orders
                    results so that $matches[0] is an array of full pattern matches, $matches[1] is
                    an array of strings matched by the first parenthesized subpattern, and so on.
                    ]]>
                    Exemplul de mai sus va afișa:example: , this is a test
                    example: , this is a test
                    ]]> So, $out[0] contains array of strings that matched full pattern, and $out[1]
                    contains array of strings enclosed by tags.  If the pattern contains named
                    subpatterns, $matches additionally contains entries for keys with the subpattern
                    name.  If the pattern contains duplicate named subpatterns, only the rightmost
                    subpattern is stored in $matches[NAME].
                    ]]>
                    Exemplul de mai sus va afișa:  [1] => bar
                    )
                    ]]> <info>PREG_SET_ORDER</info> Orders results so that $matches[0] is an array of first set
                    of matches, $matches[1] is an array of second set of matches, and so on.
                    ]]>
                    Exemplul de mai sus va afișa:example: , example:
                    this is a test, this is a test
                    ]]> <info>PREG_OFFSET_CAPTURE</info> If this flag is passed, for every occurring match the
                    appendant string offset (in bytes) will also be returned. Note that this changes
                    the value of <strong>$matches</strong> into an array of arrays where every element is an array
                    consisting of the matched string at offset <return>0</return> and its string offset into <strong>$subject</strong>
                    at offset <return>1</return>.
                    ]]>
                    Exemplul de mai sus va afișa: Array ( [0] => Array ( [0] => foobarbaz [1] => 0 )
                     )
                     [1] => Array ( [0] => Array ( [0] => foo [1] => 0 )
                     )
                     [2] => Array ( [0] => Array ( [0] => bar [1] => 3 )
                     )
                     [3] => Array ( [0] => Array ( [0] => baz [1] => 6 )
                     )
                    
                    )
                    ]]> <info>PREG_UNMATCHED_AS_NULL</info> If this flag is passed, unmatched subpatterns are
                    reported as <info>null</info>; otherwise they are reported as an empty <info>string</info>.
                    
                    Orders results so that $matches[0] is an array of full pattern matches,
                    $matches[1] is an array of strings matched by the first parenthesized
                    subpattern, and so on.
                    
                    
                    ]]>
                    Exemplul de mai sus va afișa:example: , this is a test
                    example: , this is a test
                    ]]> So, $out[0] contains array of strings that matched full pattern, and $out[1]
                    contains array of strings enclosed by tags.
                    
                    Exemplul de mai sus va afișa:
                    
                    So, $out[0] contains array of strings that matched full pattern, and $out[1]
                    contains array of strings enclosed by tags.
                    
                    If the pattern contains named subpatterns, $matches additionally contains
                    entries for keys with the subpattern name.
                    
                    If the pattern contains duplicate named subpatterns, only the rightmost
                    subpattern is stored in $matches[NAME].
                    ]]>
                    Exemplul de mai sus va afișa:  [1] => bar
                    )
                    ]]>
                    
                    Exemplul de mai sus va afișa:
                    
                    Orders results so that $matches[0] is an array of first set of matches,
                    $matches[1] is an array of second set of matches, and so on.
                    ]]>
                    Exemplul de mai sus va afișa:example: , example:
                    this is a test, this is a test
                    ]]>
                    
                    Exemplul de mai sus va afișa:
                    
                    If this flag is passed, for every occurring match the appendant string offset
                    (in bytes) will also be returned. Note that this changes the value of <strong>$matches</strong>
                    into an array of arrays where every element is an array consisting of the
                    matched string at offset <return>0</return> and its string offset into <strong>$subject</strong> at offset <return>1</return>.
                    ]]>
                    Exemplul de mai sus va afișa: Array ( [0] => Array ( [0] => foobarbaz [1] => 0 )
                     )
                     [1] => Array ( [0] => Array ( [0] => foo [1] => 0 )
                     )
                     [2] => Array ( [0] => Array ( [0] => bar [1] => 3 )
                     )
                     [3] => Array ( [0] => Array ( [0] => baz [1] => 6 )
                     )
                    
                    )
                    ]]>
                    
                    Exemplul de mai sus va afișa:
                    
                    If this flag is passed, unmatched subpatterns are reported as <info>null</info>; otherwise
                    they are reported as an empty <info>string</info>.
                    
                    If no order flag is given, <info>PREG_PATTERN_ORDER</info> is assumed.
  <info>array </info>  <strong>$matches</strong>  If this flag is passed, for every occurring match the appendant string offset
                    (in bytes) will also be returned. Note that this changes the value of <strong>$matches</strong>
                    into an array of arrays where every element is an array consisting of the
                    matched string at offset <return>0</return> and its string offset into <strong>$subject</strong> at offset <return>1</return>.
                    ]]>
                    Exemplul de mai sus va afișa: Array ( [0] => Array ( [0] => foobarbaz [1] => 0 )
                     )
                     [1] => Array ( [0] => Array ( [0] => foo [1] => 0 )
                     )
                     [2] => Array ( [0] => Array ( [0] => bar [1] => 3 )
                     )
                     [3] => Array ( [0] => Array ( [0] => baz [1] => 6 )
                     )
                    
                    )
                    ]]>
                    
                    Exemplul de mai sus va afișa:
  <info>int   </info>  <strong>$offset </strong>  Normally, the search starts from the beginning of the subject string. The
                    optional parameter <strong>$offset</strong> can be used to specify the alternate place from which
                    to start the search (in bytes).
                    
                    Using <strong>$offset</strong> is not equivalent to passing substr($subject, $offset) to
                    <strong>preg_match_all()</strong> in place of the subject string, because <strong>$pattern</strong> can contain
                    assertions such as ^, $ or (?\<=x). See <strong>preg_match()</strong> for examples.

<comment>Return:</comment>
  <info>intfalsenull</info>  Returns the number of full pattern matches (which might be zero), or <info>false</info> if an
                error occurred.

<comment>See Also:</comment>
   * PCRE Patterns
   * <strong>preg_quote()</strong>
   * <strong>preg_match()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_split()</strong>
   * <strong>preg_last_error()</strong>


id: preg_quote
type: function
doc:
<comment>Description:</comment>
  Quote regular expression characters
  
  <strong>preg_quote()</strong> takes <strong>$str</strong> and puts a backslash in front of every character that is part of the
  regular expression syntax.  This is useful if you have a run-time string that you need to match in
  some text and the string may contain special regex characters.
  
  The special regular expression characters are: <return>. \ + * ? [ ^ ] $ ( ) { } = ! \< &gt; | : - #</return>
  
  Note that <return>/</return> is not a special regular expression character.
  
  Note that <strong>preg_quote()</strong> is not meant to be applied to the $replacement string(s) of <strong>preg_replace()</strong>
  etc.

<comment>Param:</comment>
  <info>string    </info>  <strong>$str      </strong>  The input string.
  <info>stringnull</info>  <strong>$delimiter</strong>  If the optional <strong>$delimiter</strong> is specified, it will also be escaped.  This is
                          useful for escaping the delimiter that is required by the PCRE functions.
                          The <return>/</return> is the most commonly used delimiter.

<comment>Return:</comment>
  <info>string</info>  Returns the quoted (escaped) string.

<comment>See Also:</comment>
   * PCRE Patterns
   * <strong>escapeshellcmd()</strong>


id: preg_replace
type: function
doc:
<comment>Description:</comment>
  Perform a regular expression search and replace
  
  Searches <strong>$subject</strong> for matches to <strong>$pattern</strong> and replaces them with <strong>$replacement</strong>.

<comment>Param:</comment>
  <info>stringarray</info>  <strong>$pattern    </strong>  The pattern to search for. It can be either a string or an array with
                             strings.
                             
                             Several PCRE modifiers are also available.
  <info>stringarray</info>  <strong>$replacement</strong>  The string or an array with strings to replace. If this parameter is a
                             string and the <strong>$pattern</strong> parameter is an array, all patterns will be
                             replaced by that string. If both <strong>$pattern</strong> and <strong>$replacement</strong> parameters
                             are arrays, each <strong>$pattern</strong> will be replaced by the <strong>$replacement</strong>
                             counterpart. If there are fewer elements in the <strong>$replacement</strong> array than
                             in the <strong>$pattern</strong> array, any extra <strong>$pattern</strong>s will be replaced by an empty
                             string.
                             
                             <strong>$replacement</strong> may contain references of the form <return>\n</return> or <return>$n</return>, with the
                             latter form being the preferred one. Every such reference will be
                             replaced by the text captured by the n'th parenthesized pattern. n can
                             be from 0 to 99, and <return>\0</return> or <return>$0</return> refers to the text matched by the whole
                             pattern. Opening parentheses are counted from left to right (starting
                             from 1) to obtain the number of the capturing subpattern. Note that
                             backslashes in <info>string</info> literals may require to be escaped.
                             
                             When working with a replacement pattern where a backreference is
                             immediately followed by another number (i.e.: placing a literal number
                             immediately after a matched pattern), you cannot use the familiar  <return>\1</return>
                             notation for your backreference.   <return>\11</return>, for example, would confuse
                             <strong>preg_replace()</strong> since it does not know whether you want the <return>\1</return>
                             backreference followed by a literal  <return>1</return>, or the <return>\11</return> backreference
                             followed by nothing.  In this case the solution is to use  <return>${1}1</return>.  This
                             creates an isolated <return>$1</return> backreference, leaving the <return>1</return> as a literal.
                             
                             When using the deprecated <return>e</return> modifier, this function escapes some
                             characters (namely <return>'</return>, <return>"</return>, <return>\</return> and NULL) in the strings that replace the
                             backreferences. This is done to ensure that no syntax errors arise from
                             backreference usage with either single or double quotes (e.g.
                             <return>'strlen(\'$1\')+strlen("$2")'</return>). Make sure you are aware of PHP's string
                             syntax to know exactly how the interpreted string will look.
  <info>stringarray</info>  <strong>$subject    </strong>  The string or an array with strings to search and replace.
                             
                             If <strong>$subject</strong> is an array, then the search and replace is performed on
                             every entry of <strong>$subject</strong>, and the return value is an array as well.
  <info>int        </info>  <strong>$limit      </strong>  The maximum possible replacements for each pattern in each <strong>$subject</strong>
                             string. Defaults to <return>-1</return> (no limit).
  <info>int        </info>  <strong>$count      </strong>  If specified, this variable will be filled with the number of
                             replacements done.

<comment>Return:</comment>
  <info>stringarraynull</info>  <strong>preg_replace()</strong> returns an array if the <strong>$subject</strong> parameter is an array, or a
                   string otherwise.
                   
                   If matches are found, the new <strong>$subject</strong> will be returned, otherwise <strong>$subject</strong> will
                   be returned unchanged or <info>null</info> if an error occurred.

<comment>See Also:</comment>
   * PCRE Patterns
   * <strong>preg_quote()</strong>
   * <strong>preg_filter()</strong>
   * <strong>preg_match()</strong>
   * <strong>preg_replace_callback()</strong>
   * <strong>preg_split()</strong>
   * <strong>preg_last_error()</strong>


id: preg_replace_callback
type: function
doc:
<comment>Description:</comment>
  Perform a regular expression search and replace using a callback
  
  The behavior of this function is almost identical to <strong>preg_replace()</strong>, except for the fact that
  instead of <strong>$replacement</strong> parameter, one should specify a <strong>$callback</strong>.

<comment>Param:</comment>
  <info>stringarray</info>  <strong>$pattern </strong>  The pattern to search for. It can be either a string or an array with
                          strings.
  <info>callable   </info>  <strong>$callback</strong>  A callback that will be called and passed an array of matched elements in
                          the <strong>$subject</strong> string. The callback should return the replacement string.
                          This is the callback signature:
                          
                          <info>string</info>handler<info>array</info><strong>$matches</strong>
                          
                          You'll often need the <strong>$callback</strong> function for a <strong>preg_replace_callback()</strong> in
                          just one place. In this case you can use an anonymous function to declare
                          the callback within the call to <strong>preg_replace_callback()</strong>. By doing it this
                          way you have all information for the call in one place and do not clutter
                          the function namespace with a callback function's name not used anywhere
                          else.
                          
                          <strong>preg_replace_callback()</strong> and anonymous function
                          ]]>
  <info>stringarray</info>  <strong>$subject </strong>  The string or an array with strings to search and replace.
  <info>int        </info>  <strong>$limit   </strong>  The maximum possible replacements for each pattern in each <strong>$subject</strong>
                          string. Defaults to <return>-1</return> (no limit).
  <info>int        </info>  <strong>$count   </strong>  If specified, this variable will be filled with the number of replacements
                          done.
  <info>int        </info>  <strong>$flags   </strong>  <strong>$flags</strong> can be a combination of the <info>PREG_OFFSET_CAPTURE</info> and
                          <info>PREG_UNMATCHED_AS_NULL</info> flags, which influence the format of the matches
                          array. See the description in <strong>preg_match()</strong> for more details.

<comment>Return:</comment>
  <info>stringarraynull</info>  <strong>preg_replace_callback()</strong> returns an array if the <strong>$subject</strong> parameter is an array,
                   or a string otherwise. On errors the return value is <info>null</info>
                   
                   If matches are found, the new subject will be returned, otherwise <strong>$subject</strong> will
                   be returned unchanged.

<comment>See Also:</comment>
   * PCRE Patterns
   * <strong>preg_replace_callback_array()</strong>
   * <strong>preg_quote()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_last_error()</strong>
   * Anonymous functions


id: preg_replace_callback_array
type: function
doc:
<comment>Description:</comment>
  Perform a regular expression search and replace using callbacks
  
  The behavior of this function is similar to <strong>preg_replace_callback()</strong>, except that callbacks are
  executed on a per-pattern basis.

<comment>Param:</comment>
  <info>array      </info>  <strong>$pattern</strong>  An associative array mapping patterns (keys) to <info>callable</info>s (values).
  <info>stringarray</info>  <strong>$subject</strong>  The string or an array with strings to search and replace.
  <info>int        </info>  <strong>$limit  </strong>  The maximum possible replacements for each pattern in each <strong>$subject</strong> string.
                         Defaults to <return>-1</return> (no limit).
  <info>int        </info>  <strong>$count  </strong>  If specified, this variable will be filled with the number of replacements
                         done.
  <info>int        </info>  <strong>$flags  </strong>  <strong>$flags</strong> can be a combination of the <info>PREG_OFFSET_CAPTURE</info> and
                         <info>PREG_UNMATCHED_AS_NULL</info> flags, which influence the format of the matches
                         array. See the description in <strong>preg_match()</strong> for more details.

<comment>Return:</comment>
  <info>stringarraynull</info>  <strong>preg_replace_callback_array()</strong> returns an array if the <strong>$subject</strong> parameter is an
                   array, or a string otherwise. On errors the return value is <info>null</info>
                   
                   If matches are found, the new subject will be returned, otherwise <strong>$subject</strong> will
                   be returned unchanged.

<comment>See Also:</comment>
   * PCRE Patterns
   * <strong>preg_replace_callback()</strong>
   * <strong>preg_quote()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_last_error()</strong>
   * Anonymous functions


id: preg_split
type: function
doc:
<comment>Description:</comment>
  Split string by a regular expression
  
  Split the given string by a regular expression.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  The pattern to search for, as a string.
  <info>string</info>  <strong>$subject</strong>  The input string.
  <info>int   </info>  <strong>$limit  </strong>  If specified, then only substrings up to <strong>$limit</strong> are returned with the rest of
                    the string being placed in the last substring.  A <strong>$limit</strong> of -1 or 0 means "no
                    limit".
  <info>int   </info>  <strong>$flags  </strong>  <strong>$flags</strong> can be any combination of the following flags (combined with the <return>|</return>
                    bitwise operator): <info>PREG_SPLIT_NO_EMPTY</info> If this flag is set, only non-empty
                    pieces will be returned by <strong>preg_split()</strong>. <info>PREG_SPLIT_DELIM_CAPTURE</info> If this flag
                    is set, parenthesized expression in the delimiter pattern will be captured and
                    returned as well. <info>PREG_SPLIT_OFFSET_CAPTURE</info> If this flag is set, for every
                    occurring match the appendant string offset will also be returned. Note that
                    this changes the return value in an array where every element is an array
                    consisting of the matched string at offset <return>0</return> and its string offset into <strong>$subject</strong>
                    at offset <return>1</return>.
                    
                    If this flag is set, only non-empty pieces will be returned by <strong>preg_split()</strong>.
                    
                    If this flag is set, parenthesized expression in the delimiter pattern will be
                    captured and returned as well.
                    
                    If this flag is set, for every occurring match the appendant string offset will
                    also be returned. Note that this changes the return value in an array where
                    every element is an array consisting of the matched string at offset <return>0</return> and its
                    string offset into <strong>$subject</strong> at offset <return>1</return>.
  <info>string</info>  <strong>$subject</strong>  If this flag is set, for every occurring match the appendant string offset will
                    also be returned. Note that this changes the return value in an array where
                    every element is an array consisting of the matched string at offset <return>0</return> and its
                    string offset into <strong>$subject</strong> at offset <return>1</return>.

<comment>Return:</comment>
  <info>arrayfalse</info>  Returns an array containing substrings of <strong>$subject</strong> split along boundaries matched by
              <strong>$pattern</strong>,  sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * PCRE Patterns
   * <strong>preg_quote()</strong>
   * <strong>implode()</strong>
   * <strong>preg_match()</strong>
   * <strong>preg_match_all()</strong>
   * <strong>preg_replace()</strong>
   * <strong>preg_last_error()</strong>


id: prev
type: function
doc:
<comment>Description:</comment>
  Rewind the internal array pointer
  
  Rewind the internal array pointer.
  
  <strong>prev()</strong> behaves just like <strong>next()</strong>, except it rewinds the internal array pointer one place instead of
  advancing it.

<comment>Param:</comment>
  <info>arrayobject</info>  <strong>$array</strong>  The input array.

<comment>Return:</comment>
  <info>mixed</info>  Returns the array value in the previous place that's pointed to by the internal array
         pointer, or <info>false</info> if there are no more elements.
         
         Această funcție poate întoarce valoarea Boolean <info>false</info>, dar poate de
         asemenea întoarce o valoare non-Boolean care evaluează în <info>false</info>. Vă rugăm să
         citiți secțiunea despre tipul Boolean
         pentru informații suplimentare. Utilizați
         operatorul === pentru a
         verifica valoarea întoarsă de această funcție.

<comment>See Also:</comment>
   * <strong>current()</strong>
   * <strong>end()</strong>
   * <strong>next()</strong>
   * <strong>reset()</strong>
   * <strong>each()</strong>


id: print
type: function
doc:
<comment>Description:</comment>
  Output a string
  
  Outputs <strong>$arg</strong>.
  
  <return>print</return> is not actually a real function (it is a language construct) so you are not required to use
  parentheses with its argument list.
  
  The major differences to <return>echo</return> are that <return>print</return> only accepts a single argument and always returns 1.

<comment>Param:</comment>
  <info>string</info>  <strong>$arg</strong>  The input data.

<comment>Return:</comment>
  <info>int</info>  Returns <return>1</return>, always.

<comment>See Also:</comment>
   * <strong>echo()</strong>
   * <strong>printf()</strong>
   * <strong>flush()</strong>
   * Heredoc syntax


id: print_r
type: function
doc:
<comment>Description:</comment>
  Afișează informație lizibilă de om despre o variabilă
    
  
  <strong>print_r()</strong> afișează informația despre o variabilă într-un mod care poate fi citit de oameni.
  
  <strong>print_r()</strong>, <strong>var_dump()</strong> și <strong>var_export()</strong> de asemenea vor afișa proprietățile protejate și private ale
  obiectelor. Membrii statici ai claselor nu vor fi afișați.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$expression</strong>  Expresia pentru a fi afișată.
  <info>bool </info>  <strong>$return    </strong>  Dacă doriți să captați ceea ce afișează <strong>print_r()</strong>, utilizați parametrul
                      <strong>$return</strong>. Când acest parametru este stabilit în <info>true</info>, <strong>print_r()</strong> va întoarce
                      informația, în loc să o afișeze.

<comment>Return:</comment>
  <info>mixed</info>  Dacă se furnizează un <info>string</info>, <info>integer</info> sau <info>float</info>, însăși valoarea va fi afișată. Dacă este
         furnizat un <info>array</info>, valorile vor fi prezentate într-un format care arată cheile și
         elementele. O notare similară este utilizată pentru tipuri <info>object</info>.
         
         Când parametrul <strong>$return</strong> este stabilit în <info>true</info>, această funcție va întoarce un <info>string</info>. În
         caz contrar, valoarea întoarsă este <info>true</info>.

<comment>See Also:</comment>
   * <strong>ob_start()</strong>
   * <strong>var_dump()</strong>
   * <strong>var_export()</strong>


id: printf
type: function
doc:
<comment>Description:</comment>
  Output a formatted string
  
  Produces output according to <strong>$format</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$format</strong>  Șirul de formatare este compus din zero sau mai multe directive: caractere
                   obișnuite (în afară de <return>%</return>), care sunt copiate direct în rezultat și specificatori
                   de conversie, fiecare având parametrul său.
                   
                   Un specificator de conversie e compus după următorul prototip:
                   <return>%[argnum$][flags][width][.precision]specifier</return>.
                   
                   Un întreg urmat de senmul dolar <return>$</return>, pentru a specifica ce argument de număr
                   trebuie tratat în conversie.
                   
                   FlagsFlagDescriere<return>-</return> Alinierea spre stânga în limitele lungimii câmpului; Implicit
                   se efectuează alinierea spre dreapta <return>+</return> Prefixează numerele pozitive cu semnul
                   plus <return>+</return>; implicit doar numerele negative sunt prefixate cu semnul minus. <return> </return>(spațiu)
                   Completează rezultatul cu spații. Acesta este comportamentul implicit. <return>0</return>
                   Completează numerele cu zerouri în stânga. Cu specificatorii <return>s</return> se poate de
                   completat cu zerouri și în dreapta. <return>'</return>(char) Completează rezultatul cu caracterul
                   (char).
                   
                   Un număr întreg ce indică câte caractere (minimum) trebuie să aibă rezultatul
                   conversiei.
                   
                   Un punct <return>.</return>, urmat de un număr întreg, însemnătatea căruia depinde de
                   specificator:  Pentru specificatorii <return>e</return>, <return>E</return>, <return>f</return> și <return>F</return>: acesta este numărul de cifre
                   ce vor fi tipărite după punctul zecimal (implicit acesta este 6).  Pentru
                   specificatorii <return>g</return> și <return>G</return>: acesta este numărul maxim de cifre semnificative ce va fi
                   tipărit.  Pentru specificatorul <return>s</return>: acesta funcționează ca punct de oprire,
                   stabilind limita maximă a numărului de caractere din șir.   Dacă punctul este
                   specificat fără o valoare explicită pentru precizie, se presupune că aceasta este
                   0.
                   
                   Pentru specificatorii <return>e</return>, <return>E</return>, <return>f</return> și <return>F</return>: acesta este numărul de cifre ce vor fi
                   tipărite după punctul zecimal (implicit acesta este 6).
                   
                   Pentru specificatorii <return>g</return> și <return>G</return>: acesta este numărul maxim de cifre semnificative ce
                   va fi tipărit.
                   
                   Pentru specificatorul <return>s</return>: acesta funcționează ca punct de oprire, stabilind limita
                   maximă a numărului de caractere din șir.
                   
                   Dacă punctul este specificat fără o valoare explicită pentru precizie, se
                   presupune că aceasta este 0.
                   
                   Încercarea de a folosi un specificator de poziție mai mare decât <info>PHP_INT_MAX</info> va
                   genera avertizări.
                   
                   SpecifiersSpecifierDescriere<return>%</return> Specifică caracterul procent. Nu este necesar
                   vre-un argument. <return>b</return> Argumentul este tratat ca un întreg și prezentat ca număr
                   binar. <return>c</return> Argumentul este tratat ca un întreg și prezentat ca caracter cu acest
                   cod ASCII. <return>d</return> Argumentul este tratat ca un întreg și prezentat ca număr zecimal
                   (cu semn). <return>e</return> Argumentul este tratat ca număr în notație exponențială (de ex.
                   1.2e+2). Specificatorul de precizie semnifică numărul de cifre după virgulă
                   începând cu PHP 5.2.1. În versiuni anterioare el specifica numărul de cifre
                   semnificative (cu una mai puțin). <return>E</return> La fel ca și specificatorul <return>e</return>, dar folosește
                   caracterul majuscul (de ex. 1.2E+2). <return>f</return> Argumentul este tratat ca număr cu virgulă
                   și prezentat ca atare (în dependență de setările de localizare). <return>F</return> Argumentul
                   este tratat ca număr cu virgulă și prezentat ca atare (fără a se ține cont de
                   setările de localizare). Disponibil începând cu PHP 5.0.3. <return>g</return> Format general.  Fie
                   că P este egal cu precizia, dacă nu este zero, 6 dacă precizia este omisă, sau 1
                   dacă precizia este zero. Atunci dacă o conversie cu stilul E ar avea un exponent
                   X:  Dacă P &gt; X ≥ −4, atunci conversia este de stilul f și precizia P − (X +
                   1). În caz contrar, conversia este de stilul e și precizia P − 1. <return>G</return> La fel ca și
                   specificatorul <return>g</return>, dar utilizează <return>E</return> și <return>f</return>. <return>o</return> Argumentul este tratat ca întreg și
                   prezentat ca număr octal. <return>s</return> Argumentul este tratat și prezentat ca șir de
                   caractere. <return>u</return> Argumentul este tratat ca întreg și prezentat ca număr zecimal fără
                   semn. <return>x</return> Argumentul este tratat ca întreg și prezentat ca număr hexazecimal (cu
                   caractere minuscule). <return>X</return> Argumentul este tratat ca întreg și prezentat ca număr
                   hexazecimal (cu caractere majuscule).
                   
                   Format general.
                   
                   Fie că P este egal cu precizia, dacă nu este zero, 6 dacă precizia este omisă,
                   sau 1 dacă precizia este zero. Atunci dacă o conversie cu stilul E ar avea un
                   exponent X:
                   
                   Dacă P &gt; X ≥ −4, atunci conversia este de stilul f și precizia P − (X + 1). În
                   caz contrar, conversia este de stilul e și precizia P − 1.
                   
                   Specificatorul de tip <return>c</return> ignoră completarea cu spații și lungimea
                   
                   Încercarea de a folosi o combinație din specificatori de șiruri de caractere și
                   lungime cu seturi de caractere ce necesită mai mult de un octet per caracter
                   poate da rezultate imprevizibile
                   
                   Variabilele vor fi aduse la un tip potrivit pentru specificatorul: Manipularea
                   tipurilorTipulSpecificatorii<return>string</return><return>s</return><return>integer</return><return>d</return>, <return>u</return>, <return>c</return>, <return>o</return>, <return>x</return>, <return>X</return>, <return>b</return><return>double</return><return>g</return>, <return>G</return>, <return>e</return>, <return>E</return>, <return>f</return>,
                   <return>F</return>
  <info>mixed </info>  <strong>$values</strong>  

<comment>Return:</comment>
  <info>int</info>  Returns the length of the outputted string.

<comment>See Also:</comment>
   * <strong>print()</strong>
   * <strong>sprintf()</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>
   * <strong>flush()</strong>


id: proc_close
type: function
doc:
<comment>Description:</comment>
  Close a process opened by proc_open and return the exit code of that process
  
  <strong>proc_close()</strong> is similar to <strong>pclose()</strong> except that it only works on processes opened by <strong>proc_open()</strong>.
  <strong>proc_close()</strong> waits for the process to terminate, and returns its exit code.  Open pipes to that
  process are closed when this function is called, in order to avoid a deadlock - the child process
  may not be able to exit while the pipes are open.

<comment>Param:</comment>
  <info>resource</info>  <strong>$process</strong>  The <strong>proc_open()</strong> <info>resource</info> that will be closed.

<comment>Return:</comment>
  <info>int</info>  Returns the termination status of the process that was run. In case of  an error then <return>-1</return> is
       returned.
       
       Dacă PHP a fost compilat cu --enable-sigchild, valoarea întoarsă de această funcție este
       nedefinită.


id: proc_get_status
type: function
doc:
<comment>Description:</comment>
  Get information about a process opened by proc_open
  
  <strong>proc_get_status()</strong> fetches data about a process opened using <strong>proc_open()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$process</strong>  The <strong>proc_open()</strong> <info>resource</info> that will be evaluated.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> of collected information on success, and <info>false</info> on failure. The returned array
         contains the following elements:
         
         elementtypedescriptioncommand<info>string</info> The command string that was passed to <strong>proc_open()</strong>.
         pid<info>int</info>process idrunning<info>bool</info><info>true</info> if the process is still running, <info>false</info> if it has
         terminated. signaled<info>bool</info><info>true</info> if the child process has been terminated by an uncaught
         signal. Always set to <info>false</info> on Windows. stopped<info>bool</info><info>true</info> if the child process has been
         stopped by a signal. Always set to <info>false</info> on Windows. exitcode<info>int</info> The exit code returned by
         the process (which is only meaningful if <return>running</return> is <info>false</info>). Only first call of this
         function return real value, next calls return <return>-1</return>. termsig<info>int</info> The number of the signal that
         caused the child process to terminate its execution (only meaningful if <return>signaled</return> is <info>true</info>).
         stopsig<info>int</info> The number of the signal that caused the child process to stop its execution
         (only meaningful if <return>stopped</return> is <info>true</info>).

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


id: proc_nice
type: function
doc:
<comment>Description:</comment>
  Change the priority of the current process
  
  <strong>proc_nice()</strong> changes the priority of the current process by the amount specified in <strong>$priority</strong>. A
  positive <strong>$priority</strong> will lower the priority of the current process, whereas a negative <strong>$priority</strong>
  will raise the priority.
  
  <strong>proc_nice()</strong> is not related to <strong>proc_open()</strong> and its associated functions in any way.

<comment>Param:</comment>
  <info>int</info>  <strong>$priority</strong>  The new priority value, the value of this may differ on platforms.
                  
                  On Unix, a low value, such as <return>-20</return> means high priority  wheras a positive value
                  have a lower priority.
                  
                  For Windows the <strong>$priority</strong> parameter have the  following meanings:

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului. If an error occurs, like the user lacks permission
        to change the priority,  an error of level <info>E_WARNING</info> is also generated.


id: proc_open
type: function
doc:
<comment>Description:</comment>
  Execute a command and open file pointers for input/output
      
  
  <strong>proc_open()</strong> is similar to <strong>popen()</strong> but provides a much greater degree of control over the program
  execution.

<comment>Param:</comment>
  <info>mixed </info>  <strong>$cmd           </strong>  The commandline to execute as <info>string</info>. Special characters have to be
                           properly escaped, and proper quoting has to be applied.
                           
                           On Windows, unless <return>bypass_shell</return> is set to <info>true</info> in <strong>$other_options</strong>, the
                           <strong>$cmd</strong> is passed to cmd.exe (actually, <return>%ComSpec%</return>) with the <return>/c</return> flag as
                           unquoted string (i.e. exactly as has been given to <strong>proc_open()</strong>). This can
                           cause cmd.exe to remove enclosing quotes from <strong>$cmd</strong> (for details see the
                           cmd.exe documentation), resulting in unexpected, and potentially even
                           dangerous behavior, because cmd.exe error messages may contain (parts of)
                           the passed <strong>$cmd</strong> (see example below).
                           
                           As of PHP 7.4.0, <strong>$cmd</strong> may be passed as <info>array</info> of command parameters. In
                           this case the process will be opened directly (without going through a
                           shell) and PHP will take care of any necessary argument escaping.
                           
                           On Windows, the argument escaping of the <info>array</info> elements assumes that the
                           command line parsing of the executed command is compatible with the
                           parsing of command line arguments done by the VC runtime.
  <info>array </info>  <strong>$descriptorspec</strong>  An indexed array where the key represents the descriptor number and the
                           value represents how PHP will pass that descriptor to the child process.
                           0 is stdin, 1 is stdout, while 2 is stderr.
                           
                           Each element can be: An array describing the pipe to pass to the process.
                           The first element is the descriptor type and the second element is an
                           option for the given type. Valid types are <return>pipe</return> (the second element is
                           either <return>r</return> to pass the read end of the pipe to the process, or <return>w</return> to pass
                           the write end) and <return>file</return> (the second element is a filename).  A stream
                           resource representing a real file descriptor (e.g. opened file, a socket,
                           <info>STDIN</info>).
                           
                           The file descriptor numbers are not limited to 0, 1 and 2 - you may
                           specify any valid file descriptor number and it will be passed to the
                           child process. This allows your script to interoperate with other scripts
                           that run as "co-processes". In particular, this is useful for passing
                           passphrases to programs like PGP, GPG and openssl in a more secure
                           manner. It is also useful for reading status information provided by
                           those programs on auxiliary file descriptors.
  <info>array </info>  <strong>$pipes         </strong>  Will be set to an indexed array of file pointers that correspond to PHP's
                           end of any pipes that are created.
  <info>string</info>  <strong>$cwd           </strong>  The initial working dir for the command. This must be an absolute
                           directory path, or <info>null</info> if you want to use the default value (the working
                           dir of the current PHP process)
  <info>array </info>  <strong>$env           </strong>  An array with the environment variables for the command that will be run,
                           or <info>null</info> to use the same environment as the current PHP process
  <info>array </info>  <strong>$other_options </strong>  Allows you to specify additional options. Currently supported options
                           include: <return>suppress_errors</return> (windows only): suppresses errors generated by
                           this function when it's set to <info>true</info> <return>bypass_shell</return> (windows only): bypass
                           <return>cmd.exe</return> shell when set to <info>true</info> <return>blocking_pipes</return> (windows only): force
                           blocking pipes when set to <info>true</info> <return>create_process_group</return> (windows only):
                           allow the child process to handle <return>CTRL</return> events when set to <info>true</info>
                           <return>create_new_console</return> (windows only): the new process has a new console,
                           instead of inheriting its parent's console

<comment>Return:</comment>
  <info>resource</info>  Returns a resource representing the process, which should be freed using <strong>proc_close()</strong>
            when you are finished with it. On failure returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>popen()</strong>
   * <strong>exec()</strong>
   * <strong>system()</strong>
   * <strong>passthru()</strong>
   * <strong>stream_select()</strong>
   * The backtick operator


id: proc_terminate
type: function
doc:
<comment>Description:</comment>
  Kills a process opened by proc_open
  
  Signals a <strong>$process</strong> (created using <strong>proc_open()</strong>) that it should terminate. <strong>proc_terminate()</strong> returns
  immediately and does not wait for the process to terminate.
  
  <strong>proc_terminate()</strong> allows you terminate the process and continue with other tasks.  You may poll the
  process (to see if it has stopped yet) by using the <strong>proc_get_status()</strong> function.

<comment>Param:</comment>
  <info>resource</info>  <strong>$process</strong>  The <strong>proc_open()</strong> <info>resource</info> that will be closed.
  <info>int     </info>  <strong>$signal </strong>  This optional parameter is only useful on POSIX operating systems; you may
                      specify a signal to send to the process using the <return>kill(2)</return> system call.  The
                      default is <return>SIGTERM</return>.

<comment>Return:</comment>
  <info>bool</info>  Returns the termination status of the process that was run.

<comment>See Also:</comment>
   * <strong>proc_open()</strong>
   * <strong>proc_close()</strong>
   * <strong>proc_get_status()</strong>


id: property_exists
type: function
doc:
<comment>Description:</comment>
  Checks if the object or class has a property
    
  
  This function checks if the given <strong>$property</strong> exists in the specified class.
  
  As opposed with <strong>isset()</strong>, <strong>property_exists()</strong> returns <info>true</info> even if the property has the value <info>null</info>.

<comment>Param:</comment>
  <info>mixed </info>  <strong>$class   </strong>  The class name or an object of the class to test for
  <info>string</info>  <strong>$property</strong>  The name of the property

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the property exists, <info>false</info> if it doesn't exist or <info>null</info> in case of an error.

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


id: ps_add_bookmark
type: function
doc:
<comment>Description:</comment>
  Add bookmark to current page
  
  Adds a bookmark for the current page. Bookmarks usually appear in PDF-Viewers left of the page in
  a hierarchical tree. Clicking on a bookmark will jump to the given page.
  
  Nota nu
  va fi viziblă dacă documentul este tipărit sau vizualizat, dar va apare dacă
  documentul este convertit în pdf fie de Acrobat Distiller™ sau de Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>string  </info>  <strong>$text  </strong>  The text used for displaying the bookmark.
  <info>int     </info>  <strong>$parent</strong>  A bookmark previously created by this function which is used as the parent of
                     the new bookmark.
  <info>int     </info>  <strong>$open  </strong>  If <strong>$open</strong> is unequal to zero the bookmark will be shown open by the pdf viewer.

<comment>Return:</comment>
  <info>int</info>  The returned value is a reference for the bookmark. It is only used if the bookmark shall be
       used as a parent. The value is greater zero if the function succeeds. In case of an error
       zero will be returned.

<comment>See Also:</comment>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_pdflink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_launchlink
type: function
doc:
<comment>Description:</comment>
  Adds link which launches file
  
  Places a hyperlink at the given position pointing to a file program which is being started when
  clicked on. The hyperlink's source position is a rectangle with its lower left corner at (llx,
  lly) and its upper right corner at (urx, ury). The rectangle has by default a thin blue border.
  
  Nota nu
  va fi viziblă dacă documentul este tipărit sau vizualizat, dar va apare dacă
  documentul este convertit în pdf fie de Acrobat Distiller™ sau de Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc   </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$llx     </strong>  The x-coordinate of the lower left corner.
  <info>float   </info>  <strong>$lly     </strong>  The y-coordinate of the lower left corner.
  <info>float   </info>  <strong>$urx     </strong>  The x-coordinate of the upper right corner.
  <info>float   </info>  <strong>$ury     </strong>  The y-coordinate of the upper right corner.
  <info>string  </info>  <strong>$filename</strong>  The path of the program to be started, when the link is clicked on.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_add_locallink()</strong>
   * <strong>ps_add_pdflink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_locallink
type: function
doc:
<comment>Description:</comment>
  Adds link to a page in the same document
  
  Places a hyperlink at the given position pointing to a page in the same document. Clicking on the
  link will jump to the given page. The first page in a document has number 1.
  
  The hyperlink's source position is a rectangle with its lower left corner at (<strong>$llx</strong>, <strong>$lly</strong>) and its
  upper right corner at (<strong>$urx</strong>, <strong>$ury</strong>). The rectangle has by default a thin blue border.
  
  Nota nu
  va fi viziblă dacă documentul este tipărit sau vizualizat, dar va apare dacă
  documentul este convertit în pdf fie de Acrobat Distiller™ sau de Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$llx  </strong>  The x-coordinate of the lower left corner.
  <info>float   </info>  <strong>$lly  </strong>  The y-coordinate of the lower left corner.
  <info>float   </info>  <strong>$urx  </strong>  The x-coordinate of the upper right corner.
  <info>float   </info>  <strong>$ury  </strong>  The y-coordinate of the upper right corner.
  <info>int     </info>  <strong>$page </strong>  The number of the page displayed when clicking on the link.
  <info>string  </info>  <strong>$dest </strong>  The parameter <strong>$dest</strong> determines how the document is being viewed. It can be
                    <return>fitpage</return>, <return>fitwidth</return>, <return>fitheight</return>, or <return>fitbbox</return>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_pdflink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_note
type: function
doc:
<comment>Description:</comment>
  Adds note to current page
  
  Adds a note at a certain position on the page. Notes are like little rectangular sheets with text
  on it, which can be placed anywhere on a page. They are shown either folded or unfolded. If
  folded, the specified icon is used as a placeholder.
  
  Nota nu
  va fi viziblă dacă documentul este tipărit sau vizualizat, dar va apare dacă
  documentul este convertit în pdf fie de Acrobat Distiller™ sau de Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc   </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$llx     </strong>  The x-coordinate of the lower left corner.
  <info>float   </info>  <strong>$lly     </strong>  The y-coordinate of the lower left corner.
  <info>float   </info>  <strong>$urx     </strong>  The x-coordinate of the upper right corner.
  <info>float   </info>  <strong>$ury     </strong>  The y-coordinate of the upper right corner.
  <info>string  </info>  <strong>$contents</strong>  The text of the note.
  <info>string  </info>  <strong>$title   </strong>  The title of the note as displayed in the header of the note.
  <info>string  </info>  <strong>$icon    </strong>  The icon shown if the note is folded. This parameter can be set to <return>comment</return>,
                       <return>insert</return>, <return>note</return>, <return>paragraph</return>, <return>newparagraph</return>, <return>key</return>, or <return>help</return>.
  <info>int     </info>  <strong>$open    </strong>  If <strong>$open</strong> is unequal to zero the note will be shown unfolded after opening the
                       document with a pdf viewer.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_add_pdflink()</strong>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_locallink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_pdflink
type: function
doc:
<comment>Description:</comment>
  Adds link to a page in a second pdf document
  
  Places a hyperlink at the given position pointing to a second pdf document. Clicking on the link
  will branch to the document at the given page. The first page in a document has number 1.
  
  The hyperlink's source position is a rectangle with its lower left corner at (<strong>$llx</strong>, <strong>$lly</strong>) and its
  upper right corner at (<strong>$urx</strong>, <strong>$ury</strong>). The rectangle has by default a thin blue border.
  
  Nota nu
  va fi viziblă dacă documentul este tipărit sau vizualizat, dar va apare dacă
  documentul este convertit în pdf fie de Acrobat Distiller™ sau de Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc   </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$llx     </strong>  The x-coordinate of the lower left corner.
  <info>float   </info>  <strong>$lly     </strong>  The y-coordinate of the lower left corner.
  <info>float   </info>  <strong>$urx     </strong>  The x-coordinate of the upper right corner.
  <info>float   </info>  <strong>$ury     </strong>  The y-coordinate of the upper right corner.
  <info>string  </info>  <strong>$filename</strong>  The name of the pdf document to be opened when clicking on this link.
  <info>int     </info>  <strong>$page    </strong>  The page number of the destination pdf document
  <info>string  </info>  <strong>$dest    </strong>  The parameter <strong>$dest</strong> determines how the document is being viewed. It can be
                       <return>fitpage</return>, <return>fitwidth</return>, <return>fitheight</return>, or <return>fitbbox</return>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_locallink()</strong>
   * <strong>ps_add_weblink()</strong>


id: ps_add_weblink
type: function
doc:
<comment>Description:</comment>
  Adds link to a web location
  
  Places a hyperlink at the given position pointing to a web page. The  hyperlink's source position
  is a rectangle with its lower left corner at (<strong>$llx</strong>, <strong>$lly</strong>) and its upper right corner at (<strong>$urx</strong>,
  <strong>$ury</strong>). The rectangle has by default a thin blue border.
  
  Nota nu
  va fi viziblă dacă documentul este tipărit sau vizualizat, dar va apare dacă
  documentul este convertit în pdf fie de Acrobat Distiller™ sau de Ghostview.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$llx  </strong>  The x-coordinate of the lower left corner.
  <info>float   </info>  <strong>$lly  </strong>  The y-coordinate of the lower left corner.
  <info>float   </info>  <strong>$urx  </strong>  The x-coordinate of the upper right corner.
  <info>float   </info>  <strong>$ury  </strong>  The y-coordinate of the upper right corner.
  <info>string  </info>  <strong>$url  </strong>  The url of the hyperlink to be opened when clicking on this link, e.g.
                    <return>http://www.php.net</return>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_add_launchlink()</strong>
   * <strong>ps_add_locallink()</strong>
   * <strong>ps_add_pdflink()</strong>


id: ps_arc
type: function
doc:
<comment>Description:</comment>
  Draws an arc counterclockwise
  
  Draws a portion of a circle with at middle point at (<strong>$x</strong>, <strong>$y</strong>). The arc starts at an angle of <strong>$alpha</strong>
  and ends at an angle of <strong>$beta</strong>. It is drawn counterclockwise (use <strong>ps_arcn()</strong> to draw clockwise). The
  subpath added to the current path starts on the arc at angle <strong>$alpha</strong> and ends on the arc at angle
  <strong>$beta</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$x     </strong>  The x-coordinate of the circle's middle point.
  <info>float   </info>  <strong>$y     </strong>  The y-coordinate of the circle's middle point.
  <info>float   </info>  <strong>$radius</strong>  The radius of the circle
  <info>float   </info>  <strong>$alpha </strong>  The start angle given in degrees.
  <info>float   </info>  <strong>$beta  </strong>  The end angle given in degrees.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: ps_arcn
type: function
doc:
<comment>Description:</comment>
  Draws an arc clockwise
  
  Draws a portion of a circle with at middle point at (<strong>$x</strong>, <strong>$y</strong>). The arc starts at an angle of <strong>$alpha</strong>
  and ends at an angle of <strong>$beta</strong>. It is drawn clockwise (use <strong>ps_arc()</strong> to draw counterclockwise). The
  subpath added to the current path starts on the arc at angle <strong>$beta</strong> and ends on the arc at angle
  <strong>$alpha</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$x     </strong>  The x-coordinate of the circle's middle point.
  <info>float   </info>  <strong>$y     </strong>  The y-coordinate of the circle's middle point.
  <info>float   </info>  <strong>$radius</strong>  The radius of the circle
  <info>float   </info>  <strong>$alpha </strong>  The starting angle given in degrees.
  <info>float   </info>  <strong>$beta  </strong>  The end angle given in degrees.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: ps_begin_page
type: function
doc:
<comment>Description:</comment>
  Start a new page
  
  Starts a new page. Although the parameters <strong>$width</strong> and <strong>$height</strong> imply a different page size for each
  page, this is not possible in PostScript. The first call of <strong>ps_begin_page()</strong> will set the page size
  for the whole document. Consecutive calls will have no effect, except for creating a new page. The
  situation is different if you intent to convert the PostScript document into PDF. This function
  places pdfmarks into the document which can set the size for each page indiviually. The resulting
  PDF document will have different page sizes.
  
  Though PostScript does not know different page sizes, pslib places a bounding box for each page
  into the document. This size is evaluated by some PostScript viewers and will have precedence over
  the BoundingBox in the Header of the document. This can lead to unexpected results when you set a
  BoundingBox whose lower left corner is not (0, 0), because the bounding box of the page will
  always have a lower left corner (0, 0) and overwrites the global setting.
  
  Each page is encapsulated into save/restore. This means, that most of the settings made on one
  page will not be retained on the next page.
  
  If there is up to the first call of <strong>ps_begin_page()</strong> no call of <strong>ps_findfont()</strong>, then the header of
  the PostScript document will be output and the bounding box will be set to the size of the first
  page. The lower left corner of the bounding box is set to (0, 0). If <strong>ps_findfont()</strong> was called
  before, then the header has been output already, and the document will not have a valid bounding
  box. In order to prevent this, one should call <strong>ps_set_info()</strong> to set the info field <return>BoundingBox</return> and
  possibly <return>Orientation</return> before any <strong>ps_findfont()</strong> or <strong>ps_begin_page()</strong> calls.
  
  Up to version 0.2.6 of pslib, this function will always overwrite the BoundingBox and Orientation,
  if it has been set before with <strong>ps_set_info()</strong> and <strong>ps_findfont()</strong> has not been called before.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$width </strong>  The width of the page in pixel, e.g. 596 for A4 format.
  <info>float   </info>  <strong>$height</strong>  The height of the page in pixel, e.g. 842 for A4 format.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_end_page()</strong>
   * <strong>ps_findfont()</strong>
   * <strong>ps_set_info()</strong>


id: ps_begin_pattern
type: function
doc:
<comment>Description:</comment>
  Start a new pattern
  
  Starts a new pattern. A pattern is like a page containing e.g. a drawing which can be used for
  filling areas. It is used like a color by calling <strong>ps_setcolor()</strong> and setting the color space to
  <return>pattern</return>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc    </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$width    </strong>  The width of the pattern in pixel.
  <info>float   </info>  <strong>$height   </strong>  The height of the pattern in pixel.
  <info>        </info>  <strong>$x-step   </strong>  The distance in pixel of placements of the pattern in horizontal direction.
  <info>        </info>  <strong>$y-step   </strong>  The distance in pixel of placements of the pattern in vertical direction.
  <info>int     </info>  <strong>$painttype</strong>  Must be 1 or 2.

<comment>Return:</comment>
  <info>intfalse</info>  The identifier of the pattern  sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_end_pattern()</strong>
   * <strong>ps_setcolor()</strong>
   * <strong>ps_shading_pattern()</strong>


id: ps_begin_template
type: function
doc:
<comment>Description:</comment>
  Start a new template
  
  Starts a new template. A template is called a form in the postscript language. It is created
  similar to a pattern but used like an image. Templates are often used for drawings which are
  placed several times through out the document, e.g. like a company logo. All drawing functions may
  be used within a template. The template will not be drawn until it is placed by <strong>ps_place_image()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$width </strong>  The width of the template in pixel.
  <info>float   </info>  <strong>$height</strong>  The height of the template in pixel.

<comment>Return:</comment>
  <info>int</info>  Întoarce valoarea <info>true</info> în cazul
       succesului sau <info>false</info> în cazul eșecului.

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


id: ps_circle
type: function
doc:
<comment>Description:</comment>
  Draws a circle
  
  Draws a circle with its middle point at (<strong>$x</strong>, <strong>$y</strong>). The circle starts and ends at position
  (<strong>$x</strong>+<strong>$radius</strong>, <strong>$y</strong>). If this function is called outside a path it will start a new path. If it is
  called within a path it will add the circle as a subpath. If the last drawing operation does not
  end in point (<strong>$x</strong>+<strong>$radius</strong>, <strong>$y</strong>) then there will be a gap in the path.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$x     </strong>  The x-coordinate of the circle's middle point.
  <info>float   </info>  <strong>$y     </strong>  The y-coordinate of the circle's middle point.
  <info>float   </info>  <strong>$radius</strong>  The radius of the circle

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_arc()</strong>
   * <strong>ps_arcn()</strong>


id: ps_clip
type: function
doc:
<comment>Description:</comment>
  Clips drawing to current path
  
  Takes the current path and uses it to define the border of a clipping area. Everything drawn
  outside of that area will not be visible.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: ps_close
type: function
doc:
<comment>Description:</comment>
  Closes a PostScript document
  
  Closes the PostScript document.
  
  This function writes the trailer of the PostScript document. It also writes the bookmark tree.
  <strong>ps_close()</strong> does not free any resources, which is done by <strong>ps_delete()</strong>.
  
  This function is also called by <strong>ps_delete()</strong> if it has not been called before.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_open_file()</strong>
   * <strong>ps_delete()</strong>


id: ps_close_image
type: function
doc:
<comment>Description:</comment>
  Closes image and frees memory
  
  Closes an image and frees its resources. Once an image is closed it cannot be used anymore.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc  </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>int     </info>  <strong>$imageid</strong>  Resource identifier of the image as returned by <strong>ps_open_image()</strong> or
                      <strong>ps_open_image_file()</strong>.

<comment>Return:</comment>
  <info>voidfalse</info>  Returns <info>null</info> on success sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_open_image()</strong>
   * <strong>ps_open_image_file()</strong>


id: ps_closepath
type: function
doc:
<comment>Description:</comment>
  Closes path
  
  Connects the last point with the first point of a path. The resulting path can be used for
  stroking, filling, clipping, etc..

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_clip()</strong>
   * <strong>ps_closepath_stroke()</strong>


id: ps_closepath_stroke
type: function
doc:
<comment>Description:</comment>
  Closes and strokes path
  
  Connects the last point with first point of a path and draws the resulting closed line.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: ps_continue_text
type: function
doc:
<comment>Description:</comment>
  Continue text in next line
  
  Output a text one line below the last line. The line spacing is taken from the value "leading"
  which must be set with <strong>ps_set_value()</strong>. The actual position of the text is determined by the values
  "textx" and "texty" which can be requested with <strong>ps_get_value()</strong>

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>string  </info>  <strong>$text </strong>  The text to output.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_show()</strong>
   * <strong>ps_show_xy()</strong>
   * <strong>ps_show_boxed()</strong>


id: ps_curveto
type: function
doc:
<comment>Description:</comment>
  Draws a curve
  
  Add a section of a cubic Bézier curve described by the three given control points to the current
  path.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>float   </info>  <strong>$x1   </strong>  x-coordinate of first control point.
  <info>float   </info>  <strong>$y1   </strong>  y-coordinate of first control point.
  <info>float   </info>  <strong>$x2   </strong>  x-coordinate of second control point.
  <info>float   </info>  <strong>$y2   </strong>  y-coordinate of second control point.
  <info>float   </info>  <strong>$x3   </strong>  x-coordinate of third control point.
  <info>float   </info>  <strong>$y3   </strong>  y-coordinate of third control point.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: ps_delete
type: function
doc:
<comment>Description:</comment>
  Deletes all resources of a PostScript document
  
  Mainly frees memory used by the document. Also closes a file, if it was not closed before with
  <strong>ps_close()</strong>. You should in any case close the file with <strong>ps_close()</strong> before, because <strong>ps_close()</strong> not
  just closes the file but also outputs a trailor containing PostScript comments like the number of
  pages in the document and adding the bookmark hierarchy.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: ps_end_page
type: function
doc:
<comment>Description:</comment>
  End a page
  
  Ends a page which was started with <strong>ps_begin_page()</strong>. Ending a page will leave the current drawing
  context, which e.g. requires to reload fonts if they were loading within the page, and to set many
  other drawing parameters like the line width, or color.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: ps_end_pattern
type: function
doc:
<comment>Description:</comment>
  End a pattern
  
  Ends a pattern which was started with <strong>ps_begin_pattern()</strong>. Once a pattern has been ended, it can be
  used like a color to fill areas.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: ps_end_template
type: function
doc:
<comment>Description:</comment>
  End a template
  
  Ends a template which was started with <strong>ps_begin_template()</strong>. Once a template has been ended, it can
  be used like an image.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

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


id: ps_fill
type: function
doc:
<comment>Description:</comment>
  Fills the current path
  
  Fills the path constructed with previously called drawing functions like <strong>ps_lineto()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_fill_stroke()</strong>
   * <strong>ps_stroke()</strong>


id: ps_fill_stroke
type: function
doc:
<comment>Description:</comment>
  Fills and strokes the current path
  
  Fills and draws the path constructed with previously called drawing functions like <strong>ps_lineto()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Întoarce valoarea <info>true</info> în cazul
        succesului sau <info>false</info> în cazul eșecului.

<comment>See Also:</comment>
   * <strong>ps_fill()</strong>
   * <strong>ps_stroke()</strong>


id: ps_findfont
type: function
doc:
<comment>Description:</comment>
  Loads a font
  
  Loads a font for later use. Before text is output with a loaded font it must be set with
  <strong>ps_setfont()</strong>. This function needs the adobe font metric file in order to calculate the space used
  up by the characters. A font which is loaded within a page will only be available on that page.
  Fonts which are to be used in the complete document have to be loaded before the first call of
  <strong>ps_begin_page()</strong>. Calling <strong>ps_findfont()</strong> between pages will make that font available for all
  following pages.
  
  The name of the afm file must be <strong>$fontname</strong><return>.afm</return>. If the font shall be embedded the file
  <strong>$fontname</strong><return>.pfb</return> containing the font outline must be present as well.
  
  Calling <strong>ps_findfont()</strong> before the first page requires to output the postscript header which
  includes the BoundingBox for the whole document. Usually the BoundingBox is set with the first
  call of <strong>ps_begin_page()</strong> which now comes after <strong>ps_findfont()</strong>. Consequently the BoundingBox has not
  been set and a warning will be issued when <strong>ps_findfont()</strong> is called. In order to prevent this
  situation, one should call <strong>ps_set_parameter()</strong> to set the BoundingBox before <strong>ps_findfont()</strong> is
  called.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc   </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>string  </info>  <strong>$fontname</strong>  The name of the font.
  <info>string  </info>  <strong>$encoding</strong>  <strong>ps_findfont()</strong> will try to load the file passed in the parameter <strong>$encoding</strong>.
                       Encoding files are of the same syntax as those used by dvips(1). They contain
                       a font encoding vector (which is currently not used but must be present) and
                       a list of extra ligatures to extend the list of ligatures derived from the
                       afm file.
                       
                       <strong>$encoding</strong> can be <info>null</info> or the empty string if the default encoding (TeXBase1)
                       shall be used.
                       
                       If the encoding is set to <return>builtin</return> then there will be no reencoding and the
                       font specific encoding will be used. This is very useful with symbol fonts.
  <info>bool    </info>  <strong>$embed   </strong>  If set to a value &gt;0 the font will be embedded into the document. This
                       requires the font outline (.pfb file) to be present.

<comment>Return:</comment>
  <info>int</info>  Returns the identifier of the font or zero in case of an error. The identifier is a positive
       number.

<comment>See Also:</comment>
   * <strong>ps_begin_page()</strong>
   * <strong>ps_setfont()</strong>


id: ps_get_buffer
type: function
doc:
<comment>Description:</comment>
  Fetches the full buffer containig the generated PS data
  
  This function is not implemented yet. It will always return an empty string. The idea for a later
  implementation is to write the contents of the postscript file into an internal buffer if in
  memory creation is requested, and retrieve the buffer content with this function. Currently,
  documents created in memory are send to the browser without buffering.
  
  Această funcție nu este documentată în prezent; este disponibilă numai
  lista sa de argumente.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc</strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.

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

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


id: ps_get_parameter
type: function
doc:
<comment>Description:</comment>
  Gets certain parameters
  
  Gets several parameters which were directly set by <strong>ps_set_parameter()</strong> or indirectly by one of the
  other functions. Parameters are by definition string values. This function cannot be used to
  retrieve resources which were also set by <strong>ps_set_parameter()</strong>.
  
  The parameter <strong>$name</strong> can have the following values.
  
  <return>fontname</return> The name of the currently active font or the font whose identifier is passed in parameter
  <strong>$modifier</strong>. <return>fontencoding</return> The encoding of the currently active font. <return>dottedversion</return> The version of
  the underlying pslib library in the format \<major&gt;.\<minor&gt;.\<subminor&gt; <return>scope</return> The current drawing scope. Can be object, document, null, page, pattern, path, template, prolog, font, glyph. <return>ligaturedisolvechar</return> The character which dissolves a ligature. If your are using a font which contains the ligature `ff' and `|' is the char to dissolve the ligature, then `f|f' will result in two `f' instead of the ligature `ff'. <return>imageencoding</return> The encoding used for encoding images. Can be either <return>hex</return> or <return>85</return>. hex encoding uses two bytes in the postscript file each byte in the image. 85 stand for Ascii85 encoding. <return>linenumbermode</return> Set to <return>paragraph</return> if lines are numbered within a paragraph or <return>box</return> if they are numbered within the surrounding box. <return>linebreak</return> Only used if text is output with <strong>ps_show_boxed()</strong>. If set to <info>true</info> a carriage return will add a line break. <return>parbreak</return> Only used if text is output with <strong>ps_show_boxed()</strong>. If set to <info>true</info> a carriage return will start a new paragraph. <return>hyphenation</return> Only used if text is output with <strong>ps_show_boxed()</strong>. If set to <info>true</info> the paragraph will be hyphenated if a hypen dictionary is set and exists. <return>hyphendict</return> Filename of the dictionary used for hyphenation pattern.
  
  The name of the currently active font or the font whose identifier is passed in parameter
  <strong>$modifier</strong>.
  
  The encoding of the currently active font.
  
  The version of the underlying pslib library in the format \<major&gt;.\<minor&gt;.\<subminor&gt;
  
  The current drawing scope. Can be object, document, null, page, pattern, path, template, prolog,
  font, glyph.
  
  The character which dissolves a ligature. If your are using a font which contains the ligature
  `ff' and `|' is the char to dissolve the ligature, then `f|f' will result in two `f' instead of
  the ligature `ff'.
  
  The encoding used for encoding images. Can be either <return>hex</return> or <return>85</return>. hex encoding uses two bytes in the
  postscript file each byte in the image. 85 stand for Ascii85 encoding.
  
  Set to <return>paragraph</return> if lines are numbered within a paragraph or <return>box</return> if they are numbered within the
  surrounding box.
  
  Only used if text is output with <strong>ps_show_boxed()</strong>. If set to <info>true</info> a carriage return will add a line
  break.
  
  Only used if text is output with <strong>ps_show_boxed()</strong>. If set to <info>true</info> a carriage return will start a
  new paragraph.
  
  Only used if text is output with <strong>ps_show_boxed()</strong>. If set to <info>true</info> the paragraph will be hyphenated
  if a hypen dictionary is set and exists.
  
  Filename of the dictionary used for hyphenation pattern.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc   </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>string  </info>  <strong>$name    </strong>  Name of the parameter.
  <info>float   </info>  <strong>$modifier</strong>  An identifier needed if a parameter of a resource is requested, e.g. the size
                       of an image. In such a case the resource id is passed.

<comment>Return:</comment>
  <info>stringfalse</info>  Returns the value of the parameter  sau <info>false</info> în cazul eșecului.

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


id: ps_get_value
type: function
doc:
<comment>Description:</comment>
  Gets certain values
  
  Gets several values which were set by <strong>ps_set_value()</strong>. Values are by definition float values.
  
  The parameter <strong>$name</strong> can have the following values.
  
  <return>fontsize</return> The size of the currently active font or the font whose identifier is passed in parameter
  <strong>$modifier</strong>. <return>font</return> The currently active font itself. <return>imagewidth</return> The width of the image whose id is
  passed in the parameter <strong>$modifier</strong>. <return>imageheight</return> The height of the image whose id is passed in the
  parameter <strong>$modifier</strong>. <return>capheight</return> The height of a capital M in the currently active font or the font
  whose identifier is passed in parameter <strong>$modifier</strong>. <return>ascender</return> The ascender of the currently active
  font or the font whose identifier is passed in parameter <strong>$modifier</strong>. <return>descender</return> The descender of the
  currently active font or the font whose identifier is passed in parameter <strong>$modifier</strong>. <return>italicangle</return>
  The italicangle of the currently active font or the font whose identifier is passed in parameter
  <strong>$modifier</strong>. <return>underlineposition</return> The underlineposition of the currently active font or the font whose
  identifier is passed in parameter <strong>$modifier</strong>. <return>underlinethickness</return> The underlinethickness of the
  currently active font or the font whose identifier is passed in parameter <strong>$modifier</strong>. <return>textx</return> The
  current x-position for text output. <return>texty</return> The current y-position for text output. <return>textrendering</return>
  The current mode for text rendering. <return>textrise</return> The space by which text is risen above the base
  line. <return>leading</return> The distance between text lines in points. <return>wordspacing</return> The space between words as a
  multiple of the width of a space char. <return>charspacing</return> The space between chars. If charspacing is !=
  0.0 ligatures will always be dissolved. <return>hyphenminchars</return> Minimum number of chars hyphenated at the
  end of a word. <return>parindent</return> Indention of the first n line in a paragraph. <return>numindentlines</return> Number of
  line in a paragraph to indent if parindent != 0.0. <return>parskip</return> Distance between paragraphs.
  <return>linenumberspace</return> Overall space in front of each line for the line number. <return>linenumbersep</return> Space
  between the line and the line number. <return>major</return> The major version number of pslib. <return>minor</return> The minor
  version number of pslib. <return>subminor</return>, <return>revision</return> The subminor version number of pslib.
  
  The size of the currently active font or the font whose identifier is passed in parameter
  <strong>$modifier</strong>.
  
  The currently active font itself.
  
  The width of the image whose id is passed in the parameter <strong>$modifier</strong>.
  
  The height of the image whose id is passed in the parameter <strong>$modifier</strong>.
  
  The height of a capital M in the currently active font or the font whose identifier is passed in
  parameter <strong>$modifier</strong>.
  
  The ascender of the currently active font or the font whose identifier is passed in parameter
  <strong>$modifier</strong>.
  
  The descender of the currently active font or the font whose identifier is passed in parameter
  <strong>$modifier</strong>.
  
  The italicangle of the currently active font or the font whose identifier is passed in parameter
  <strong>$modifier</strong>.
  
  The underlineposition of the currently active font or the font whose identifier is passed in
  parameter <strong>$modifier</strong>.
  
  The underlinethickness of the currently active font or the font whose identifier is passed in
  parameter <strong>$modifier</strong>.
  
  The current x-position for text output.
  
  The current y-position for text output.
  
  The current mode for text rendering.
  
  The space by which text is risen above the base line.
  
  The distance between text lines in points.
  
  The space between words as a multiple of the width of a space char.
  
  The space between chars. If charspacing is != 0.0 ligatures will always be dissolved.
  
  Minimum number of chars hyphenated at the end of a word.
  
  Indention of the first n line in a paragraph.
  
  Number of line in a paragraph to indent if parindent != 0.0.
  
  Distance between paragraphs.
  
  Overall space in front of each line for the line number.
  
  Space between the line and the line number.
  
  The major version number of pslib.
  
  The minor version number of pslib.
  
  The subminor version number of pslib.

<comment>Param:</comment>
  <info>resource</info>  <strong>$psdoc   </strong>  Resource identifier of the postscript file as returned by <strong>ps_new()</strong>.
  <info>string  </info>  <strong>$name    </strong>  Name of the value.
  <info>float   </info>  <strong>$modifier</strong>  The parameter <strong>$modifier</strong> specifies the resource for which the value is to be
                       retrieved. This can be the id of a font or an image.

<comment>Return:</comment>
  <info>float</info>  Returns the value of the parameter or <info>false</info>.

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


