# php_manual

id: apcu_cache_info
type: function
doc:
<comment>Description:</comment>
  Retrieves cached information from APCu's data store
    
  
  Retrieves cached information and meta-data from APC's data store.

<comment>Param:</comment>
  <info>bool</info>  <strong>$limited</strong>  If <strong>$limited</strong> is <info>true</info>, the return value will exclude the individual list of cache
                  entries.  This is useful when trying to optimize calls for statistics gathering.

<comment>Return:</comment>
  <info>array|false</info>  Array of cached data (and meta-data) ou <info>false</info> em caso de falha
               
               <strong>apcu_cache_info()</strong> will raise a warning if it is unable to retrieve APC cache data.
               This typically occurs when APC is not enabled.

<comment>See Also:</comment>
   * APCu configuration directives
   * APCUIterator::getTotalSize
   * APCUIterator::getTotalHits
   * APCUIterator::getTotalCount


id: apcu_cas
type: function
doc:
<comment>Description:</comment>
  Updates an old value with a new value
  
  <strong>apcu_cas()</strong> updates an already existing integer value if the  <strong>$old</strong> parameter matches the currently
  stored value  with the value of the <strong>$new</strong> parameter.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The key of the value being updated.
  <info>int</info>     <strong>$old</strong>  The old value (the value currently stored).
  <info>int</info>     <strong>$new</strong>  The new value to update to.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>apcu_dec()</strong>
   * <strong>apcu_store()</strong>


id: apcu_clear_cache
type: function
doc:
<comment>Description:</comment>
  Clears the APCu cache
    
  
  Clears the cache.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> always

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


id: apcu_dec
type: function
doc:
<comment>Description:</comment>
  Decrease a stored number
  
  Decreases a stored integer value.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>      The key of the value being decreased.
  <info>int</info>     <strong>$step</strong>     The step, or value to decrease.
  <info>bool</info>    <strong>$success</strong>  Optionally pass the success or fail boolean value to this referenced variable.
  <info>int</info>     <strong>$ttl</strong>      TTL to use if the operation inserts a new value (rather than decrementing an
                    existing one).

<comment>Return:</comment>
  <info>int|false</info>  Returns the current value of <strong>$key</strong>'s value on success, ou <info>false</info> em caso de falha

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


id: apcu_delete
type: function
doc:
<comment>Description:</comment>
  Removes a stored variable from the cache
    
  
  Removes a stored variable from the cache.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>  A <strong>$key</strong> used to store the value as a <info>string</info> for a single key, or as an <info>array</info> of
               strings for several keys, or as an <class>APCUIterator</class> <info>object</info>.

<comment>Return:</comment>
  <info>mixed</info>  If <strong>$key</strong> is an <info>array</info>, an indexed <info>array</info> of the keys is returned. Otherwise <info>true</info> is returned
         on success, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>apcu_store()</strong>
   * <strong>apcu_fetch()</strong>
   * <strong>apcu_clear_cache()</strong>
   * <class>APCUIterator</class>


id: apcu_enabled
type: function
doc:
<comment>Description:</comment>
  Whether APCu is usable in the current environment
  
  Returns whether APCu is usable in the current environment.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> when APCu is usable in the current environment, <info>false</info> otherwise.


id: apcu_entry
type: function
doc:
<comment>Description:</comment>
  Atomically fetch or generate a cache entry
    
  
  Atomically attempts to find <strong>$key</strong> in the cache, if it cannot be found <strong>$generator</strong> is called, passing
  <strong>$key</strong> as the only argument. The return value of the call is then cached with the optionally
  specified <strong>$ttl</strong>, and returned.
  
  When control enters <strong>apcu_entry()</strong> the lock for the cache is acquired exclusively, it is released
  when control leaves <strong>apcu_entry()</strong>:  In effect, this turns the body of <strong>$generator</strong> into a critical
  section, disallowing two processes from executing the same code paths concurrently. In addition,
  it prohibits the concurrent execution of any other APCu functions, since they will acquire the
  same lock.
  
  The only APCu function that can be called safely by <strong>$generator</strong> is <strong>apcu_entry()</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$key</strong>        Identity of cache entry
  <info>callable</info>  <strong>$generator</strong>  A callable that accepts <strong>$key</strong> as the only argument and returns the value to
                        cache.
  <info>int</info>       <strong>$ttl</strong>        Time To Live; store <strong>$var</strong> in the cache for <strong>$ttl</strong> seconds. After the <strong>$ttl</strong> has
                        passed, the stored variable will be expunged from the cache (on the next
                        request). If no <strong>$ttl</strong> is supplied (or if the <strong>$ttl</strong> is <return>0</return>), the value will
                        persist until it is removed from the cache manually, or otherwise fails to
                        exist in the cache (clear, restart, etc.).

<comment>Return:</comment>
  <info>mixed</info>  Returns the cached value

<comment>See Also:</comment>
   * <strong>apcu_store()</strong>
   * <strong>apcu_fetch()</strong>
   * <strong>apcu_delete()</strong>


id: apcu_exists
type: function
doc:
<comment>Description:</comment>
  Checks if entry exists
  
  Checks if one or more APCu entries exist.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$keys</strong>  A <info>string</info>, or an <info>array</info> of strings, that contain keys.

<comment>Return:</comment>
  <info>mixed</info>  Returns <info>true</info> if the key exists, otherwise <info>false</info> Or if an <info>array</info> was passed to <strong>$keys</strong>, then an
         array is returned that contains all existing keys, or an empty array if none exist.

<comment>See Also:</comment>
   * <strong>apcu_cache_info()</strong>
   * <strong>apcu_fetch()</strong>


id: apcu_fetch
type: function
doc:
<comment>Description:</comment>
  Fetch a stored variable from the cache
    
  
  Fetches an entry from the cache.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>      The <strong>$key</strong> used to store the value (with <strong>apcu_store()</strong>). If an array is passed then
                   each element is fetched and returned.
  <info>bool</info>   <strong>$success</strong>  Set to <info>true</info> in success and <info>false</info> in failure.

<comment>Return:</comment>
  <info>mixed</info>  The stored variable or array of variables on success; <info>false</info> on failure

<comment>See Also:</comment>
   * <strong>apcu_store()</strong>
   * <strong>apcu_delete()</strong>
   * <class>APCUIterator</class>


id: apcu_inc
type: function
doc:
<comment>Description:</comment>
  Increase a stored number
  
  Increases a stored number.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>      The key of the value being increased.
  <info>int</info>     <strong>$step</strong>     The step, or value to increase.
  <info>bool</info>    <strong>$success</strong>  Optionally pass the success or fail boolean value to this referenced variable.
  <info>int</info>     <strong>$ttl</strong>      TTL to use if the operation inserts a new value (rather than incrementing an
                    existing one).

<comment>Return:</comment>
  <info>int|false</info>  Returns the current value of <strong>$key</strong>'s value on success, ou <info>false</info> em caso de falha

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


id: apcu_key_info
type: function
doc:
<comment>Description:</comment>
  Get detailed information about the cache key
    
  
  Get detailed information about the cache key

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  Get detailed information about the cache key

<comment>Return:</comment>
  <info>array|null</info>  An array containing the detailed information about the cache key, or <info>null</info> if the key
              does not exist.

<comment>See Also:</comment>
   * <strong>apcu_store()</strong>
   * <strong>apcu_fetch()</strong>
   * <strong>apcu_delete()</strong>


id: apcu_sma_info
type: function
doc:
<comment>Description:</comment>
  Retrieves APCu Shared Memory Allocation information
    
  
  Retrieves APCu Shared Memory Allocation information.

<comment>Param:</comment>
  <info>bool</info>  <strong>$limited</strong>  When set to <info>false</info> (default) <strong>apcu_sma_info()</strong> will return a detailed information
                  about each segment.

<comment>Return:</comment>
  <info>array|false</info>  Array of Shared Memory Allocation data; <info>false</info> on failure.

<comment>See Also:</comment>
   * APCu configuration directives


id: apcu_store
type: function
doc:
<comment>Description:</comment>
  Cache a variable in the data store
    
  
  Cache a variable in the data store.
  
  Unlike many other mechanisms in PHP, variables stored using <strong>apcu_store()</strong> will persist between
  requests (until the value is removed from the cache).

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>     Store the variable using this name. <strong>$key</strong>s are cache-unique, so storing a second
                   value with the same <strong>$key</strong> will overwrite the original value.
  <info>mixed</info>   <strong>$var</strong>     The variable to store
  <info>int</info>     <strong>$ttl</strong>     Time To Live; store <strong>$var</strong> in the cache for <strong>$ttl</strong> seconds. After the <strong>$ttl</strong> has
                   passed, the stored variable will be expunged from the cache (on the next
                   request). If no <strong>$ttl</strong> is supplied (or if the <strong>$ttl</strong> is <return>0</return>), the value will persist
                   until it is removed from the cache manually, or otherwise fails to exist in the
                   cache (clear, restart, etc.).
  <info>array</info>   <strong>$values</strong>  Names in key, variables in value.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha. Second syntax returns array with
        error keys.

<comment>See Also:</comment>
   * <strong>apcu_add()</strong>
   * <strong>apcu_fetch()</strong>
   * <strong>apcu_delete()</strong>


id: array
type: function
doc:
<comment>Description:</comment>
  Cria um array
  
  Cria um array. Leia a seção sobre tipo array para mais informação sobre o que é um array.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$values</strong>  A sintaxe "índice =&gt; valores", separados por vírgulas, definem índice e valores
                  respectivamente. O índice pode ser do tipo string ou inteiro. Quando o índice é
                  omitido, um índice inteiro é automaticamente gerado, começando em 0. Se o índice é
                  um inteiro, o próximo índice gerado será igual ao maior índice inteiro + 1. Note
                  que quando dois índices idênticos são definidos, o último sobrescreve o primeiro.
                  
                  Inserir uma vírgula após a última entrada definida do array, mesmo sendo incomum,
                  é uma sintaxe válida.

<comment>Return:</comment>
  <info>array</info>  Retorna um array dos parâmetros.  Os parâmetros podem ser fornecidos com um índice com o
         operador <return>=&gt;</return>.  Leia a seção sobre tipo de array para mais informação sobre o que é um
         array.

<comment>See Also:</comment>
   * <strong>array_pad()</strong>
   * <strong>list()</strong>
   * <strong>count()</strong>
   * <strong>range()</strong>
   * foreach
   * O tipo array


id: array_change_key_case
type: function
doc:
<comment>Description:</comment>
  Modifica a caixa de todas as chaves em um array
  
  Retorna um array com todas as chaves de <strong>$array</strong> em minúsculo ou maiúsculo. Índices numéricos são
  mantidos como são.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array a ser modificado
  <info>int</info>    <strong>$case</strong>   Tanto <info>CASE_UPPER</info> quanto <info>CASE_LOWER</info> (padrão)

<comment>Return:</comment>
  <info>array</info>  Retorna um array com as chaves em minúsculo ou maiúsculo.


id: array_chunk
type: function
doc:
<comment>Description:</comment>
  Divide um array em pedaços
  
  Divide um array em <strong>$length</strong> pedaços. O último pedaço pode conter menos elementos que o parâmetro
  <strong>$length</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>          O array.
  <info>int</info>    <strong>$length</strong>         O tamanho de cada pedaço
  <info>bool</info>   <strong>$preserve_keys</strong>  Quando definido para <info>true</info>, chaves serão preservadas. O padrão é <info>false</info> que
                         reindexará os pedaços numericamente

<comment>Return:</comment>
  <info>array</info>  Retorna um array multidimensional numericamente indexado, iniciando com 0, com cada
         dimensão contendo <strong>$length</strong> elementos.

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


id: array_column
type: function
doc:
<comment>Description:</comment>
  Retorna os valores de uma coluna do array informado
  
  A função <strong>array_column()</strong> retorna os valores de uma coluna do <strong>$array</strong> informado, indentificada pelo
  <strong>$column_key</strong>. Opcionalmente, uma <strong>$index_key</strong> pode ser informada para indexar os valores do array
  retornado pelos valores da coluna <strong>$index_key</strong> do array.

<comment>Param:</comment>
  <info>array</info>            <strong>$array</strong>       Um array multidimensional ou um array de objetos que se deseja
                                extrair os valores da coluna. Se um array de objetos for fornecido,
                                propriedades públicas podem ser extraídas diretamente. Para extrair
                                propriedades protegidas e privadas, a classe deve implementar ambos
                                os métodos mágicos <strong>__get()</strong> e <strong>__isset()</strong>.
  <info>int|string|null</info>  <strong>$column_key</strong>  A coluna de valores a ser retornada. Este valor pode ser uma chave
                                inteira da coluna que se deseja recuperar, ou uma uma string com o
                                nome da chave de um array associativo ou nome de propriedade. Também
                                pode ser <info>null</info> para retornar arrays completos ou objetos (isso é útil
                                com o parâmetro <strong>$index_key</strong>, para reindexar o array).
  <info>int|string|null</info>  <strong>$index_key</strong>   A coluna a ser utilizada como índices/chaves do array retornado.
                                Este valor pode ser uma chave inteira da coluna, ou uma uma string
                                com o nome da chave. O valor é convertido como de costume para
                                chaves de array (no entanto, antes do PHP 8.0.0, objetos que
                                suportam conversão para string também eram permitidos).

<comment>Return:</comment>
  <info>array</info>  Retorna um array com os valores que representam uma coluna do array informado.


id: array_combine
type: function
doc:
<comment>Description:</comment>
  Cria um array usando um array para chaves e outro para valores
  
  Cria um <info>array</info> usando os valores do array <strong>$keys</strong> como chaves e os valores do array <strong>$values</strong> como
  valores correspondentes.

<comment>Param:</comment>
  <info>array</info>  <strong>$keys</strong>    Array a ser usado como chaves. Valores ilegais para chave serão convertidos para
                  <info>string</info>.
  <info>array</info>  <strong>$values</strong>  <info>Array</info> a ser usado como valores

<comment>Return:</comment>
  <info>array</info>  Retorna o <info>array</info> combinado.

<comment>See Also:</comment>
   * <strong>array_merge()</strong>
   * <strong>array_walk()</strong>
   * <strong>array_values()</strong>
   * <strong>array_map()</strong>


id: array_count_values
type: function
doc:
<comment>Description:</comment>
  Conta as ocorrências de cada valor distinto em um array
  
  A função <strong>array_count_values()</strong> retorna um array utilizando os valores do parâmetro <strong>$array</strong> (que
  devem ser <info>int</info>s ou <info>string</info>s) como chaves e suas respectivas frequências em <strong>$array</strong> como valores.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array de valores para contar

<comment>Return:</comment>
  <info>array</info>  Retorna um array associativo de valores de <strong>$array</strong> como chaves e suas quantias como valor.

<comment>See Also:</comment>
   * <strong>count()</strong>
   * <strong>array_unique()</strong>
   * <strong>array_values()</strong>
   * <strong>count_chars()</strong>


id: array_diff
type: function
doc:
<comment>Description:</comment>
  Computa as diferenças entre arrays
  
  Compara <strong>$array</strong> com um ou mais arrays e retorna os valores no <strong>$array</strong> que não estão presentes em
  nenhum dos outros arrays.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>   O array a ser comparado
  <info>array</info>  <strong>$arrays</strong>  Arrays para comparar

<comment>Return:</comment>
  <info>array</info>  Retorna um <info>array</info> contendo todas as entradas de <strong>$array</strong> que não estão presentes em nenhum dos
         outros arrays. Chaves no array <strong>$array</strong> são preservadas.

<comment>See Also:</comment>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>


id: array_diff_assoc
type: function
doc:
<comment>Description:</comment>
  Computa a diferença entre arrays com checagem adicional de índice
  
  Compara <strong>$array</strong> com <strong>$arrays</strong> e retorna a diferença. Ao contrário de <strong>array_diff()</strong>, as chaves dos
  arrays também são usadas na comparação.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>   O array a ser comparado
  <info>array</info>  <strong>$arrays</strong>  Arrays para comparar

<comment>Return:</comment>
  <info>array</info>  Retorna um <info>array</info> contendo todos os valores do <strong>$array</strong> que não estão presentes em qualquer um
         dos outros arrays.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>


id: array_diff_key
type: function
doc:
<comment>Description:</comment>
  Computa a diferença entre arrays usando as chaves na comparação
  
  Compara as chaves do <strong>$array</strong> com as chaves do <strong>$arrays</strong> e retorna a diferença. Esta função é similar
  a <strong>array_diff()</strong>, com exceção que a comparação é feita com as chaves, ao invés dos valores.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>   O array a ser comparado
  <info>array</info>  <strong>$arrays</strong>  Arrays para comparar

<comment>Return:</comment>
  <info>array</info>  Retorna um <info>array</info> contendo todas as entradas de <strong>$array</strong> cujas chaves não estão presentes em
         qualquer dos outros arrays.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_diff_ukey()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_intersect_key()</strong>
   * <strong>array_intersect_ukey()</strong>


id: array_diff_uassoc
type: function
doc:
<comment>Description:</comment>
  Computa a diferença entre arrays com checagem adicional de índice que feita por uma função de
  callback fornecida pelo usuário
  
  Compara <strong>$array</strong> com <strong>$arrays</strong> e retorna a diferença. Ao contrário de <strong>array_diff()</strong>, as chaves dos
  arrays são usadas na comparação.
  
  Ao contrário de <strong>array_diff_assoc()</strong>, uma função de callback fornecida pelo usuário é usada na
  comparação dos índices, não uma função interna.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>             O array a ser comparado
  <info>array</info>     <strong>$arrays</strong>            Arrays para comparar
  <info>callable</info>  <strong>$key_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                               maior que zero se o primeiro argumento for considerado
                               respectivamente menor que, igual ou maior que o segundo.
                               
                               Retornar valores não inteiros da função de comparação, como <info>float</info>,
                               resultará em uma conversão interna do valor retornado da função
                               callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                               convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                               como iguais.

<comment>Return:</comment>
  <info>array</info>  Retorna um <info>array</info> contendo todas as entradas de <strong>$array</strong> que não estão presentes em qualquer
         um dos outros arrays.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_diff_ukey
type: function
doc:
<comment>Description:</comment>
  Computa a diferença entre arrays usando uma função callback na comparação de chaves
  
  Compara as chaves de <strong>$array</strong> com as chaves de <strong>$arrays</strong> e retorna a diferença. Esta função é similar
  a <strong>array_diff()</strong>, com exceção que a comparação é feita nas chaves ao invés dos valores.
  
  Diferente de <strong>array_diff_key()</strong> uma função callback é fornecida e usada para comparação de índices,
  não função interna.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>             O array a ser comparado
  <info>array</info>     <strong>$arrays</strong>            Arrays para comparar
  <info>callable</info>  <strong>$key_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                               maior que zero se o primeiro argumento for considerado
                               respectivamente menor que, igual ou maior que o segundo.
                               
                               Retornar valores não inteiros da função de comparação, como <info>float</info>,
                               resultará em uma conversão interna do valor retornado da função
                               callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                               convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                               como iguais.

<comment>Return:</comment>
  <info>array</info>  Retorna um <info>array</info> contendo todas as entradas de <strong>$array</strong> que não estão presentes em nenhum
         outro array.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_diff_key()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_intersect_key()</strong>
   * <strong>array_intersect_ukey()</strong>


id: array_fill
type: function
doc:
<comment>Description:</comment>
  Preenche um array com valores
  
  Preenche um array com <strong>$count</strong> elementos com o valor do parâmetro <strong>$value</strong> e chaves começando a partir
  de <strong>$start_index</strong>.

<comment>Param:</comment>
  <info>int</info>    <strong>$start_index</strong>  O primeiro índice do array retornado
                       
                       Se <strong>$start_index</strong> for negativo, o primeiro índice do array retornado será
                       <strong>$start_index</strong>, e os índices seguintes começarão do zero antes do PHP 8.0.0. A
                       partir do PHP 8.0.0, chaves negativas são incrementadas normalmente (veja o
                       exemplo).
  <info>int</info>    <strong>$count</strong>        Número de elementos a inserir. Deve ser maior ou igual a zero, e menor ou
                       igual a <return>2147483647</return>.
  <info>mixed</info>  <strong>$value</strong>        Valores a preencher

<comment>Return:</comment>
  <info>array</info>  Retorna o array preenchido

<comment>See Also:</comment>
   * <strong>array_fill_keys()</strong>
   * <strong>str_repeat()</strong>
   * <strong>range()</strong>


id: array_fill_keys
type: function
doc:
<comment>Description:</comment>
  Preenche um array com valores, especificando chaves
  
  Preenche um array com o valor do parâmetro <strong>$value</strong>, usando os valores do array <strong>$keys</strong> como chaves.

<comment>Param:</comment>
  <info>array</info>  <strong>$keys</strong>   Array de valores que serão usados como chaves. Valores ilegais para chaves serão
                 convertidos para <info>string</info>.
  <info>mixed</info>  <strong>$value</strong>  Valor para usar no preenchimento

<comment>Return:</comment>
  <info>array</info>  Retorna o array preenchido

<comment>See Also:</comment>
   * <strong>array_fill()</strong>
   * <strong>array_combine()</strong>


id: array_filter
type: function
doc:
<comment>Description:</comment>
  Filtra elementos de um array utilizando uma função callback
  
  Itera sobre cada valor de <strong>$array</strong> passando-os para a função <strong>$callback</strong>. Se a função <strong>$callback</strong>
  retornar <info>true</info>, o valor atual de <strong>$array</strong> é retornado no <info>array</info> resultante.
  
  Chaves do array são preservadas,e podem resultar em lacunas se o <strong>$array</strong> foi indexado. O <info>array</info>
  resultante pode ser reindexado usando a função <strong>array_values()</strong>.

<comment>Param:</comment>
  <info>array</info>          <strong>$array</strong>     O array a ser iterado
  <info>callable|null</info>  <strong>$callback</strong>  A função callback a ser usada
                            
                            Se nenhum <strong>$callback</strong> é fornecido, todas entradas vazias do <strong>$array</strong> serão
                            removidas. Veja <strong>empty()</strong> para saber como o PHP define vazia nesse caso.
  <info>int</info>            <strong>$mode</strong>      Flag determinando quais argumentos são passados para <strong>$callback</strong>:
                            <info>ARRAY_FILTER_USE_KEY</info> - passa chaves como argumentos para <strong>$callback</strong> em
                            vez de valor<info>ARRAY_FILTER_USE_BOTH</info> - passa tanto valor quanto chave como
                            argumento para <strong>$callback</strong> em vez do valor Padrão é <return>0</return> que em vez disso irá
                            passar valor como o único argumento para <strong>$callback</strong>.
                            
                            <info>ARRAY_FILTER_USE_KEY</info> - passa chaves como argumentos para <strong>$callback</strong> em
                            vez de valor
                            
                            <info>ARRAY_FILTER_USE_BOTH</info> - passa tanto valor quanto chave como argumento
                            para <strong>$callback</strong> em vez do valor

<comment>Return:</comment>
  <info>array</info>  Retorna o array filtrado.

<comment>See Also:</comment>
   * <strong>array_intersect()</strong>
   * <strong>array_map()</strong>
   * <strong>array_reduce()</strong>
   * <strong>array_walk()</strong>


id: array_flip
type: function
doc:
<comment>Description:</comment>
  Permuta todas as chaves e seus valores associados em um array
  
  <strong>array_flip()</strong> retorna um <info>array</info> com suas relações trocadas, ou seja, as chaves de <strong>$array</strong> passam a
  ser os valores e os valores de <strong>$array</strong> passam a ser as chaves.
  
  Note que os valores de <strong>$array</strong> devem ser chaves válidas, ou seja, eles precisam ser <info>int</info> ou <info>string</info>.
  Um aviso será mostrado se um valor é de um tipo inválido para chaves, e o par chave/valor em
  questão não será invertido.
  
  Se um valor tem várias ocorrências, a última chave será usada como valor, e todos os outros serão
  perdidos.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  Um array de pares chave/valor para inverter.

<comment>Return:</comment>
  <info>array</info>  Retorna o array trocado.

<comment>See Also:</comment>
   * <strong>array_values()</strong>
   * <strong>array_keys()</strong>
   * <strong>array_reverse()</strong>


id: array_intersect
type: function
doc:
<comment>Description:</comment>
  Calcula a interseção entre arrays
  
  <strong>array_intersect()</strong> retorna um array contendo todos os valores de <strong>$array</strong> que estão presentes nos
  outros argumentos. Note que as chaves são preservadas.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>   O array com os valores que serão verificados.
  <info>array</info>  <strong>$arrays</strong>  Arrays para comparar os valores.

<comment>Return:</comment>
  <info>array</info>  Retorna um array contendo todos os valores em <strong>$array</strong> cujo existem em todos os parâmetros.

<comment>See Also:</comment>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>


id: array_intersect_assoc
type: function
doc:
<comment>Description:</comment>
  Computa a interseção de arrays com uma adicional verificação de índice
  
  <strong>array_intersect_assoc()</strong> retorna um array contendo todos os valores de <strong>$array</strong> que estão presentes
  em todos os argumentos. Note que estas chaves também são usadas na comparação diferindo de
  <strong>array_intersect()</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>   O array com os valores a serem verificados.
  <info>array</info>  <strong>$arrays</strong>  Arrays para comparar os valores.

<comment>Return:</comment>
  <info>array</info>  Retorna um array associativo contendo todos os valores em <strong>$array</strong> que estão presentes em
         todos os argumentos.

<comment>See Also:</comment>
   * <strong>array_intersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>


id: array_intersect_key
type: function
doc:
<comment>Description:</comment>
  Calcula a interseção de arrays, comparando pelas chaves
  
  <strong>array_intersect_key()</strong> retorna um array contendo todos os valores de <strong>$array</strong> que tem as mesmas
  chaves presentes em todos os argumentos.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>   O array com as chaves a serem verificadas.
  <info>array</info>  <strong>$arrays</strong>  Arrays para comparar as chaves.

<comment>Return:</comment>
  <info>array</info>  Retorna um array associativo contendo todos os valores de <strong>$array</strong> que estão presentes em
         todos os argumentos.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_diff_key()</strong>
   * <strong>array_diff_ukey()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_intersect_ukey()</strong>


id: array_intersect_uassoc
type: function
doc:
<comment>Description:</comment>
  Computa a interseção de arrays com checagem de índice adicional, compara índices por uma função de
  callback
  
  <strong>array_intersect_uassoc()</strong> retorna um array contendo todos os valores de <strong>$array</strong> que estão presentes
  em todos os argumentos. Note que as chaves são usadas na comparação, ao contrário da função
  <strong>array_intersect()</strong>.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>             Array inicial para comparação dos arrays.
  <info>array</info>     <strong>$arrays</strong>            Arrays para comparar as chaves.
  <info>callable</info>  <strong>$key_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                               maior que zero se o primeiro argumento for considerado
                               respectivamente menor que, igual ou maior que o segundo.
                               
                               Retornar valores não inteiros da função de comparação, como <info>float</info>,
                               resultará em uma conversão interna do valor retornado da função
                               callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                               convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                               como iguais.

<comment>Return:</comment>
  <info>array</info>  Retorna os valores de <strong>$array</strong> cujos valores existem em todos os argumentos.

<comment>See Also:</comment>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>
   * <strong>array_intersect_key()</strong>
   * <strong>array_intersect_ukey()</strong>


id: array_intersect_ukey
type: function
doc:
<comment>Description:</comment>
  Computa a interseção de arrays usando uma função de callback nas chaves para comparação
  
  <strong>array_intersect_ukey()</strong> retorna um array contendo todos os valores de <strong>$array</strong> que têm as mesmas
  chaves presentes em todos os argumentos.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>             Array inicial para comparação dos arrays.
  <info>array</info>     <strong>$arrays</strong>            Arrays para comparar as chaves.
  <info>callable</info>  <strong>$key_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                               maior que zero se o primeiro argumento for considerado
                               respectivamente menor que, igual ou maior que o segundo.
                               
                               Retornar valores não inteiros da função de comparação, como <info>float</info>,
                               resultará em uma conversão interna do valor retornado da função
                               callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                               convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                               como iguais.

<comment>Return:</comment>
  <info>array</info>  Retorna os valores de <strong>$array</strong> cujas chaves existem em todos os argumentos.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_diff_key()</strong>
   * <strong>array_diff_ukey()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_intersect_key()</strong>


id: array_is_list
type: function
doc:
<comment>Description:</comment>
  Verifica se um array é uma lista
  
  Determina se o <strong>$array</strong> fornecido é uma lista. Um <info>array</info> é considerado uma lista se suas keys
  consistem em números consecutivos de <return>0</return> a <return>count($array)-1</return>.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O <info>array</info> que está sendo avaliado.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se <strong>$array</strong> for uma lista, <info>false</info> caso contrário.

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


id: array_key_exists
type: function
doc:
<comment>Description:</comment>
  Checa se uma chave ou índice existe em um array
  
  <strong>array_key_exists()</strong> retorna <info>true</info> se a chave <strong>$key</strong> existe no array. <strong>$key</strong> pode ser qualquer valor
  possível para um índice de um array.

<comment>Param:</comment>
  <info>string|int</info>  <strong>$key</strong>    Valor para verificar.
  <info>array</info>       <strong>$array</strong>  Um array com chaves para verificar.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.
        
        <strong>array_key_exists()</strong> procurará pelas chaves na primeira dimensão apenas. Chaves aninhadas em
        arrays multidimensionais não serão encontradas.

<comment>See Also:</comment>
   * <strong>isset()</strong>
   * <strong>array_keys()</strong>
   * <strong>in_array()</strong>
   * <strong>property_exists()</strong>


id: array_key_first
type: function
doc:
<comment>Description:</comment>
  Obtém a primeira chave de um array
  
  Obtenha a primeira chave do <strong>$array</strong> fornecido sem afetar o ponteiro do array interno.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  Um array.

<comment>Return:</comment>
  <info>int|string|null</info>  Retorna a primeira key do <strong>$array</strong> se o array não estiver vazio; <info>null</info> caso
                   contrário.

<comment>See Also:</comment>
   * <strong>array_key_last()</strong>
   * <strong>reset()</strong>


id: array_key_last
type: function
doc:
<comment>Description:</comment>
  Obtém a última chave de um array
  
  Obtenha a última chave do <strong>$array</strong> fornecido sem afetar o ponteiro do array interno.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  Um array.

<comment>Return:</comment>
  <info>int|string|null</info>  Retorna a última key do <strong>$array</strong> se o array não estiver vazio; <info>null</info> caso contrário.

<comment>See Also:</comment>
   * <strong>array_key_first()</strong>
   * <strong>end()</strong>


id: array_keys
type: function
doc:
<comment>Description:</comment>
  Retorna todas as chaves ou uma parte das chaves de um array
  
  <strong>array_keys()</strong> retorna as chaves, numéricas e string, do array <strong>$array</strong>.
  
  Se um parâmetro <strong>$filter_value</strong> for especificado, então apenas as chaves para esse valor serão
  retornadas. Do contrário, todas as chaves de <strong>$array</strong> serão retornadas.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>         Um array contendo chaves a serem retornadas.
  <info>mixed</info>  <strong>$filter_value</strong>  Se especificado, somente chaves contendo este valor são retornadas.
  <info>bool</info>   <strong>$strict</strong>        Determina se a comparação é rígida (===) deve ser utilizada durante a busca.

<comment>Return:</comment>
  <info>array</info>  Retorna um array de todas as chaves em <strong>$array</strong>.

<comment>See Also:</comment>
   * <strong>array_values()</strong>
   * <strong>array_combine()</strong>
   * <strong>array_key_exists()</strong>
   * <strong>array_search()</strong>


id: array_map
type: function
doc:
<comment>Description:</comment>
  Aplica uma função em todos os elementos dos arrays dados
  
  <strong>array_map()</strong> retorna um <info>array</info> contendo os resultados da aplicação do <strong>$callback</strong> ao valor
  correspondente do <strong>$array</strong> (e <strong>$arrays</strong> se mais arrays forem fornecidos) usados como argumentos para a
  função de callback. O número de parâmetros que a função <strong>$callback</strong> aceita deve coincidir com o
  número de arrays passados para <strong>array_map()</strong>. Arrays de entrada excedentes são ignorados. Um
  <class>ArgumentCountError</class> é lançado se um número insuficiente de argumentos é fornecido.

<comment>Param:</comment>
  <info>callable|null</info>  <strong>$callback</strong>  Um <info>callable</info> para executar para cada elemento em cada array.
                            
                            <info>null</info> pode ser passado como um valor para <strong>$callback</strong> para realizar uma
                            operação zip em múltiplos arrays. Se apenas <strong>$array</strong> for fornecido,
                            array_map retornará o array de entrada.
  <info>array</info>          <strong>$array</strong>     Um array para percorrer chamando função <strong>$callback</strong>.
  <info>array</info>          <strong>$arrays</strong>    Lista variável suplementar de argumentos array para passar pela função
                            <strong>$callback</strong>.

<comment>Return:</comment>
  <info>array</info>  Retorna um array contendo os resultados da aplicação da função <strong>$callback</strong> ao valor
         correspondente do <strong>$array</strong> (e <strong>$arrays</strong> se mais arrays forem fornecidos) usados como argumentos
         para o callback.
         
         O array retornado irá preservar as chaves do argumento array se e somente se exatamente um
         array for passado. Se mais de um array for passado, o array retornado terá chaves inteiras
         sequenciais.

<comment>See Also:</comment>
   * <strong>array_filter()</strong>
   * <strong>array_reduce()</strong>
   * <strong>array_walk()</strong>


id: array_merge
type: function
doc:
<comment>Description:</comment>
  Combina um ou mais arrays
  
  Combina os elementos de dois ou mais arrays de forma que os elementos de um são colocados no final
  do array anterior. Retorna o array resultante da fusão.
  
  Se os arrays dados têm as mesmas chaves string, então o último valor para uma chave irá
  sobrescrever o valor anterior. Se, no entanto, os arrays tem as mesmas chaves numéricas, o último
  valor para uma chave não sobrescreverá o valor original, e sim adicionado ao array resultante.
  
  Se apenas um array é dado e o array é indexado numericamente, as chaves são reindexadas de uma
  maneira contínua.

<comment>Param:</comment>
  <info>array</info>  <strong>$arrays</strong>  Uma lista de arrays a combinar.

<comment>Return:</comment>
  <info>array</info>  Retorna o array resultante. Se chamado sem argumentos, retorna um <info>array</info> vazio.

<comment>See Also:</comment>
   * <strong>array_merge_recursive()</strong>
   * <strong>array_replace()</strong>
   * <strong>array_combine()</strong>
   * array operators


id: array_merge_recursive
type: function
doc:
<comment>Description:</comment>
  Mescla um ou mais arrays recursivamente
  
  <strong>array_merge_recursive()</strong> mescla os elementos de um ou mais arrays de forma que os elementos de um
  são colocados no final do array anterior. Retorna o array resultante da fusão.
  
  Se os arrays dados tem as mesmas chaves string, então os valores para uma chave são mesclados em
  um array, e isso é feito recursivamente, sendo que, se um dos valores for um array também, este
  função irá mesclá-lo com os valores correspondentes no array resultante também. Se, no entanto, os
  arrays tem as mesmas chaves numéricas, o último valor para uma chave não sobrescreverá o valor
  original, e sim adicionado ao array resultante.

<comment>Param:</comment>
  <info>array</info>  <strong>$arrays</strong>  Lista variável de arrays para mesclar recursivamente.

<comment>Return:</comment>
  <info>array</info>  Um array de valores resultados da mesclagem dos argumentos. Se chamada sem nenhum
         argumento, retorna um <info>array</info> vazio.

<comment>See Also:</comment>
   * <strong>array_merge()</strong>
   * <strong>array_replace_recursive()</strong>


id: array_multisort
type: function
doc:
<comment>Description:</comment>
  Ordena múltiplos arrays ou arrays multidimensionais
  
  <strong>array_multisort()</strong> pode ser usada para ordenar vários arrays de uma vez, ou um array
  multidimensional por uma ou mais dimensões.
  
  Chaves associativas (<info>string</info>) serão mantidas, mas chaves númericas serão reindexadas.
  
  Se dois elementos são comparados como iguais, eles mantêm sua ordem original. Antes do PHP 8.0.0,
  sua ordem relativa no array ordenado era indefinida.
  
  Redefine o ponteiro interno do array para o primeiro elemento.

<comment>Param:</comment>
  <info>array</info>  <strong>$array1</strong>             Um <info>array</info> a ser ordenado.
  <info>mixed</info>  <strong>$array1_sort_order</strong>  A ordenação para ser utilizada no argumento <info>array</info> anterior. Pode ser
                             <info>SORT_ASC</info> para ordenar na ascendente (crescente) <info>SORT_DESC</info> para ordernar
                             na descendente (decrescente).
                             
                             Este argumento pode ser trocado com <strong>$array1_sort_flags</strong> ou ser omitido
                             completamente, e nesse caso é utilizado <info>SORT_ASC</info>.
  <info>mixed</info>  <strong>$array1_sort_flags</strong>  Opções de ordenamento para o argumento <info>array</info> anterior:
                             
                             Flags: <info>SORT_REGULAR</info> - comparar itens normalmente (não modidifica
                             tipos)<info>SORT_NUMERIC</info> - compare itens numericamente<info>SORT_STRING</info> - compare
                             itens como strings<info>SORT_LOCALE_STRING</info> - compare itens como strings,
                             utilizando o locate atual. Utiliza o locale, que pode ser modificado
                             com <strong>setlocale()</strong> <info>SORT_NATURAL</info> - compare itens como strings utilizando a
                             "ordenação natural" de <strong>natsort()</strong> <info>SORT_FLAG_CASE</info> - pode ser combinado
                             (bitwise OR) com <info>SORT_STRING</info> ou <info>SORT_NATURAL</info> para ordenar as strings
                             sem considerar maiúsculas e minúsculas
                             
                             <info>SORT_REGULAR</info> - comparar itens normalmente (não modidifica tipos)
                             
                             <info>SORT_NUMERIC</info> - compare itens numericamente
                             
                             <info>SORT_STRING</info> - compare itens como strings
                             
                             <info>SORT_LOCALE_STRING</info> - compare itens como strings, utilizando o locate
                             atual. Utiliza o locale, que pode ser modificado com <strong>setlocale()</strong>
                             
                             <info>SORT_NATURAL</info> - compare itens como strings utilizando a "ordenação
                             natural" de <strong>natsort()</strong>
                             
                             <info>SORT_FLAG_CASE</info> - pode ser combinado (bitwise OR) com <info>SORT_STRING</info> ou
                             <info>SORT_NATURAL</info> para ordenar as strings sem considerar maiúsculas e
                             minúsculas
                             
                             Este argumento pode ser trocado com <strong>$array1_sort_order</strong> ou completamente
                             omitido, e nesse caso é utilizado <info>SORT_REGULAR</info>.
  <info>mixed</info>  <strong>$rest</strong>               Outros arrays, podendo informar também ordem e flags de ordenação.
                             Somente elementos correspondentes a elementos equivalentes nos arrays
                             anteriores são comparados. Em outras palavras, a ordem é lexigráfica.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>usort()</strong>
   * Comparação entre as funções de ordenação de array


id: array_pad
type: function
doc:
<comment>Description:</comment>
  Expande um array para um certo comprimento utilizando um determinado valor
  
  <strong>array_pad()</strong> retorna uma cópia de <strong>$array</strong> expandido para o comprimento especificado por <strong>$length</strong> com
  o valor <strong>$value</strong>. Se <strong>$length</strong> for positivo então o array é expandido pela direita, se for negativo,
  pela esquerda. Se o valor absoluto de <strong>$length</strong> for menor ou igual ao comprimento de <strong>$array</strong>, então
  ele permanece inalterado. É possível adicionar até 1048576 elementos de uma vez.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>   Array inicial de valores para ser preenchido.
  <info>int</info>    <strong>$length</strong>  Nova tamanho do array.
  <info>mixed</info>  <strong>$value</strong>   Valor para preencher se <strong>$array</strong> é menor que <strong>$length</strong>.

<comment>Return:</comment>
  <info>array</info>  Retorna uma cópia de <strong>$array</strong> preenchido pela quantidade especificada por <strong>$length</strong> com o valor
         <strong>$value</strong>. Se <strong>$length</strong> é positivo, então o array é preenchido na direita, se ele é negativo,
         então da esquerda. Se o valor absoluto de <strong>$length</strong> é menor que ou igual ao comprimento de
         <strong>$array</strong> então nenhum preenchimento ocorre.

<comment>See Also:</comment>
   * <strong>array_fill()</strong>
   * <strong>range()</strong>


id: array_pop
type: function
doc:
<comment>Description:</comment>
  Extrai um elemento do final do array
  
  <strong>array_pop()</strong> extrai e retorna o valor do último elemento de <strong>$array</strong>, diminuindo o <strong>$array</strong> em um
  elemento.
  
  Após o uso desta função,
  assim como na função <strong>reset()</strong>, o ponteiro interno do <info>array</info> fornecido apontará para o
  primeiro elemento.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array para obter os valores.

<comment>Return:</comment>
  <info>mixed</info>  Retorna o valor do último elemento de <strong>$array</strong>. Se <strong>$array</strong> é vazio, <info>null</info> será retornado.

<comment>See Also:</comment>
   * <strong>array_push()</strong>
   * <strong>array_shift()</strong>
   * <strong>array_unshift()</strong>


id: array_product
type: function
doc:
<comment>Description:</comment>
  Calcula o produto dos valores de um array
  
  <strong>array_product()</strong> retorna o produto dos valores de um array.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array.

<comment>Return:</comment>
  <info>int|float</info>  Retorna o produto com um inteiro ou float.


id: array_push
type: function
doc:
<comment>Description:</comment>
  Adiciona um ou mais elementos no final de um array
  
  <strong>array_push()</strong> trata <strong>$array</strong> como uma pilha, e adiciona as variáveis passadas como argumentos no
  final de <strong>$array</strong>. O tamanho do <strong>$array</strong> aumenta de acordo com o número de variáveis adicionadas. Tem
  o mesmo efeito de:
  ]]> repetido para cada argumento.
  
  Se você usar <strong>array_push()</strong> para adicionar um elemento ao array, é melhor usar <return>$array[] = </return> porque
  deste jeito não há uma chamada a uma função.
  
  <strong>array_push()</strong> irá emitir um aviso se o primeiro argumento não for um array. Isto era diferente do
  funcionamento de <return>$var[]</return> onde um novo array era criado, antes do PHP 7.1.0.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>   O array de entrada.
  <info>mixed</info>  <strong>$values</strong>  Os valores a serem colocados no final do <strong>$array</strong>.

<comment>Return:</comment>
  <info>int</info>  Retorna o novo número de elementos do array.

<comment>See Also:</comment>
   * <strong>array_pop()</strong>
   * <strong>array_shift()</strong>
   * <strong>array_unshift()</strong>


id: array_rand
type: function
doc:
<comment>Description:</comment>
  Escolhe uma ou mais chaves aleatórias de um array
  
  Escolhe aleatóriamente um ou mais itens de um array, e retorna a chave (ou chaves) do itens
  selecionados.
  
  Esta função não gera valores criptograficamente seguros e não deve ser usada para propósitos
  criptográficos ou fins que exijam que os valores retornados sejam impossíveis de adivinhar.
  
  Se aleatoriedade criptograficamente segura for necessária, a classe <class>Random\Randomizer</class> pode ser
  usada com o mecanismo <class>Random\Engine\Secure</class>. Para casos de uso simples, as funções <strong>random_int()</strong> e
  <strong>random_bytes()</strong> fornecem uma API conveniente e segura que é garantida pelo CSPRNG do sistema
  operacional.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array de entrada.
  <info>int</info>    <strong>$num</strong>    Especifica quantos elementos deseja obter.

<comment>Return:</comment>
  <info>int|string|array</info>  Se estiver selecionando apenas um elemento, <strong>array_rand()</strong> retorna a chave para
                    este elemento aleatório. De outra forma, ele retorna um array com as chaves
                    desses elementos selecionados. Assim é possível selecionar os elementos pelas
                    chaves no array assim como valores aleatórios. Se múltiplas chaves forem
                    retornadas, elas serão retornadas na ordem em que estavam presentes no array
                    original. Tentar selecionar mais elementos que a quantidade presente no array
                    resultará em um erro <info>E_WARNING</info>, e NULL será retornado.

<comment>See Also:</comment>
   * <strong>Random\Randomizer::pickArrayKeys()</strong>
   * <strong>Random\Randomizer::shuffleArray()</strong>


id: array_reduce
type: function
doc:
<comment>Description:</comment>
  Reduz um array para um único valor através de um processo iterativo via callback
  
  <strong>array_reduce()</strong> aplica iterativamente a função <strong>$callback</strong> aos elementos de <strong>$array</strong>, de forma a
  reduzir o array a um único valor.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>     O array de entrada.
  <info>callable</info>  <strong>$callback</strong>  Informa o valor da iteração anterior. No caso da primeira iteração ele terá o
                       valor de <strong>$initial</strong>.
                       
                       Mantém o valor da iteração atual.
  <info>mixed</info>     <strong>$carry</strong>     Informa o valor da iteração anterior. No caso da primeira iteração ele terá o
                       valor de <strong>$initial</strong>.
  <info>mixed</info>     <strong>$item</strong>      Mantém o valor da iteração atual.
  <info>mixed</info>     <strong>$initial</strong>   Se o argumento opcional <strong>$initial</strong> for passado, ele será utilizado no início do
                       processo, ou como um resultado final se o array estiver vazio.

<comment>Return:</comment>
  <info>mixed</info>  Retorna o valor resultante.
         
         Se a array estiver vazio e <strong>$initial</strong> não for passado, <strong>array_reduce()</strong> retornará <info>null</info>.

<comment>See Also:</comment>
   * <strong>array_filter()</strong>
   * <strong>array_map()</strong>
   * <strong>array_unique()</strong>
   * <strong>array_count_values()</strong>


id: array_replace
type: function
doc:
<comment>Description:</comment>
  Substitui elementos de arrays passados no primeiro array
  
  <strong>array_replace()</strong> substitui os valores de <strong>$array</strong> por valores com as mesmas keys em cada um dos
  seguintes arrays. Se uma key do primeiro array existir no segundo array, seu valor será
  substituído pelo valor do segundo array. Se a key existir no segundo array, e não no primeiro, ela
  será criada no primeiro array. Se uma key existir apenas na primeira matriz, ela será deixada como
  está. Se vários arrays forem passados para substituição, eles serão processados em ordem, os
  arrays posteriores sobrescrevendo os valores anteriores.
  
  <strong>array_replace()</strong> não é recursivo: substituirá os valores no primeiro array por qualquer tipo que
  esteja no segundo array.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>         O array no qual os elementos são substituídos.
  <info>array</info>  <strong>$replacements</strong>  Arrays dos quais os elementos serão extraídos. Os valores dos arrays
                        posteriores substituem os valores anteriores.

<comment>Return:</comment>
  <info>array</info>  Retorna um <info>array</info>.

<comment>See Also:</comment>
   * <strong>array_replace_recursive()</strong>
   * <strong>array_merge()</strong>


id: array_replace_recursive
type: function
doc:
<comment>Description:</comment>
  Substitui elementos de arrays passado no primeiro array recursivamente
  
  <strong>array_replace_recursive()</strong> substitui os valores de <strong>$array</strong> pelos mesmos valores de todos os arrays
  seguintes. Se uma key do primeiro array existir no segundo array, seu valor será substituído pelo
  valor do segundo array. Se a key existir no segundo array, e não no primeiro, ela será criada no
  primeiro array. Se uma key existir apenas no primeiro array, ela será deixada como está. Se vários
  arrays forem passados para substituição, eles serão processados em ordem, o array posterior
  sobrescrevendo os valores anteriores.
  
  <strong>array_replace_recursive()</strong> é recursivo: ele será recursivo em arrays e aplicará o mesmo processo ao
  valor interno.
  
  Quando o valor do primeiro array for escalar, ele será substituído pelo valor do segundo array,
  seja ele escalar ou array. Quando o valor no primeiro array e no segundo array são ambos arrays,
  <strong>array_replace_recursive()</strong> substituirá seus respectivos valores recursivamente.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>         O array no qual os elementos são substituídos.
  <info>array</info>  <strong>$replacements</strong>  Arrays dos quais os elementos serão extraídos.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info>.

<comment>See Also:</comment>
   * <strong>array_replace()</strong>
   * <strong>array_merge_recursive()</strong>


id: array_reverse
type: function
doc:
<comment>Description:</comment>
  Retorna um array com os elementos na ordem inversa
  
  Recebe como entrada <strong>$array</strong> e retorna um novo array com a ordem dos elementos invertida.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>          O array de entrada.
  <info>bool</info>   <strong>$preserve_keys</strong>  Se definido para <info>true</info> as chaves serão preservadas. Chaves não numéricas não
                         são afetadas por essa opção, e são sempre preservadas.

<comment>Return:</comment>
  <info>array</info>  Retorna o array invertido.

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


id: array_search
type: function
doc:
<comment>Description:</comment>
  Procura por um valor em um array e retorna sua chave correspondente caso seja encontrado
  
  Procura a <strong>$needle</strong> (agulha) em <strong>$haystack</strong> (palheiro).

<comment>Param:</comment>
  <info>mixed</info>  <strong>$needle</strong>    O valor procurado.
                    
                    Se <strong>$needle</strong> for uma string, a comparação é feita de uma maneira que diferencia
                    maiúsculas e minúsculas.
  <info>array</info>  <strong>$haystack</strong>  O array.
  <info>bool</info>   <strong>$strict</strong>    Se o terceiro parâmetro opcional <strong>$strict</strong> for informador como <info>true</info> então
                    <strong>array_search()</strong> fará uma busca por elementos idênticos em <strong>$haystack</strong>. Isto
                    significa que haverá uma checagem adicional de tipos no parâmetro <strong>$needle</strong> ao
                    percorrer <strong>$haystack</strong>, de forma que os objetos sejam a mesma instância.

<comment>Return:</comment>
  <info>int|string|false</info>  Retorna a chave para <strong>$needle</strong> se foi encontrada no array, <info>false</info> caso contrário.
                    
                    Se <strong>$needle</strong> for encontrado em <strong>$haystack</strong> mais de uma vez, a primeira chave
                    encontrada é retornada. Para retornar as chaves de todos os valores que
                    combinantes, utilize a função <strong>array_keys()</strong> com o parâmetro opcional
                    <strong>$search_value</strong>.
                    
                    Esta função pode
                    retornar o valor booleano <info>false</info>, mas também pode retornar um valor não booleano
                    que pode ser
                    avaliado como <info>false</info>. Leia a seção sobre Booleanos para mais
                    informações. Use o operador
                    === para testar o valor retornado por esta
                    função.

<comment>See Also:</comment>
   * <strong>array_keys()</strong>
   * <strong>array_values()</strong>
   * <strong>array_key_exists()</strong>
   * <strong>in_array()</strong>


id: array_shift
type: function
doc:
<comment>Description:</comment>
  Retira o primeiro elemento de um array
  
  <strong>array_shift()</strong> retira o primeiro elemento de <strong>$array</strong> e o retorna, diminuindo <strong>$array</strong> em um elemento e
  movendo todos os outros elementos para trás. Todas as chaves numéricas serão alteradas para
  começar a contar a partir de zero, enquanto chaves literais não serão afetadas.
  
  Após o uso desta função,
  assim como na função <strong>reset()</strong>, o ponteiro interno do <info>array</info> fornecido apontará para o
  primeiro elemento.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array de entrada.

<comment>Return:</comment>
  <info>mixed</info>  Retorna o valor removido, ou <info>null</info> se <strong>$array</strong> for vazio ou não é um array.

<comment>See Also:</comment>
   * <strong>array_unshift()</strong>
   * <strong>array_push()</strong>
   * <strong>array_pop()</strong>


id: array_slice
type: function
doc:
<comment>Description:</comment>
  Extrai uma parcela de um array
  
  <strong>array_slice()</strong> retorna a sequência de elementos de um <strong>$array</strong> delimitado pelos parâmetros <strong>$offset</strong> e
  <strong>$length</strong>.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>          O array de entrada.
  <info>int</info>       <strong>$offset</strong>         Se <strong>$offset</strong> for não negativo, a sequência iniciará no início do <strong>$array</strong>.
                            
                            Se <strong>$offset</strong> for negativo, a sequência iniciará a partir do fim do <strong>$array</strong>.
                            
                            O parâmetro <strong>$offset</strong> denota uma posição dentro do array, não das chaves.
  <info>int|null</info>  <strong>$length</strong>         Se <strong>$length</strong> for positivo, então a sequência terá até essa quantidade de
                            elementos.
                            
                            Se o array for mais curto que <strong>$length</strong>, então somente os elementos
                            presentes serão retornados.
                            
                            Se <strong>$length</strong> for negativo então a sequência conterá até essa quantidade de
                            elementos do final do array.
                            
                            Se esse parâmetro for omitido, a sequência conterá todos os elementos a
                            partir de <strong>$offset</strong> até o final do <strong>$array</strong>.
  <info>bool</info>      <strong>$preserve_keys</strong>  <strong>array_slice()</strong> não irá reordenar ou resetar os índices inteiros do array
                            por padrão. Este comportamento pode ser alterado ao informar
                            <strong>$preserve_keys</strong> para <info>true</info>. Chaves string são sempre preservados,
                            independente do parâmetro.

<comment>Return:</comment>
  <info>array</info>  Retorna a parcela. Se o offset for maior que o tamanho do array, um array vazio é
         retornado.

<comment>See Also:</comment>
   * <strong>array_chunk()</strong>
   * <strong>array_splice()</strong>
   * <strong>unset()</strong>


id: array_splice
type: function
doc:
<comment>Description:</comment>
  Remove uma parte array e a substitui por outra coisa
  
  Remove os elementos especificados por <strong>$offset</strong> e <strong>$length</strong> do array <strong>$array</strong>, e os substitui com os
  elementos do array <strong>$replacement</strong>, se for especificado.
  
  Chaves numéricas em <strong>$array</strong> não são preservadas.
  
  Se <strong>$replacement</strong> não for um array, ele será convertido para um array (i.e. (array) $replacement).
  Isso pode resultar em um comportamento inesperado ao usar um objeto ou <strong>$replacement</strong> <info>null</info>.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>        O array de entrada.
  <info>int</info>       <strong>$offset</strong>       Se <strong>$offset</strong> for positivo então o começo da região removida será nesse
                          deslocamento a partir do início do array <strong>$array</strong>.
                          
                          Se <strong>$offset</strong> for negativo então o começo da região removida será nesse
                          deslocamento a partir do final do array <strong>$array</strong>.
  <info>int|null</info>  <strong>$length</strong>       Se <strong>$length</strong> for omitido, remove tudo a partir de <strong>$offset</strong> até o final do
                          array.
                          
                          Se <strong>$length</strong> for especificado e for positivo, então essa quantidade de
                          elementos será removida.
                          
                          Se <strong>$length</strong> for especificado e for negativo, então o final da região
                          removida será essa quantidade de elementos a partir do final do array.
                          
                          Se <strong>$length</strong> for especificado e for zero, nenhum elemento será removido.
                          
                          Para remover tudo a partir de <strong>$offset</strong> até o final do array quando
                          <strong>$replacement</strong> também é especificado, use count($input) para <strong>$length</strong>.
  <info>mixed</info>     <strong>$replacement</strong>  Se o array <strong>$replacement</strong> for especificado, então os elementos removidos
                          serão substituidos pelo elementos desse array.
                          
                          Se <strong>$offset</strong> e <strong>$length</strong> são tais que nada é removido, então os elementos do
                          array <strong>$replacement</strong> serão inseridos no lugar especificado pelo <strong>$offset</strong>.
                          
                          Chaves em <strong>$replacement</strong> não são preservadas.
                          
                          Se <strong>$replacement</strong> for de apenas um elemento então não é necessário colocar
                          <return>array()</return> ou colchetes ao redor dele, a não ser que elementos seja um array
                          em si, um objeto ou <info>null</info>.

<comment>Return:</comment>
  <info>array</info>  Retorna um array que consiste nos elementos extraídos.

<comment>See Also:</comment>
   * <strong>array_merge()</strong>
   * <strong>array_slice()</strong>
   * <strong>unset()</strong>


id: array_sum
type: function
doc:
<comment>Description:</comment>
  Calcula a soma dos elementos de um array
  
  <strong>array_sum()</strong> retorna a soma dos valores de um array.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array de entrada.

<comment>Return:</comment>
  <info>int|float</info>  Retorna a soma de valores como um inteiro ou float; <return>0</return> se o <strong>$array</strong> estiver vazio.


id: array_udiff
type: function
doc:
<comment>Description:</comment>
  Computa a diferença de arrays usando uma função de callback para comparação dos dados
  
  Computa a diferença de arrays usando uma função de callback para comparação dos dados. Esta é
  contrária a <strong>array_diff()</strong> que usa uma função interna para comparar os dados.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>               O primeiro array.
  <info>array</info>     <strong>$arrays</strong>              Arrays para comparar.
  <info>callable</info>  <strong>$value_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                                 maior que zero se o primeiro argumento for considerado
                                 respectivamente menor que, igual ou maior que o segundo.
                                 
                                 Retornar valores não inteiros da função de comparação, como <info>float</info>,
                                 resultará em uma conversão interna do valor retornado da função
                                 callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                                 convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                                 como iguais.

<comment>Return:</comment>
  <info>array</info>  Retorna um array contendo todos os valores de <strong>$array</strong> que não estão presentes em qualquer
         dos outros argumentos.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_udiff_assoc
type: function
doc:
<comment>Description:</comment>
  Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de
  callback
  
  Computa a diferença entre arrays com checagem adicional de índice, compara dados por uma função de
  callback.
  
  Por favor, note que esta função somente verifica uma dimensão de um array n-dimensional.
  Obviamente você pode checar dimensões mais profundas usando, por exemplo,
  <return>array_udiff_assoc($array1[0], $array2[0], "some_comparison_func");</return>.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>               O primeiro array.
  <info>array</info>     <strong>$arrays</strong>              Arrays para comparar.
  <info>callable</info>  <strong>$value_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                                 maior que zero se o primeiro argumento for considerado
                                 respectivamente menor que, igual ou maior que o segundo.
                                 
                                 Retornar valores não inteiros da função de comparação, como <info>float</info>,
                                 resultará em uma conversão interna do valor retornado da função
                                 callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                                 convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                                 como iguais.

<comment>Return:</comment>
  <info>array</info>  <strong>array_udiff_assoc()</strong> retorna um <info>array</info> contendo todos os valores de <strong>$array</strong> que não estão
         presentes em qualquer dos outros argumentos. Note que as chaves são usadas na comparação,
         ao contrário de <strong>array_diff()</strong> e <strong>array_udiff()</strong>. A comparação dos dados dos arrays é executada
         usando uma função de callback fornecida pelo usuário. Neste aspecto o comportamente é
         oposto ao de <strong>array_diff_assoc()</strong> que usa função interna para comparação.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_diff_uassoc()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_udiff_uassoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_udiff_uassoc
type: function
doc:
<comment>Description:</comment>
  Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma
  função de callback
  
  Computa a diferença entre arrays com checagem adicional de índice, compara dados e índices por uma
  função de callback.
  
  Note que as chaves são usadas na comparação, ao contrário de <strong>array_diff()</strong> e <strong>array_udiff()</strong>.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>               O primeiro array.
  <info>array</info>     <strong>$arrays</strong>              Arrays para comparar.
  <info>callable</info>  <strong>$value_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                                 maior que zero se o primeiro argumento for considerado
                                 respectivamente menor que, igual ou maior que o segundo.
                                 
                                 Retornar valores não inteiros da função de comparação, como <info>float</info>,
                                 resultará em uma conversão interna do valor retornado da função
                                 callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                                 convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                                 como iguais.
  <info>callable</info>  <strong>$key_compare_func</strong>    A comparação das chaves (índices) é feita também por função de
                                 callback: <strong>$key_compare_func</strong>. Este comportamento é contrário ao que
                                 <strong>array_udiff_assoc()</strong> faz, já que esta compara os índices usando uma
                                 função interna.

<comment>Return:</comment>
  <info>array</info>  Retorna um <info>array</info> contendo todos os valores de <strong>$array</strong> que não estão presentes em qualquer
         dos outros argumentos.

<comment>See Also:</comment>
   * <strong>array_diff()</strong>
   * <strong>array_diff_assoc()</strong>
   * <strong>array_udiff()</strong>
   * <strong>array_udiff_assoc()</strong>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_uintersect
type: function
doc:
<comment>Description:</comment>
  Computa a interseção de array, comparando dados com uma função callback
  
  Computa a interseção de arrays, compara as informações usando uma função callback.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>               O primeiro array.
  <info>array</info>     <strong>$arrays</strong>              Arrays para comparar.
  <info>callable</info>  <strong>$value_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                                 maior que zero se o primeiro argumento for considerado
                                 respectivamente menor que, igual ou maior que o segundo.
                                 
                                 Retornar valores não inteiros da função de comparação, como <info>float</info>,
                                 resultará em uma conversão interna do valor retornado da função
                                 callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                                 convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                                 como iguais.

<comment>Return:</comment>
  <info>array</info>  Retorna um array contendo todos os valores de <strong>$array</strong> que estão presentes em todos os
         argumentos.

<comment>See Also:</comment>
   * <strong>array_intersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_uintersect_assoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_uintersect_assoc
type: function
doc:
<comment>Description:</comment>
  Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma
  função de callback
  
  Computa a interseção de arrays com checagem adicional de índice, compara os dados utilizando uma
  função de callback.
  
  Note que as chaves são utilizadas na comparação, diferente de <strong>array_uintersect()</strong>. Os dados são
  comparados utilizando funções de callback.

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>               Primeiro array.
  <info>array</info>     <strong>$arrays</strong>              Arrays para comparar.
  <info>callable</info>  <strong>$value_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                                 maior que zero se o primeiro argumento for considerado
                                 respectivamente menor que, igual ou maior que o segundo.
                                 
                                 Retornar valores não inteiros da função de comparação, como <info>float</info>,
                                 resultará em uma conversão interna do valor retornado da função
                                 callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                                 convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                                 como iguais.

<comment>Return:</comment>
  <info>array</info>  Retorna um array contendo todos os valores de <strong>$array</strong> que estão presentes em todos os
         argumentos.

<comment>See Also:</comment>
   * <strong>array_uintersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_uintersect_uassoc()</strong>


id: array_uintersect_uassoc
type: function
doc:
<comment>Description:</comment>
  Computa a interseção de arrays com checagem adicional de índice, compara os dados e os índices
  utilizando funções de callback separadas
  
  Computa a interseção de arrays com checagem adicional de índice, compara dados e índices
  utilizando funções de callback separadas.

<comment>Param:</comment>
  <info>array</info>     <strong>$array1</strong>              Primeiro array.
  <info>array</info>     <strong>$arrays</strong>              Outros arrays.
  <info>callable</info>  <strong>$value_compare_func</strong>  A função de comparação deve retornar um inteiro menor que, igual ou
                                 maior que zero se o primeiro argumento for considerado
                                 respectivamente menor que, igual ou maior que o segundo.
                                 
                                 Retornar valores não inteiros da função de comparação, como <info>float</info>,
                                 resultará em uma conversão interna do valor retornado da função
                                 callback para <info>int</info>. Portanto, valores como <return>0.99</return> e <return>0.1</return> serão
                                 convertidos para o valor inteiro <return>0</return>, o que comparará esses valores
                                 como iguais.
  <info>callable</info>  <strong>$key_compare_func</strong>    Função para comparação das chaves (índices).

<comment>Return:</comment>
  <info>array</info>  Retorna um array contendo todos os valores de <strong>$array1</strong> que estão presentes em todos os
         argumentos.

<comment>See Also:</comment>
   * <strong>array_uintersect()</strong>
   * <strong>array_intersect_assoc()</strong>
   * <strong>array_intersect_uassoc()</strong>
   * <strong>array_uintersect_assoc()</strong>


id: array_unique
type: function
doc:
<comment>Description:</comment>
  Remove os valores duplicados de um array
  
  Recebe uma entrada <strong>$array</strong> e retorna um novo array sem valores duplicados.
  
  Note que as chaves são preservadas. Se vários elementos forem iguais sob as <strong>$flags</strong> fornecidas,
  então a chave e o valor do primeiro elemento igual serão retidos.
  
  Dois elementos são considerados iguais se, e somente se, <return>(string) $elem1 === (string) $elem2</return>. Em
  palavras: quando a represetação em string é a mesma, o primeiro elemento será usado.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array de entrada.
  <info>int</info>    <strong>$flags</strong>  O segundo parâmetro opcional <strong>$flags</strong> pode ser utilizado para modificar o
                 comportamento de comparação usando estes valores:
                 
                 Flags de tipo de comparação: <info>SORT_REGULAR</info> - compara os itens normalmente (não
                 altera tipos)<info>SORT_NUMERIC</info> - compara itens numericamente<info>SORT_STRING</info> - compara itens
                 como strings<info>SORT_LOCALE_STRING</info> - compara itens como strings baseado na localidade
                 atual.
                 
                 <info>SORT_REGULAR</info> - compara os itens normalmente (não altera tipos)
                 
                 <info>SORT_NUMERIC</info> - compara itens numericamente
                 
                 <info>SORT_STRING</info> - compara itens como strings
                 
                 <info>SORT_LOCALE_STRING</info> - compara itens como strings baseado na localidade atual.

<comment>Return:</comment>
  <info>array</info>  Retorna o array filtrado.

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


id: array_unshift
type: function
doc:
<comment>Description:</comment>
  Adiciona um ou mais elementos no início de um array
  
  <strong>array_unshift()</strong> adiciona os elementos passados como argumentos no início de <strong>$array</strong>. Note que a
  lista de elementos é adicionada como um todo, de forma que eles ficam na mesma ordem. Todas as
  chaves numéricas serão modificadas para começar a contar de zero enquanto chaves literais
  permanecerão inalteradas.
  
  Redefine o ponteiro interno do array para o primeiro elemento.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>   O array de entrada.
  <info>mixed</info>  <strong>$values</strong>  Os valores a serem adicionados.

<comment>Return:</comment>
  <info>int</info>  Retorna o novo número de elementos em <strong>$array</strong>.

<comment>See Also:</comment>
   * <strong>array_merge()</strong>
   * <strong>array_shift()</strong>
   * <strong>array_push()</strong>
   * <strong>array_pop()</strong>


id: array_values
type: function
doc:
<comment>Description:</comment>
  Retorna todos os valores de um array
  
  <strong>array_values()</strong> retorna todos os valores do array <strong>$array</strong> num array indexado numericamente.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array.

<comment>Return:</comment>
  <info>array</info>  Retorna um array indexado de valores.

<comment>See Also:</comment>
   * <strong>array_keys()</strong>
   * <strong>array_combine()</strong>


id: array_walk
type: function
doc:
<comment>Description:</comment>
  Aplica uma determinada função em cada elemento de um array
  
  Aplica uma função definida pelo usuário passada pelo argumento <strong>$callback</strong> em cada elemento de
  <strong>$array</strong>.
  
  <strong>array_walk()</strong> não é afetado pelo ponteiro interno de <strong>$array</strong>.  <strong>array_walk()</strong> percorrerá por todo
  array desconsiderando a posição do ponteiro.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$array</strong>     O array de entrada.
  <info>callable</info>      <strong>$callback</strong>  Normalmente, o <strong>$callback</strong> recebe dois parâmetros. O valor do parâmetro
                           <strong>$array</strong> sendo o primeiro, e a chave/índice o segundo.
                           
                           Se <strong>$callback</strong> precisar alterar realmente os valores do array, especifique
                           que o primeiro parâmetro de <strong>$callback</strong> deve ser passado por referência.
                           Então qualquer mudança feita nesses elementos serão feitas no próprio
                           array também.
                           
                           Muitas funções internas (por exemplo <strong>strtolower()</strong>) lançarão um alerta se
                           forem passados mais argumentos que o esperado e não forem utilizados
                           diretamente no <strong>$callback</strong>.
                           
                           Apenas os valores de um <strong>$array</strong> podem potencialmente ser alterados; sua
                           estrutura não pode ser alterada, por exemplo, o programador não pode
                           adicionar, remover ou reordenar elementos. Se o callback não respeitar
                           esta regra, o comportamento desta função é indefinido e imprevisível.
  <info>mixed</info>         <strong>$arg</strong>       Se o parâmetro opcional <strong>$arg</strong> é fornecido, será passado como o terceiro
                           parâmetro para o callback <strong>$callback</strong>.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info>.

<comment>See Also:</comment>
   * <strong>array_walk_recursive()</strong>
   * <strong>iterator_apply()</strong>
   * <strong>list()</strong>
   * <strong>each()</strong>
   * <strong>call_user_func_array()</strong>
   * <strong>array_map()</strong>
   * foreach


id: array_walk_recursive
type: function
doc:
<comment>Description:</comment>
  Aplica um função do usuário recursivamente para cada membro de um array
  
  Aplica a função <strong>$callback</strong> definida pelo usuário para cada elemento do array <strong>$array</strong>. Esta função
  irá recursar em arrays mais profundos.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$array</strong>     O array de entrada.
  <info>callable</info>      <strong>$callback</strong>  Tipicamente, <strong>$callback</strong> usa dois parâmetros. O valor do parâmetro <strong>$array</strong>
                           sendo o primeiro, e a chave/índice o segundo.
                           
                           Se <strong>$callback</strong> precisa trabalhar com atuais valores da array, especifique o
                           primeiro parâmetro da <strong>$callback</strong> com uma referência. Então, as
                           modificações feitas para estes elementos serão feitas no próprio array
                           original.
  <info>mixed</info>         <strong>$arg</strong>       Se o parâmetro opcional <strong>$arg</strong> for fornecido, ele será passado como o
                           terceiro parâmetro para o <strong>$callback</strong>.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: arsort
type: function
doc:
<comment>Description:</comment>
  Ordena um array em ordem descrescente e mantém a associação de índices
  
  Ordena o <strong>$array</strong> em ordem decrescente, de forma que suas chaves mantenham suas correlações com os
  valores aos quais estão associadas.
  
  É usada principalmente para ordenar arrays associativos onde a ordem dos elementos é um fator
  significativo.
  
  Se dois elementos são comparados como iguais, eles mantêm sua ordem original. Antes do PHP 8.0.0,
  sua ordem relativa no array ordenado era indefinida.
  
  Redefine o ponteiro interno do array para o primeiro elemento.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array de entrada.
  <info>int</info>    <strong>$flags</strong>  O segundo parâmetro opcional <strong>$flags</strong> pode ser usado para modificar o comportamento
                 da ordenação usando estes valores:
                 
                 Flags dos tipos de ordenação: <info>SORT_REGULAR</info> - compara os elementos normalmente; os
                 detalhes são descritos na seção operadores de comparação<info>SORT_NUMERIC</info> - compara os
                 elementos numericamente<info>SORT_STRING</info> - compara os elementos como
                 strings<info>SORT_LOCALE_STRING</info> - compara os elementos como strings, com base na
                 localidade atual. A localidade pode ser alterada usando <strong>setlocale()</strong> <info>SORT_NATURAL</info> -
                 compara os elementos como strings usando "ordenação natural" como <strong>natsort()</strong>
                 <info>SORT_FLAG_CASE</info> - pode ser combinada (usando o operador bit a bit OR) com
                 <info>SORT_STRING</info> ou <info>SORT_NATURAL</info> para ordenar strings sem fazer distinção entre
                 maiúsculas e minúsculas
                 
                 <info>SORT_REGULAR</info> - compara os elementos normalmente; os detalhes são descritos na seção
                 operadores de comparação
                 
                 <info>SORT_NUMERIC</info> - compara os elementos numericamente
                 
                 <info>SORT_STRING</info> - compara os elementos como strings
                 
                 <info>SORT_LOCALE_STRING</info> - compara os elementos como strings, com base na localidade
                 atual. A localidade pode ser alterada usando <strong>setlocale()</strong>
                 
                 <info>SORT_NATURAL</info> - compara os elementos como strings usando "ordenação natural" como
                 <strong>natsort()</strong>
                 
                 <info>SORT_FLAG_CASE</info> - pode ser combinada (usando o operador bit a bit OR) com
                 <info>SORT_STRING</info> ou <info>SORT_NATURAL</info> para ordenar strings sem fazer distinção entre
                 maiúsculas e minúsculas

<comment>Return:</comment>
  <info>true</info>  Sempre retorna <info>true</info>.

<comment>See Also:</comment>
   * <strong>sort()</strong>
   * <strong>asort()</strong>
   * Comparação entre as funções de ordenação de array


id: asin
type: function
doc:
<comment>Description:</comment>
  Arco seno
  
  Retorna o arco seno de <strong>$num</strong> em radianos. <strong>asin()</strong> é a função inversa da função <strong>sin()</strong>, o que
  significa que $num == sin(asin($num)) para qualquer valor de <strong>$num</strong> que esteja no domínio da função
  <strong>asin()</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  O argumento a processar

<comment>Return:</comment>
  <info>float</info>  O arco seno de <strong>$num</strong> em radianos

<comment>See Also:</comment>
   * <strong>sin()</strong>
   * <strong>asinh()</strong>
   * <strong>acos()</strong>
   * <strong>atan()</strong>


id: asinh
type: function
doc:
<comment>Description:</comment>
  Arco seno hiperbólico
  
  Retorna o arco seno hiperbólico de <strong>$num</strong>, isto é, o valor cujo seno hiperbólico é <strong>$num</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  O argumento a processar

<comment>Return:</comment>
  <info>float</info>  O arco seno hiperbólico de <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>sinh()</strong>
   * <strong>asin()</strong>
   * <strong>acosh()</strong>
   * <strong>atanh()</strong>


id: asort
type: function
doc:
<comment>Description:</comment>
  Ordena um array em ordem crescente e mantém a associação de índices
  
  Ordena um <strong>$array</strong> em ordem crescente, se forma que suas chaves mantenham suas correlações com os
  valores aos quais estão associadas.
  
  Isto é usado principalmente ao ordenar arrays associativos onde a ordem real dos elementos é
  significativa.
  
  Se dois elementos são comparados como iguais, eles mantêm sua ordem original. Antes do PHP 8.0.0,
  sua ordem relativa no array ordenado era indefinida.
  
  Redefine o ponteiro interno do array para o primeiro elemento.

<comment>Param:</comment>
  <info>array</info>  <strong>$array</strong>  O array de entrada.
  <info>int</info>    <strong>$flags</strong>  O segundo parâmetro opcional <strong>$flags</strong> pode ser usado para modificar o comportamento
                 da ordenação usando estes valores:
                 
                 Flags dos tipos de ordenação: <info>SORT_REGULAR</info> - compara os elementos normalmente; os
                 detalhes são descritos na seção operadores de comparação<info>SORT_NUMERIC</info> - compara os
                 elementos numericamente<info>SORT_STRING</info> - compara os elementos como
                 strings<info>SORT_LOCALE_STRING</info> - compara os elementos como strings, com base na
                 localidade atual. A localidade pode ser alterada usando <strong>setlocale()</strong> <info>SORT_NATURAL</info> -
                 compara os elementos como strings usando "ordenação natural" como <strong>natsort()</strong>
                 <info>SORT_FLAG_CASE</info> - pode ser combinada (usando o operador bit a bit OR) com
                 <info>SORT_STRING</info> ou <info>SORT_NATURAL</info> para ordenar strings sem fazer distinção entre
                 maiúsculas e minúsculas
                 
                 <info>SORT_REGULAR</info> - compara os elementos normalmente; os detalhes são descritos na seção
                 operadores de comparação
                 
                 <info>SORT_NUMERIC</info> - compara os elementos numericamente
                 
                 <info>SORT_STRING</info> - compara os elementos como strings
                 
                 <info>SORT_LOCALE_STRING</info> - compara os elementos como strings, com base na localidade
                 atual. A localidade pode ser alterada usando <strong>setlocale()</strong>
                 
                 <info>SORT_NATURAL</info> - compara os elementos como strings usando "ordenação natural" como
                 <strong>natsort()</strong>
                 
                 <info>SORT_FLAG_CASE</info> - pode ser combinada (usando o operador bit a bit OR) com
                 <info>SORT_STRING</info> ou <info>SORT_NATURAL</info> para ordenar strings sem fazer distinção entre
                 maiúsculas e minúsculas

<comment>Return:</comment>
  <info>true</info>  Sempre retorna <info>true</info>.

<comment>See Also:</comment>
   * <strong>sort()</strong>
   * <strong>arsort()</strong>
   * Comparação entre as funções de ordenação de array


id: assert
type: function
doc:
<comment>Description:</comment>
  Executa um assert
  
  <strong>assert()</strong> permite a definição de expectativas: asserções são verificadas em ambientes de
  desenvolvimento ou testes, mas que são removidas por otimização a custo zero em produção.
  
  Asserções devem ser utilizadas como uma ferramenta apenas de debug. Um dos usos é para funcionar
  como validações graves, para precondições que precisam ser <info>true</info> e caso isso não ocorra, isto
  indica algum erro de programação. Outro uso é garantir a presença de certos recursos, como por
  exemplo funções de extensões ou certos recursos ou limites de sistema.
  
  As asserções podem ser configurados para serem eliminados, e elas não não devem ser utilizados em
  operações comuns como por exemplo a validação de parâmetros. Como regra geral, o código deve se
  comportar igual mesmo no caso das asserções estarem desativadas.
  
  <strong>assert()</strong> verificará se a expectativa informada no parâmetro <strong>$assertion</strong> é válida. Se não, o
  resultado avaliado é <info>false</info>, ocorrerá a ação apropriada, dependendo em como <strong>assert()</strong> está
  configurado.
  
  O comportamento de <strong>assert()</strong> é ditado pelas seguintes configurações INI: Assert Opções de
  ConfiguraçãoNomePadrãoDescriçãoChangelogzend.assertions<return>1</return><return>1</return>: gera e executa o código (modo de
  desenvolvimento) <return>0</return>: gera o código mas ignora durante a execução <return>-1</return>: não gera o código (modo de
  produção) assert.active<info>true</info> Se <info>false</info>, <strong>assert()</strong> não verifica a expectativa e retorna <info>true</info>
  imediatamente.  Desencorajado desde o PHP 8.3.0. assert.callback<info>null</info> Uma função definida pelo
  usuário a ser chamada quando a asserção falha. A assinatura deve ser:
  <info>void</info>assert_callback<info>string</info><strong>$file</strong><info>int</info><strong>$line</strong><info>null</info><strong>$assertion</strong><info>string</info><strong>$description</strong>  Anteriormente ao PHP
  8.0.0, a assinatura deveria ser:
  <info>void</info>assert_callback<info>string</info><strong>$file</strong><info>int</info><strong>$line</strong><info>string</info><strong>$assertion</strong><info>string</info><strong>$description</strong> Desencorajado desde o PHP
  8.3.0. assert.exception<info>true</info> Se <info>true</info> irá lançar um <class>AssertionError</class> no caso da expectativa não ser
  válida.  Desencorajado desde o PHP 8.3.0. assert.bail<info>false</info> Se <info>true</info> então a execução do script PHP
  será abortada caso a expectativa não seja válida.  Desencorajado desde o PHP 8.3.0.
  assert.warning<info>true</info> Se <info>true</info>, será emitido um <info>E_WARNING</info> no caso da expectativa não seja válida. Essa
  configuração INI é inefetiva caso assert.exception esteja ativo.  Desencorajado desde o PHP 8.3.0.

<comment>Param:</comment>
  <info>mixed</info>                  <strong>$assertion</strong>    Pode ser qualquer expressão que retorna um valor, qual será
                                       executado e o resultado é utilizado para indicar se a
                                       asserção deve passar ou falhar.
                                       
                                       Anteriormente ao PHP 8.0.0, se <strong>$assertion</strong> era uma <info>string</info> ela
                                       era interpretada como código PHP e executada via <strong>eval()</strong>. A
                                       string era passada para o argumento do callback no terceiro
                                       argumento. Este comportamento está OBSOLETO desde o PHP
                                       7.2.0, e foi REMOVIDO no PHP 8.0.0.
  <info>Throwable|string|null</info>  <strong>$description</strong>  Se <strong>$description</strong> é uma instância de <class>Throwable</class>, ela será
                                       lançada somente se <strong>$assertion</strong> for executada e falhar.  A
                                       partir do 8.0.0, isto ocorria antes de chamar a função de
                                       callback potencialmente definida.   A partir do PHP 8.0.0, o
                                       <info>object</info> será lançado independente da configuração de
                                       assert.exception.   A partird do PHP 8.0.0, a configuração
                                       assert.bail não terá efeito nesse caso.
                                       
                                       A partir do 8.0.0, isto ocorria antes de chamar a função de
                                       callback potencialmente definida.
                                       
                                       A partir do PHP 8.0.0, o <info>object</info> será lançado independente da
                                       configuração de assert.exception.
                                       
                                       A partird do PHP 8.0.0, a configuração assert.bail não terá
                                       efeito nesse caso.
                                       
                                       Se <strong>$description</strong> é uma <info>string</info> esta mensagem será utilizada em
                                       uma exceção ou em um aviso. Uma descrição opcional que será
                                       incluída na mensagem de falha no caso da <strong>$assertion</strong> falhar.
                                       
                                       Se <strong>$description</strong> é omitido.  Uma descrição padrão, igual ao
                                       código fonte na invocação de <strong>assert()</strong> é criada em tempo de
                                       compilação.

<comment>Return:</comment>
  <info>bool</info>  <strong>assert()</strong> sempre retorna <info>true</info> se ao menos uma das seguintes condições forem verdadeiras:
        
        Se nenhuma das condições forem verdadeiras <strong>assert()</strong> ainda pode retornar <info>true</info> se <strong>$assertion</strong>
        possa ser convertido em um valor verdadeiro, ou <info>false</info> nos demais casos.

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


id: assert_options
type: function
doc:
<comment>Description:</comment>
  Set/get the various assert flags
  
  Set the various <strong>assert()</strong> control options or just query their current settings.
  
  The use of <strong>assert_options()</strong> is discouraged in favor of setting and getting the php.ini directives
  zend.assertions and assert.exception with <strong>ini_set()</strong> and <strong>ini_get()</strong>, respectively.

<comment>Param:</comment>
  <info>int</info>          <strong>$option</strong>       Assert OptionsOptionINI SettingDefault
                             valueDescriptionASSERT_ACTIVEassert.active1enable <strong>assert()</strong>
                             evaluationASSERT_EXCEPTIONassert.exception1throws an <class>AssertionError</class> for
                             each failed assertionsASSERT_WARNINGassert.warning1issue a PHP warning
                             for each failed assertionASSERT_BAILassert.bail0terminate execution on
                             failed assertionsASSERT_QUIET_EVALassert.quiet_eval0 disable
                             error_reporting during assertion expression evaluation. Removed as of
                             PHP 8.0.0. ASSERT_CALLBACKassert.callback(<info>null</info>)Callback to call on
                             failed assertions
  <info>mixed</info>        <strong>$value</strong>        An optional new value for the option.
                             
                             The callback function set via <info>ASSERT_CALLBACK</info> or assert.callback should
                             have the following signature:
                             <info>void</info>assert_callback<info>string</info><strong>$file</strong><info>int</info><strong>$line</strong><info>string</info><info>null</info></info><strong>$assertion</strong><info>string</info><strong>$description</strong>
                             <strong>$file</strong> The file where <strong>assert()</strong> has been called. <strong>$line</strong> The line where
                             <strong>assert()</strong> has been called. <strong>$assertion</strong> Prior to PHP 8.0.0, the assertion
                             which has been passed to <strong>assert()</strong>, but only when the assertion is given
                             as a string. (If the assertion is a boolean condition, this parameter
                             will be an empty string.) As of PHP 8.0.0, this parameter is always
                             <info>null</info>. <strong>$description</strong> The description that has been passed to <strong>assert()</strong>.
                             
                             The file where <strong>assert()</strong> has been called.
                             
                             The line where <strong>assert()</strong> has been called.
                             
                             Prior to PHP 8.0.0, the assertion which has been passed to <strong>assert()</strong>,
                             but only when the assertion is given as a string. (If the assertion is
                             a boolean condition, this parameter will be an empty string.) As of PHP
                             8.0.0, this parameter is always <info>null</info>.
                             
                             The description that has been passed to <strong>assert()</strong>.
  <info>string</info>       <strong>$file</strong>         The file where <strong>assert()</strong> has been called.
  <info>int</info>          <strong>$line</strong>         The line where <strong>assert()</strong> has been called.
  <info>string|null</info>  <strong>$assertion</strong>    Prior to PHP 8.0.0, the assertion which has been passed to <strong>assert()</strong>,
                             but only when the assertion is given as a string. (If the assertion is
                             a boolean condition, this parameter will be an empty string.) As of PHP
                             8.0.0, this parameter is always <info>null</info>.
  <info>string</info>       <strong>$description</strong>  The description that has been passed to <strong>assert()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  Returns the original setting of any option.

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


id: atan
type: function
doc:
<comment>Description:</comment>
  Arco tangente
  
  Retorna o arco tangente de <strong>$num</strong> em radianos. <strong>atan()</strong> é a função inversa da função <strong>tan()</strong>, o que
  significa que $num == tan(atan($num)) para qualquer valor de <strong>$num</strong> que esteja no domínio de <strong>atan()</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  O argumento a processar

<comment>Return:</comment>
  <info>float</info>  O arco tangente de <strong>$num</strong> em radianos.

<comment>See Also:</comment>
   * <strong>tan()</strong>
   * <strong>atanh()</strong>
   * <strong>asin()</strong>
   * <strong>acos()</strong>


id: atan2
type: function
doc:
<comment>Description:</comment>
  Arco tangente de duas variáveis
  
  Esta função calcula o arco tangente das duas variaveis <strong>$x</strong> e <strong>$y</strong>. É similar a calcular o arco
  tangente de <strong>$y</strong> / <strong>$x</strong>, exceto que os sinais de ambos os argumentos são usados para determinar o
  quadrante do resultado.
  
  Esta função retorna o resultado em radianos entre -PI e PI (inclusive).

<comment>Param:</comment>
  <info>float</info>  <strong>$y</strong>  Dividendo
  <info>float</info>  <strong>$x</strong>  Divisor

<comment>Return:</comment>
  <info>float</info>  O arco tangente de <strong>$y</strong>/<strong>$x</strong> em radianos.

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


id: atanh
type: function
doc:
<comment>Description:</comment>
  Arco tangente hiperbólico
  
  Retorna o arco tangente hiperbólico de <strong>$num</strong>, isto é, o valor cuja tangente hiperbólica é <strong>$num</strong>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  O argumento a processar

<comment>Return:</comment>
  <info>float</info>  O arco tangente hiperbólico de <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>tanh()</strong>
   * <strong>atan()</strong>
   * <strong>asinh()</strong>
   * <strong>acosh()</strong>


id: base64_decode
type: function
doc:
<comment>Description:</comment>
  Decodifica dados no formato MIME base64
  
  Decodifica uma <strong>$string</strong> codificada em base64.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Os dados codificados.
  <info>bool</info>    <strong>$strict</strong>  Se o parâmetro <strong>$strict</strong> for definido como <info>true</info>, então a função <strong>base64_decode()</strong>
                   retornará <info>false</info> se a entrada contiver caracteres fora do alfabeto base64. Caso
                   contrário, os caracteres inválidos serão descartados silenciosamente.

<comment>Return:</comment>
  <info>string|false</info>  Retorna os dados decodificados ou <info>false</info> em caso de falha. Os dados retornados podem
                ser binários.

<comment>See Also:</comment>
   * <strong>base64_encode()</strong>
   * Seção 6.8 do RFC 2045


id: base64_encode
type: function
doc:
<comment>Description:</comment>
  Codifica dados com MIME base64
  
  Codifica a dada <strong>$string</strong> com base64.
  
  Esta codificação é designada para que dados binários durem no transporte sobre camadas de
  transorte que não são 8-bit clean, como mensagens de e-mail.
  
  Os dados codificados em base64 ocupam cerca de 33% a mais de espaço do que os dados originais.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Os dados a serem codificados.

<comment>Return:</comment>
  <info>string</info>  Os dados codificados, como uma string.

<comment>See Also:</comment>
   * <strong>base64_decode()</strong>
   * <strong>chunk_split()</strong>
   * <strong>convert_uuencode()</strong>
   * Seção 6.8 do RFC 2045


id: base_convert
type: function
doc:
<comment>Description:</comment>
  Converte um número entre bases arbitrárias
  
  Retorna uma string contendo <strong>$num</strong> representado na base <strong>$to_base</strong>. A base na qual <strong>$num</strong> é informada
  está especificada em <strong>$from_base</strong>. Tanto <strong>$from_base</strong> quanto <strong>$to_base</strong> devem estar entre 2 e 36,
  inclusive. Dígitos em números com uma base maior do que 10 serão representados com letras a-z, com
  'a' significando 10, 'b' significando 11 e 'z' significando 35. A forma das letras não importa, ou
  seja <strong>$num</strong> é interpretado sem sensibilidade a maiúsculas/minúsculas.
  
  <strong>base_convert()</strong> pode perder precisão com números grandes devido a propriedade relacionadaa ao o
  tipo interno de <info>float</info> usado. Consulte a seção Números de ponto flutuante no manual para mais
  informações e limitações específicas.

<comment>Param:</comment>
  <info>string</info>  <strong>$num</strong>        O número a ser convertido. Quaisquer caracteres inválidos em <strong>$num</strong> serão
                      ignorados silenciosamente. A partir do PHP 7.4.0, informar caracteres
                      inválidos está defasado.
  <info>int</info>     <strong>$from_base</strong>  A base em que <strong>$num</strong> está
  <info>int</info>     <strong>$to_base</strong>    A base para a qual deve-se converter <strong>$num</strong>

<comment>Return:</comment>
  <info>string</info>  <strong>$num</strong> convertido para a base <strong>$to_base</strong>

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


id: basename
type: function
doc:
<comment>Description:</comment>
  Retorna a última parte do caminho
  
  Dada uma string contendo o caminho para um arquivo ou diretório, esta função retornará a última
  parte do caminho.
  
  A função <strong>basename()</strong> opera de forma ingênua na string fornecida e não tem conhecimento do sistema
  de arquivos real ou dos componentes de caminho como "<return>..</return>".
  
  A função <strong>basename()</strong> reconhece a localidade, portanto, para obter o nome correto ao usar caminhos
  com caracteres multibyte, a localidade correspondente deve ser definida com a função <strong>setlocale()</strong>.
  Se o parâmetro <strong>$path</strong> contiver caracteres inválidos para a localidade atual, o comportamento de
  <strong>basename()</strong> será indefinido.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>    Um caminho.
                   
                   No Windows, tanto a barra (<return>/</return>) quanto a barra invertida (<return>\</return>) são usadas como
                   caractere separador de diretório. Em outros ambientes, apenas a barra (<return>/</return>) é
                   usada.
  <info>string</info>  <strong>$suffix</strong>  Se a última parte do caminho terminar em <strong>$suffix</strong>, ele será removido.

<comment>Return:</comment>
  <info>string</info>  Retorna a última parte de um dado <strong>$path</strong>.

<comment>See Also:</comment>
   * <strong>dirname()</strong>
   * <strong>pathinfo()</strong>


id: bcadd
type: function
doc:
<comment>Description:</comment>
  Adicionar dois números de precisão arbitrária
  
  Soma <strong>$num1</strong> e <strong>$num2</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$num1</strong>   O operando da esquerda, como uma string.
  <info>string</info>    <strong>$num2</strong>   O operando da direita, como uma string.
  <info>int|null</info>  <strong>$scale</strong>  Este parâmetro opcional é usado para definir o número
                    de dígitos após a casa decimal do resultado. Se omitido, o padrão será a escala
                    definida
                    globalmente com a função <strong>bcscale()</strong> ou, em último caso, <return>0</return> se
                    a escala não tiver sido definida.

<comment>Return:</comment>
  <info>string</info>  A soma de dois operandos, como uma string.

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


id: bccomp
type: function
doc:
<comment>Description:</comment>
  Comparar dois números de precisão arbitrária
  
  Compara o <strong>$num1</strong> com o <strong>$num2</strong> e retorna o resultado como um inteiro.

<comment>Param:</comment>
  <info>string</info>    <strong>$num1</strong>   O operando da esquerda, como uma string.
  <info>string</info>    <strong>$num2</strong>   O operando da direita, como uma string.
  <info>int|null</info>  <strong>$scale</strong>  O parâmetro opcional <strong>$scale</strong> é usado para definir o número de dígitos depois da
                    parte decimal que será usada na comparação.

<comment>Return:</comment>
  <info>int</info>  Retorna 0 se os dois operandos são iguais, 1 se o <strong>$num1</strong> é maior que <strong>$num2</strong>, -1 caso contrário.


id: bcdiv
type: function
doc:
<comment>Description:</comment>
  Dividir dois números de precisão arbitrária
  
  Divide o <strong>$num1</strong> pelo <strong>$num2</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$num1</strong>   O número dividendo, como uma string.
  <info>string</info>    <strong>$num2</strong>   O número divisor, como uma string.
  <info>int|null</info>  <strong>$scale</strong>  Este parâmetro opcional é usado para definir o número
                    de dígitos após a casa decimal do resultado. Se omitido, o padrão será a escala
                    definida
                    globalmente com a função <strong>bcscale()</strong> ou, em último caso, <return>0</return> se
                    a escala não tiver sido definida.

<comment>Return:</comment>
  <info>string</info>  Retorna o resultado da divisão como uma string, ou <info>null</info> se <strong>$num2</strong> é <return>0</return>.

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


id: bcmod
type: function
doc:
<comment>Description:</comment>
  Obtém o módulo de um número com precisão arbitrária
  
  Obtém o resto da divisão de <strong>$num1</strong> por <strong>$num2</strong>. A não ser que <strong>$num2</strong> seja zero, o resultado tem o
  mesmo sinal que <strong>$num1</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$num1</strong>  O número dividendo, como string.
  <info>string</info>  <strong>$num2</strong>  O número divisor, como string.

<comment>Return:</comment>
  <info>string</info>  Retorna o módulo como uma string, ou <info>null</info> se <strong>$num2</strong> é <return>0</return>.

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


id: bcmul
type: function
doc:
<comment>Description:</comment>
  Multiplicar dois números de precisão arbitrária
  
  Multiplica o <strong>$num1</strong> pelo <strong>$num2</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$num1</strong>   O operando da esquerda, como uma string.
  <info>string</info>    <strong>$num2</strong>   O operando da direita, como uma string.
  <info>int|null</info>  <strong>$scale</strong>  Este parâmetro opcional é usado para definir o número
                    de dígitos após a casa decimal do resultado. Se omitido, o padrão será a escala
                    definida
                    globalmente com a função <strong>bcscale()</strong> ou, em último caso, <return>0</return> se
                    a escala não tiver sido definida.

<comment>Return:</comment>
  <info>string</info>  Retorna o resultado como uma string.

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


id: bcpow
type: function
doc:
<comment>Description:</comment>
  Eleva um número de precisão arbitrária a outro
  
  Eleva <strong>$num</strong> a potência de <strong>$exponent</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$num</strong>       O número base, como uma string.
  <info>string</info>    <strong>$exponent</strong>  O número expoente, como uma string. Se o expoente for não inteiro, ele será
                       truncado. Os expoentes válidos dependem da plataforma, mas ao menos são
                       válidos de <return>-2147483648</return> até <return>2147483647</return>.
  <info>int|null</info>  <strong>$scale</strong>     Este parâmetro opcional é usado para definir o número
                       de dígitos após a casa decimal do resultado. Se omitido, o padrão será a
                       escala definida
                       globalmente com a função <strong>bcscale()</strong> ou, em último caso, <return>0</return> se
                       a escala não tiver sido definida.

<comment>Return:</comment>
  <info>string</info>  Retorna o resultado como uma string.

<comment>See Also:</comment>
   * <strong>bcpowmod()</strong>
   * <strong>bcsqrt()</strong>


id: bcpowmod
type: function
doc:
<comment>Description:</comment>
  Eleva um número de precisão arbitrária para outro, reduzido por um módulo especificado
  
  Utiliza o método de exponenciação rápida para elevar <strong>$num</strong> para a potência <strong>$exponent</strong> levando em
  conta o módulo <strong>$modulus</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$num</strong>       O número base, na forma de inteiro em string (a escala tem de ser zero).
  <info>string</info>    <strong>$exponent</strong>  O número expoente, na forma de um inteiro não negativo, em string (a escala
                       tem de ser zero).
  <info>string</info>    <strong>$modulus</strong>   O número módulo, na forma de um inteiro em string (a escala tem de ser zero).
  <info>int|null</info>  <strong>$scale</strong>     Este parâmetro opcional é usado para definir o número
                       de dígitos após a casa decimal do resultado. Se omitido, o padrão será a
                       escala definida
                       globalmente com a função <strong>bcscale()</strong> ou, em último caso, <return>0</return> se
                       a escala não tiver sido definida.

<comment>Return:</comment>
  <info>string</info>  Retorna o resultado como uma string, ou <info>false</info> se <strong>$modulus</strong> for <return>0</return> ou o <strong>$exponent</strong> for
          negativo.

<comment>See Also:</comment>
   * <strong>bcpow()</strong>
   * <strong>bcmod()</strong>


id: bcscale
type: function
doc:
<comment>Description:</comment>
  Configura ou obtêm o parâmetro escala para todas as funções bc
  
  Configura o parâmetro de escala padrão para todas as chamadas subsequentes às funções bcmath que
  não tenham o parâmatro escala informado explicitamente.
  
  Retorna o valor de escala atual.

<comment>Param:</comment>
  <info>int</info>  <strong>$scale</strong>  O fator de escala.

<comment>Return:</comment>
  <info>int</info>  Retorna o valor de escala antigo quando configurando um novo, senão retorna o valor atual.


id: bcsqrt
type: function
doc:
<comment>Description:</comment>
  Obtém a raiz quadrada de um número de precisão arbitrária
  
  Retorna a raiz quadrada do <strong>$num</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$num</strong>    O operando, como uma string numérica no padrão BCMath.
  <info>int|null</info>  <strong>$scale</strong>  Este parâmetro opcional é usado para definir o número
                    de dígitos após a casa decimal do resultado. Se omitido, o padrão será a escala
                    definida
                    globalmente com a função <strong>bcscale()</strong> ou, em último caso, <return>0</return> se
                    a escala não tiver sido definida.

<comment>Return:</comment>
  <info>string</info>  Retorna a raiz quadrada como uma string numérica no padrão BCMath.

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


id: bcsub
type: function
doc:
<comment>Description:</comment>
  Subtrai um número de precisão arbitrária de outro
  
  Subtrai <strong>$num2</strong> de <strong>$num1</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$num1</strong>   O operando da esquerda, como uma string.
  <info>string</info>    <strong>$num2</strong>   O operando da direita, como uma string.
  <info>int|null</info>  <strong>$scale</strong>  Este parâmetro opcional é usado para definir o número
                    de dígitos após a casa decimal do resultado. Se omitido, o padrão será a escala
                    definida
                    globalmente com a função <strong>bcscale()</strong> ou, em último caso, <return>0</return> se
                    a escala não tiver sido definida.

<comment>Return:</comment>
  <info>string</info>  O resultado da subtração, como uma string.

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


id: bin2hex
type: function
doc:
<comment>Description:</comment>
  Converte um dado binário em representação hexadecimal
  
  Retorna uma string ASCII uma representação hexadecimal de <strong>$string</strong>. A conversão é feita byte-wise
  com o high-nibble primeiro.

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

<comment>Return:</comment>
  <info>string</info>  Retorna a representação hexadecimal de uma dada string.

<comment>See Also:</comment>
   * <strong>hex2bin()</strong>
   * <strong>pack()</strong>


id: bind_textdomain_codeset
type: function
doc:
<comment>Description:</comment>
  Especifica ou obtém a codificação de caracteres na qual as mensagens do catálogo de mensagens de
  DOMÍNIO serão retornadas
  
  <strong>bind_textdomain_codeset()</strong> permite definir ou obter a codificação na qual as mensagens de <strong>$domain</strong>
  serão retornadas por <strong>gettext()</strong> e funções similares.

<comment>Param:</comment>
  <info>string</info>       <strong>$domain</strong>   O domínio.
  <info>string|null</info>  <strong>$codeset</strong>  O conjunto de caracteres. Se <info>null</info>, a codificação atualmente definida é
                         retornada.

<comment>Return:</comment>
  <info>string|false</info>  Uma <info>string</info> em caso de sucesso.


id: bindec
type: function
doc:
<comment>Description:</comment>
  Binário para decimal
  
  Retorna o equivalente decimal do número binário representado pelo argumento <strong>$binary_string</strong>.
  
  <strong>bindec()</strong> converte um número binário em um <info>int</info> ou, se necessário por questão de tamanho, um <info>float</info>.
  
  <strong>bindec()</strong> interpreta todos os valores de <strong>$binary_string</strong> como inteiros sem sinal. Isto é devido a
  <strong>bindec()</strong> enxergar o bit mais significativo como uma outra ordem de magnitude e não como um bit de
  sinal.

<comment>Param:</comment>
  <info>string</info>  <strong>$binary_string</strong>  A string binária a converter. Quaisquer caracteres inválidos em
                          <strong>$binary_string</strong> são silenciosamente ignorados. A partir do PHP 7.4.0,
                          fornecer qualquer caractere inválido está defasado.

<comment>Return:</comment>
  <info>int|float</info>  O valor decimal de <strong>$binary_string</strong>

<comment>See Also:</comment>
   * <strong>decbin()</strong>
   * <strong>octdec()</strong>
   * <strong>hexdec()</strong>
   * <strong>base_convert()</strong>


id: bindtextdomain
type: function
doc:
<comment>Description:</comment>
  Define ou obtém o caminho para um domínio
  
  A função <strong>bindtextdomain()</strong> define ou obtém um caminho para um domínio.

<comment>Param:</comment>
  <info>string</info>       <strong>$domain</strong>     O domínio.
  <info>string|null</info>  <strong>$directory</strong>  O caminho do diretório. Uma string vazia significa o diretório atual. Se
                           <info>null</info>, o diretório definido para o domínio é retornado.

<comment>Return:</comment>
  <info>string|false</info>  O caminho completo para o domínio definido por <strong>$domain</strong>, ou <info>false</info> em caso de falha.


id: boolval
type: function
doc:
<comment>Description:</comment>
  Obtém o valor booleano de uma variável
  
  Retorna o valor <info>bool</info> do parâmetro <strong>$value</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  O valor escalar a ser convertido para um <info>bool</info>.

<comment>Return:</comment>
  <info>bool</info>  O valor <info>bool</info> do parâmetro<strong>$value</strong>.

<comment>See Also:</comment>
   * <strong>floatval()</strong>
   * <strong>intval()</strong>
   * <strong>strval()</strong>
   * <strong>settype()</strong>
   * <strong>is_bool()</strong>
   * Manipulação de tipos


id: bzclose
type: function
doc:
<comment>Description:</comment>
  Fecha um ponteiro de arquivo bzip2
  
  Fecha o dado ponteiro de arquivo bzip2.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  O ponteiro de arquivo. Ele precisa ser válido e precisa apontar para um arquivo
                 devidamente aberto com sucesso por <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: bzcompress
type: function
doc:
<comment>Description:</comment>
  Comprime uma string em dados codificados com bzip2
  
  <strong>bzcompress()</strong> comprime a string fornecida e retorna-a como dados codificados com bzip2.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>         A string a comprimir.
  <info>int</info>     <strong>$block_size</strong>   Especifica o tamanho de bloco usado durante a compressão e deve ser um
                        número de 1 a 9, sendo 9 a melhor compressão mas usando mais recursos para
                        fazê-la.
  <info>int</info>     <strong>$work_factor</strong>  Controla como a fase de compressão se comporta quando apresentada com o pior
                        caso, dados de entrada altamente repetitivos. O valor pode ser entre 0 e
                        250, sendo 0 um caso especial.
                        
                        Independente do parâmetro <strong>$work_factor</strong>, a saída gerada é a mesma.

<comment>Return:</comment>
  <info>string|int</info>  A string comprimida, ou um número de erro se um erro ocorrer..

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


id: bzdecompress
type: function
doc:
<comment>Description:</comment>
  Descomprime dados codificados com bzip2
  
  <strong>bzdecompress()</strong> descomprime a string fornecida que contém dados codificados com bzip2.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>             A string a ser descomprimida.
  <info>bool</info>    <strong>$use_less_memory</strong>  Se <info>true</info>, uma algoritmo alternativo de descompressão que usa menos
                            memória será usado (o requisito máximo de memória baixa para um valor em
                            torno de 2300K) mas trabalha com a metade da velocidade aproximadamente.
                            
                            Consulte a documentação bzip2 para mais informações sobre este recurso.

<comment>Return:</comment>
  <info>string|int|false</info>  A string descomprimida, ou <info>false</info> ou um número de erro se um erro ocorrer.

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


id: bzerrno
type: function
doc:
<comment>Description:</comment>
  Retorna um número de erro da bzip2
  
  Retorna o número do erro de qualquer erro da bzip2 retornado pelo ponteiro de arquivo fornecido.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  O ponteiro do arquivo. Deve ser válido e apontar para um arquivo aberto com sucesso
                 por <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>int</info>  Retorna o número do erro como um número inteiro.

<comment>See Also:</comment>
   * <strong>bzerror()</strong>
   * <strong>bzerrstr()</strong>


id: bzerror
type: function
doc:
<comment>Description:</comment>
  Retorna o número e string de erro do bzip2 em um array
    
  
  Retorna o número e string do erro de um erro da bzip2 retornado pelo dado ponteiro de arquivo.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  O ponteiro do arquivo - Ele precisa ser válido e precisa apontar para um arquivo
                 aberto com sucesso pela <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>array</info>  Retorna um array associativo, com o código de erro na entrada <return>errno</return>, e a mensagem de erro
         na entrada <return>errstr</return>.

<comment>See Also:</comment>
   * <strong>bzerrno()</strong>
   * <strong>bzerrstr()</strong>


id: bzerrstr
type: function
doc:
<comment>Description:</comment>
  Retorna a string de erro do bzip2
  
  Obtém a string de erro de um erro da bzip2 retornado para um dado ponteiro de arquivo.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  O ponteiro do arquivo. Ele precisa ser válido e precisa apontar para um arquivo
                 aberto com sucesso pela <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Retorna uma string contendo a mensagem de erro.

<comment>See Also:</comment>
   * <strong>bzerrno()</strong>
   * <strong>bzerror()</strong>


id: bzflush
type: function
doc:
<comment>Description:</comment>
  Sem efeitos
  
  Força a escrita de todos os dados do bzip2 que estão em buffer para o ponteiro de arquivo <strong>$bz</strong>, mas
  é implementado como uma função vazia na libbz2, e portanto não gera efeitos.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>  O ponteiro do arquivo. Ele precisa ser válido e precisa apontar para um arquivo
                 aberto com sucesso por <strong>bzopen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>bzread()</strong>
   * <strong>bzwrite()</strong>


id: bzopen
type: function
doc:
<comment>Description:</comment>
  Abre um arquivo comprimido com bzip2
  
  <strong>bzopen()</strong> abre um arquivo bzip2 (.bz2) para leitura ou gravação.

<comment>Param:</comment>
  <info>string|resource</info>  <strong>$file</strong>  O nome do arquivo a abrir, ou um recurso de fluxo existente.
  <info>string</info>           <strong>$mode</strong>  Os modos <return>'r'</return> (leitura), e <return>'w'</return> (gravação) são suportados. Qualquer outro
                          valor fará com que <strong>bzopen()</strong> retorne <info>false</info>.

<comment>Return:</comment>
  <info>resource|false</info>  Se a abertura falhar, <strong>bzopen()</strong> returna <info>false</info>, caso contrário retorna um ponteiro
                  para o arquivo aberto.

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


id: bzread
type: function
doc:
<comment>Description:</comment>
  Leitura binária segura de arquivo bzip2
  
  <strong>bzread()</strong> faz leitura de um ponteiro de arquivo bzip2 fornecido.
  
  A leitura para quando o número de bytes (não comprimidos) informado em <strong>$length</strong> tiver sido
  alcançado ou o final do arquivo, o que ocorrer primeiro.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>      O ponteiro do arquivo. Precisa ser válido e apontar para um arquivo aberto com
                     sucesso pela função <strong>bzopen()</strong>.
  <info>int</info>       <strong>$length</strong>  Se não especificado, a função <strong>bzread()</strong> lerá 1024 bytes (não comprimidos) de
                     cada vez. Um máximo de 8192 bytes não comprimidos será lido de cada vez.

<comment>Return:</comment>
  <info>string|false</info>  Retorna os dados descomprimidos, ou <info>false</info> em caso de erro.

<comment>See Also:</comment>
   * <strong>bzwrite()</strong>
   * <strong>feof()</strong>
   * <strong>bzopen()</strong>


id: bzwrite
type: function
doc:
<comment>Description:</comment>
  Gravação binária segura em arquivo bzip2
  
  <strong>bzwrite()</strong> escreve uma string no arquivo bzip2 informado.

<comment>Param:</comment>
  <info>resource</info>  <strong>$bz</strong>      O ponteiro do arquivo. Precisa ser válido e apontar a um arquivo aberto com
                     sucesso por <strong>bzopen()</strong>.
  <info>string</info>    <strong>$data</strong>    Os dados gravados.
  <info>int|null</info>  <strong>$length</strong>  Se fornecido, a gravação irá parar depois que os bytes (não comprimidos)
                     informados em <strong>$length</strong> tiverem sido escritos ou o final de <strong>$data</strong> tiver sido
                     alcançado, o que ocorrer primeiro.

<comment>Return:</comment>
  <info>int|false</info>  Retorna o número de bytes gravados, ou <info>false</info> em caso de erro.

<comment>See Also:</comment>
   * <strong>bzread()</strong>
   * <strong>bzopen()</strong>


id: cal_days_in_month
type: function
doc:
<comment>Description:</comment>
  Retorna o número de dias em um mês de um calendário e ano requisitado
  
  Esta função irá retornar o número de dias em um <strong>$month</strong> do <strong>$year</strong> para o <strong>$calendar</strong> especificado.

<comment>Param:</comment>
  <info>int</info>  <strong>$calendar</strong>  Calendário para usar no cálculo
  <info>int</info>  <strong>$month</strong>     Mês a ser selecionado no calendário
  <info>int</info>  <strong>$year</strong>      Ano no selecionado calendário

<comment>Return:</comment>
  <info>int</info>  A quantidade de dias do selecionado mês no dado calendário


id: cal_from_jd
type: function
doc:
<comment>Description:</comment>
  Converts from Julian Day Count to a supported calendar
  
  <strong>cal_from_jd()</strong> converts the Julian day given in <strong>$julian_day</strong> into a date of the specified <strong>$calendar</strong>.
  Supported <strong>$calendar</strong> values are <info>CAL_GREGORIAN</info>, <info>CAL_JULIAN</info>, <info>CAL_JEWISH</info> and <info>CAL_FRENCH</info>.

<comment>Param:</comment>
  <info>int</info>  <strong>$julian_day</strong>  Julian day as integer
  <info>int</info>  <strong>$calendar</strong>    Calendar to convert to

<comment>Return:</comment>
  <info>array</info>  Returns an array containing calendar information like month, day, year, day of week (<return>dow</return>),
         abbreviated and full names of weekday and month and the date in string form
         "month/day/year". The day of week ranges from <return>0</return> (Sunday) to <return>6</return> (Saturday).

<comment>See Also:</comment>
   * <strong>cal_to_jd()</strong>
   * <strong>jdtofrench()</strong>
   * <strong>jdtogregorian()</strong>
   * <strong>jdtojewish()</strong>
   * <strong>jdtojulian()</strong>
   * <strong>jdtounix()</strong>


id: cal_info
type: function
doc:
<comment>Description:</comment>
  Returns information about a particular calendar
  
  <strong>cal_info()</strong> returns information on the specified <strong>$calendar</strong>.
  
  Calendar information is returned as an array containing the elements <return>calname</return>, <return>calsymbol</return>, <return>month</return>,
  <return>abbrevmonth</return> and <return>maxdaysinmonth</return>. The names of the different calendars  which can be used as
  <strong>$calendar</strong> are as follows:  0 or <info>CAL_GREGORIAN</info> - Gregorian Calendar  1 or <info>CAL_JULIAN</info> - Julian
  Calendar  2 or <info>CAL_JEWISH</info> - Jewish Calendar  3 or <info>CAL_FRENCH</info> - French Revolutionary Calendar
  
  0 or <info>CAL_GREGORIAN</info> - Gregorian Calendar
  
  1 or <info>CAL_JULIAN</info> - Julian Calendar
  
  2 or <info>CAL_JEWISH</info> - Jewish Calendar
  
  3 or <info>CAL_FRENCH</info> - French Revolutionary Calendar
  
  If no <strong>$calendar</strong> is specified information on all supported calendars is returned as an array.

<comment>Param:</comment>
  <info>int</info>  <strong>$calendar</strong>  Calendar to return information for. If no calendar is specified information about
                  all calendars is returned.

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


id: cal_to_jd
type: function
doc:
<comment>Description:</comment>
  Converte um calendário (suportado) para o calendário "Julian Day Count"
  
  <strong>cal_to_jd()</strong> calcula uma data em formato "Julian Day Count" à partir de um <strong>$calendar</strong> suportado
  especificado. Os <strong>$calendar</strong> suportados são: <info>CAL_GREGORIAN</info>, <info>CAL_JULIAN</info>, <info>CAL_JEWISH</info> e <info>CAL_FRENCH</info>.

<comment>Param:</comment>
  <info>int</info>  <strong>$calendar</strong>  Calendário para converter, um dos <info>CAL_GREGORIAN</info>, <info>CAL_JULIAN</info>, <info>CAL_JEWISH</info> ou
                  <info>CAL_FRENCH</info>.
  <info>int</info>  <strong>$month</strong>     O mês como um número, o intervalo válido depende do <strong>$calendar</strong>
  <info>int</info>  <strong>$day</strong>       O dia como um número, o intervalo válido depende do <strong>$calendar</strong>
  <info>int</info>  <strong>$year</strong>      O ano como um número, o intervalo válido depende do <strong>$calendar</strong>

<comment>Return:</comment>
  <info>int</info>  Um número de data juliana.

<comment>See Also:</comment>
   * <strong>cal_from_jd()</strong>
   * <strong>frenchtojd()</strong>
   * <strong>gregoriantojd()</strong>
   * <strong>jewishtojd()</strong>
   * <strong>juliantojd()</strong>
   * <strong>unixtojd()</strong>


id: call_user_func
type: function
doc:
<comment>Description:</comment>
  Call the callback given by the first parameter
  
  Calls the <strong>$callback</strong> given by the first parameter and passes the remaining parameters as arguments.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The <info>callable</info> to be called.
  <info>mixed</info>     <strong>$args</strong>      Zero or more parameters to be passed to the callback.
                       
                       Note that the parameters for <strong>call_user_func()</strong> are not passed by reference.
                       <strong>call_user_func()</strong> example and references
                       ]]>O exemplo acima produzirá:
                       
                       O exemplo acima produzirá:

<comment>Return:</comment>
  <info>mixed</info>  Returns the return value of the callback.

<comment>See Also:</comment>
   * <strong>call_user_func_array()</strong>
   * <strong>is_callable()</strong>
   * Variable functions
   * ReflectionFunction::invoke
   * ReflectionMethod::invoke


id: call_user_func_array
type: function
doc:
<comment>Description:</comment>
  Call a callback with an array of parameters
  
  Calls the <strong>$callback</strong> given by the first parameter with the parameters in <strong>$args</strong>.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The <info>callable</info> to be called.
  <info>array</info>     <strong>$args</strong>      The parameters to be passed to the callback, as an array.
                       
                       If the keys of <strong>$args</strong> are all numeric, the keys are ignored and each element
                       will be passed to <strong>$callback</strong> as a positional argument, in order.
                       
                       If any keys of <strong>$args</strong> are strings, those elements will be passed to <strong>$callback</strong>
                       as named arguments, with the name given by the key.
                       
                       It is a fatal error to have a numeric key in <strong>$args</strong> appear after a string key,
                       or to have a string key that does not match the name of any parameter of
                       <strong>$callback</strong>.

<comment>Return:</comment>
  <info>mixed</info>  Returns the return value of the callback, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>call_user_func()</strong>
   * ReflectionFunction::invokeArgs
   * ReflectionMethod::invokeArgs


id: ceil
type: function
doc:
<comment>Description:</comment>
  Arredonda frações para cima
  
  Retorna o próximo maior valor inteiro arredondando-se <strong>$num</strong> para cima, se necessário.

<comment>Param:</comment>
  <info>int|float</info>  <strong>$num</strong>  O valor a ser arredondado

<comment>Return:</comment>
  <info>float</info>  <strong>$num</strong> arredondado pra o próximo inteiro. O valor retornado de <strong>ceil()</strong> ainda será do tipo
         <info>float</info> porque a faixa de valores suportados por <info>float</info> é normalmente maior do que o do tipo
         <info>int</info>.

<comment>See Also:</comment>
   * <strong>floor()</strong>
   * <strong>round()</strong>


id: chdir
type: function
doc:
<comment>Description:</comment>
  Muda o diretório
  
  Muda o diretório atual do PHP para <strong>$directory</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$directory</strong>  O novo diretório atual

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: checkdate
type: function
doc:
<comment>Description:</comment>
  Valida uma data gregoriana
  
  Verifica a validade da data formada pelos argumentos. Uma data é considerada válida se cada
  parâmetro é adequadamente definido.

<comment>Param:</comment>
  <info>int</info>  <strong>$month</strong>  O mês entre 1 e 12.
  <info>int</info>  <strong>$day</strong>    O dia está dentro do número permitido de dias para o mês (<strong>$month</strong>). Anos (<strong>$year</strong>)
               bissextos são levados em consideração.
  <info>int</info>  <strong>$year</strong>   O ano está entre 1 e 32767, inclusive.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se a data informada é valida; caso contrário retorna <info>false</info>.

<comment>See Also:</comment>
   * <strong>mktime()</strong>
   * <strong>strtotime()</strong>


id: checkdnsrr
type: function
doc:
<comment>Description:</comment>
  Checa os registros DNS correspondentes para o nome do host ou endereço IP informado
  
  Pesquisa o DNS para os registros <strong>$type</strong> correspondentes <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  <strong>$hostname</strong> pode ser o endereço IP em notação quádrupla separada por pontos ou o
                     nome do host.
  <info>string</info>  <strong>$type</strong>      <strong>$type</strong> pode ser: A, MX, NS, SOA, PTR, CNAME, AAAA, A6, SRV, NAPTR, TXT or ANY.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se o registro for encontrado; retorna <info>false</info> se não encontrar registros ou um
        erro ocorrer.

<comment>See Also:</comment>
   * <strong>dns_get_record()</strong>
   * <strong>getmxrr()</strong>
   * <strong>gethostbyaddr()</strong>
   * <strong>gethostbyname()</strong>
   * <strong>gethostbynamel()</strong>
   * the named(8) manual page


id: chgrp
type: function
doc:
<comment>Description:</comment>
  Altera o grupo do arquivo
  
  Tenta alterar o grupo do arquivo <strong>$filename</strong> para <strong>$group</strong>.
  
  Somente o superusuário pode alterar arbitrariamente o grupo de um arquivo; outros usuários podem
  alterar o grupo de um arquivo para qualquer grupo do qual sejam membros.

<comment>Param:</comment>
  <info>string</info>      <strong>$filename</strong>  Caminho para o arquivo.
  <info>string|int</info>  <strong>$group</strong>     O nome ou número do grupo.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>chown()</strong>
   * <strong>chmod()</strong>


id: chmod
type: function
doc:
<comment>Description:</comment>
  Modifica as permissões do arquivo
  
  Tenta mudar as permissões do arquivo especificado para o especificado em <strong>$permissions</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>     O caminho para o arquivo.
  <info>int</info>     <strong>$permissions</strong>  Note que <strong>$permissions</strong> não é automaticamente assumido como valor em octal,
                        então para assegurar a operação esperada, é necessário prefixar <strong>$permissions</strong>
                        com um zero (0). Strings como "g+w" naõ irão funcionar adequadamente.
                        
                        
                        ]]>
                        
                        O parâmetro <strong>$permissions</strong> consiste de três componentes numéricos em octal
                        especificando restrições de acesso para o proprietário, para o grupo de
                        usuário onde está o proprietário e para todos os outros usuários, nesta
                        ordem. Um componente pode ser calculado adicionando-se as permissões
                        necessárias para o usuário alvo. O número 1 significa direito de execução, 2
                        significa direito de escrita, 4 significa direito de leitura. Some esses
                        números para especificar os direitos desejados. Pode-se consultar mais sobre
                        modos em sistemas Unix com os comandos 'man 1 chmod' e 'man 2 chmod'.
                        
                        
                        ]]>

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>chown()</strong>
   * <strong>chgrp()</strong>
   * <strong>fileperms()</strong>
   * <strong>stat()</strong>


id: chop
type: function
doc:
<comment>Description:</comment>
  Sinônimo de rtrim
  
  Esta função é um apelido para:  <strong>rtrim()</strong>.


id: chown
type: function
doc:
<comment>Description:</comment>
  Modifica o proprietário do arquivo
  
  Tenta modificar o proprietário do <strong>$filename</strong> para <strong>$user</strong>. Somente o superusuário pode modificar o
  proprietário de um arquivo.

<comment>Param:</comment>
  <info>string</info>      <strong>$filename</strong>  Caminho para o arquivo.
  <info>string|int</info>  <strong>$user</strong>      O nome do usuário ou número.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>chmod()</strong>
   * <strong>chgrp()</strong>


id: chr
type: function
doc:
<comment>Description:</comment>
  Generate a single-byte string from a number
  
  Returns a one-character string containing the character specified by interpreting <strong>$codepoint</strong> as an
  unsigned integer.
  
  This can be used to create a one-character string in a single-byte encoding such as ASCII,
  ISO-8859, or Windows 1252, by passing the position of a desired character in the encoding's
  mapping table. However, note that this function is not aware of any string encoding, and in
  particular cannot be passed a Unicode code point value to generate a string in a multibyte
  encoding like UTF-8 or UTF-16.
  
  This function complements <strong>ord()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$codepoint</strong>  An integer between 0 and 255.
                   
                   Values outside the valid range (0..255) will be bitwise and'ed with 255, which is
                   equivalent to the following algorithm:

<comment>Return:</comment>
  <info>string</info>  A single-character string containing the specified byte.

<comment>See Also:</comment>
   * <strong>sprintf()</strong> with a format string of <return>%c</return>
   * <strong>ord()</strong>
   * An ASCII-table
   * <strong>mb_chr()</strong>
   * <strong>IntlChar::chr()</strong>


id: chroot
type: function
doc:
<comment>Description:</comment>
  Muda o diretório raiz
  
  Muda o diretório raiz do processo atual para <strong>$directory</strong>, e muda o diretório de trabalho atual para
  "/".
  
  Esta função está disponível somente para sistemas GNU e BSD, e apenas quando CLI, CGI ou Embed
  SAPI estiverem sendo usados. Além disso, esta função requer privilégio de administrador.
  
  Chamar esta função não muda os valores das constantes mágicas <return>__DIR__</return> e <return>__FILE__</return>.

<comment>Param:</comment>
  <info>string</info>  <strong>$directory</strong>  O caminho para o qual apontar o novo diretório raiz.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.


id: chunk_split
type: function
doc:
<comment>Description:</comment>
  Divide uma string em pedaços menores
  
  Pode ser usada para dividir uma string em pedaços menores, o que é útil para por exemplo converter
  a saída de <strong>base64_encode()</strong> para adequação às semânticas RFC 2045 . Ela insere um separador
  definido em <strong>$separator</strong> a cada número de caracteres definido em<strong>$length</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>     A string a ser dividida.
  <info>int</info>     <strong>$length</strong>     O tamanho do pedaço.
  <info>string</info>  <strong>$separator</strong>  A sequência de terminação de linha.

<comment>Return:</comment>
  <info>string</info>  Retorna a string dividida.

<comment>See Also:</comment>
   * <strong>str_split()</strong>
   * <strong>explode()</strong>
   * <strong>wordwrap()</strong>
   * RFC 2045


id: class_alias
type: function
doc:
<comment>Description:</comment>
  Cria um apelido para uma classe
  
  Criando um apelido com o nome informado em <strong>$alias</strong> com base na classe definida pelo usuário <strong>$class</strong>.
  A classe com apelido é exatamente igual à classe original.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     A classe original.
  <info>string</info>  <strong>$alias</strong>     O nome do alias da classe.
  <info>bool</info>    <strong>$autoload</strong>  Se deve-se carregar automaticamente caso a classe original não seja encontrada.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>get_parent_class()</strong>
   * <strong>is_subclass_of()</strong>


id: class_exists
type: function
doc:
<comment>Description:</comment>
  Verifica se uma classe foi definida
  
  Esta função verifica se uma classe foi definida.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     O nome da classe. O nome da classe é verificada sem fazer distinção de
                     maiúscula e minúscula.
  <info>bool</info>    <strong>$autoload</strong>  Se deve-se carregar automaticamente caso não tenha sido carregada.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se <strong>$class</strong> é uma classe definida, caso contrário retorna <info>false</info>.

<comment>See Also:</comment>
   * <strong>function_exists()</strong>
   * <strong>enum_exists()</strong>
   * <strong>interface_exists()</strong>
   * <strong>get_declared_classes()</strong>


id: class_implements
type: function
doc:
<comment>Description:</comment>
  Return the interfaces which are implemented by the given class or interface
    
  
  This function returns an array with the names of the interfaces that the given <strong>$object_or_class</strong>
  and its parents implement.

<comment>Param:</comment>
  <info>object|string</info>  <strong>$object_or_class</strong>  An object (class instance) or a string (class or interface name).
  <info>bool</info>           <strong>$autoload</strong>         Whether to autoload if not already loaded.

<comment>Return:</comment>
  <info>array|false</info>  An array on success, or <info>false</info> when the given class doesn't exist.

<comment>See Also:</comment>
   * <strong>class_parents()</strong>
   * <strong>get_declared_interfaces()</strong>
   * <strong>is_a()</strong>
   * <return>instanceof</return>


id: class_parents
type: function
doc:
<comment>Description:</comment>
  Return the parent classes of the given class
    
  
  This function returns an array with the name of the parent classes of the given <strong>$object_or_class</strong>.

<comment>Param:</comment>
  <info>object|string</info>  <strong>$object_or_class</strong>  An object (class instance) or a string (class name).
  <info>bool</info>           <strong>$autoload</strong>         Whether to autoload if not already loaded.

<comment>Return:</comment>
  <info>array|false</info>  An array on success, or <info>false</info> when the given class doesn't exist.

<comment>See Also:</comment>
   * <strong>class_implements()</strong>
   * <strong>is_a()</strong>
   * <return>instanceof</return>


id: class_uses
type: function
doc:
<comment>Description:</comment>
  Return the traits used by the given class
    
  
  This function returns an array with the names of the traits that the given <strong>$object_or_class</strong> uses.
  This does however not include any traits used by a parent class.

<comment>Param:</comment>
  <info>object|string</info>  <strong>$object_or_class</strong>  An object (class instance) or a string (class name).
  <info>bool</info>           <strong>$autoload</strong>         Whether to autoload if not already loaded.

<comment>Return:</comment>
  <info>array|false</info>  An array on success, or <info>false</info> when the given class doesn't exist.

<comment>See Also:</comment>
   * <strong>class_parents()</strong>
   * <strong>get_declared_traits()</strong>


id: clearstatcache
type: function
doc:
<comment>Description:</comment>
  Limpa o cache de estado de arquivos
  
  Quando são chamadas as funções <strong>stat()</strong>, <strong>lstat()</strong> ou qualquer uma das funções afetadas (listadas
  abaixo), o PHP mantém em cache as informações que essas funções retornam para fornecer desempenho
  mais rápido. Entretanto, em certos casos pode ser necessário limpar as informações em cache. Por
  exemplo, se um mesmo arquivo é verificado várias vezes em um único script, e esse arquivo corre o
  risco de ser apagado ou modificado durante a operação do script, pode ser necessário limpar os
  dados do cache. Nesses casos, pode-se utilizar a função <strong>clearstatcache()</strong> para limpar as
  informações que o PHP mantém em cache sobre um arquivo.
  
  Deve-se notar também que o PHP não guarda informação em cache sobre arquivos não existente. Assim,
  a função <strong>file_exists()</strong> for chamada em um arquivo que não existe, ela retornará <info>false</info> até que o
  arquivo seja criado. Se o arquivo for criado, ela retornará <info>true</info> mesmo que o arquivo seja
  removido. Entretanto, a função <strong>unlink()</strong> limpa o cache automaticamente.
  
  Esta função guarda infomações em cache sobre nomes de arquivos específicos, de forma que somente
  será necessário chamar <strong>clearstatcache()</strong> se estão sendo realizadas várias operações sobre o mesmo
  nome de arquivo e seja necessário que a informação sobre esse arquivo em particular não seja
  armazenada em cache.
  
  As funções afetadas incluem <strong>stat()</strong>, <strong>lstat()</strong>, <strong>file_exists()</strong>, <strong>is_writable()</strong>, <strong>is_readable()</strong>,
  <strong>is_executable()</strong>, <strong>is_file()</strong>, <strong>is_dir()</strong>, <strong>is_link()</strong>, <strong>filectime()</strong>, <strong>fileatime()</strong>, <strong>filemtime()</strong>,
  <strong>fileinode()</strong>, <strong>filegroup()</strong>, <strong>fileowner()</strong>, <strong>filesize()</strong>, <strong>filetype()</strong>, e <strong>fileperms()</strong>.

<comment>Param:</comment>
  <info>bool</info>    <strong>$clear_realpath_cache</strong>  Se deve-se também limpar o cache de caminho real.
  <info>string</info>  <strong>$filename</strong>              Limpa o cache de caminho real para um arquivo específico somente;
                                 apenas usado se <strong>$clear_realpath_cache</strong> for <info>true</info>.

<comment>Return:</comment>
  <info>void</info>  Nenhum valor é retornado.


id: cli_get_process_title
type: function
doc:
<comment>Description:</comment>
  Returns the current process title
  
  Returns the current process title, as set by <strong>cli_set_process_title()</strong>. Note that this may not
  exactly match what is shown in ps or top, depending on your operating system.
  
  This function is available only in CLI mode.

<comment>Return:</comment>
  <info>string|null</info>  Return a string with the current process title or <info>null</info> on error.

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


id: cli_set_process_title
type: function
doc:
<comment>Description:</comment>
  Sets the process title
  
  Sets the process title visible in tools such as top and ps. This function is available only in CLI
  mode.

<comment>Param:</comment>
  <info>string</info>  <strong>$title</strong>  The new title.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: closedir
type: function
doc:
<comment>Description:</comment>
  Fecha o manipulador do diretório
  
  Fecha o fluxo de diretório indicado por <strong>$dir_handle</strong>. O fluxo deve ter sido previamente aberto por
  <strong>opendir()</strong>.

<comment>Param:</comment>
  <info>resource|null</info>  <strong>$dir_handle</strong>  O manipulador de diretório do tipo <info>resource</info> aberto previamente com
                              <strong>opendir()</strong>. Se o manipulador de diretório não for especificado, o
                              último manipulador aberto por <strong>opendir()</strong> será o assumido.

<comment>Return:</comment>
  <info>void</info>  Nenhum valor é retornado.


id: closelog
type: function
doc:
<comment>Description:</comment>
  Close connection to system logger
  
  <strong>closelog()</strong> closes the descriptor being used to write to the system logger.  The use of <strong>closelog()</strong>
  is optional.

<comment>Return:</comment>
  <info>true</info>  Sempre retorna <info>true</info>.

<comment>See Also:</comment>
   * <strong>syslog()</strong>
   * <strong>openlog()</strong>


id: com
type: class
doc:
<comment>Description:</comment>
  The com class allows you to instantiate an OLE compatible COM object and call its methods and
  access its properties.


id: com::__construct
type: function
doc:
<comment>Description:</comment>
  com class constructor
  
  Constructs a new com object.

<comment>Param:</comment>
  <info>string</info>             <strong>$module_name</strong>  Can be a ProgID, Class ID or Moniker that names the component to
                                   load.
                                   
                                   A ProgID is typically the application or DLL name, followed by a
                                   period, followed by the object name. e.g: <return>Word.Application</return>.
                                   
                                   A Class ID is the UUID that uniquely identifies a given class.
                                   
                                   A Moniker is a special form of naming, similar in concept to a
                                   URL scheme, that identifies a resource and specifies how it
                                   should be loaded.  As an example, you could load up Word and get
                                   an object representing a word document by specifying the full
                                   path to the word document as the module name, or you can use
                                   <return>LDAP:</return> as a moniker to use the ADSI interface to LDAP.
  <info>array|string|null</info>  <strong>$server_name</strong>  The name of the DCOM server on which the component should be
                                   loaded and run.  If <info>null</info>, the object is run using the default for
                                   the application.  The default is typically to run it on the local
                                   machine, although the administrator might have configured the
                                   application to launch on a different machine.
                                   
                                   If a non-<info>null</info> value is specified for server, PHP will refuse to
                                   load the object unless the com.allow_dcom php.ini option is set
                                   to <info>true</info>.
                                   
                                   If <strong>$server_name</strong> is an array, it should contain the following
                                   elements (case sensitive!).  Note that they are all optional
                                   (although you need to specify both Username and Password
                                   together); if you omit the Server setting, the default server
                                   will be used (as mentioned above), and the instantiation of the
                                   object will not be affected by the com.allow_dcom php.ini
                                   directive. DCOM server namekeytypedescriptionServerstringThe name
                                   of the server.UsernamestringThe username to connect
                                   as.PasswordstringThe password for <return>Username</return>.DomainstringThe domain
                                   of <return>server</return>.FlagsintegerOne or more of the following constants,
                                   logically OR'd together: <info>CLSCTX_INPROC_SERVER</info>,
                                   <info>CLSCTX_INPROC_HANDLER</info>, <info>CLSCTX_LOCAL_SERVER</info>, <info>CLSCTX_REMOTE_SERVER</info>,
                                   <info>CLSCTX_SERVER</info> and <info>CLSCTX_ALL</info>.  The default value if not specified
                                   here is <info>CLSCTX_SERVER</info> if you also omit <return>Server</return>, or
                                   <info>CLSCTX_REMOTE_SERVER</info> if you do specify a server.  You should
                                   consult the Microsoft documentation for CoCreateInstance for more
                                   information on the meaning of these constants; you will typically
                                   never have to use them.
  <info>int</info>                <strong>$codepage</strong>     Specifies the codepage that is used to convert strings to
                                   unicode-strings and vice versa.  The conversion is applied
                                   whenever a PHP string is passed as a parameter or returned from a
                                   method of this COM object.  The code page is sticky, which means
                                   that it will propagate to objects and variants returned from the
                                   object.
                                   
                                   Possible values are <info>CP_ACP</info> (use system default ANSI code page -
                                   the default if this parameter is omitted), <info>CP_MACCP</info>, <info>CP_OEMCP</info>,
                                   <info>CP_SYMBOL</info>, <info>CP_THREAD_ACP</info> (use codepage/locale set for the current
                                   executing thread), <info>CP_UTF7</info> and <info>CP_UTF8</info>.  You may also use the
                                   number for a given codepage; consult the Microsoft documentation
                                   for more details on codepages and their numeric values.


id: com_create_guid
type: function
doc:
<comment>Description:</comment>
  Generate a globally unique identifier (GUID)
  
  Generates a Globally Unique Identifier (GUID).
  
  A GUID is generated in the same way as DCE UUID's, except that the Microsoft convention is to
  enclose a GUID in curly braces.

<comment>Return:</comment>
  <info>string|false</info>  Returns the GUID as a string,  ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>uuid_create()</strong> in the PECL uuid extension


id: com_event_sink
type: function
doc:
<comment>Description:</comment>
  Connect events from a COM object to a PHP object
  
  Instructs COM to sink events generated by <strong>$variant</strong> into the PHP object <strong>$sink_object</strong>.
  
  Be careful how you use this feature; if you are doing something similar to the example below, then
  it doesn't really make sense to run it in a web server context.

<comment>Param:</comment>
  <info>variant</info>            <strong>$variant</strong>         
  <info>object</info>             <strong>$sink_object</strong>     <strong>$sink_object</strong> should be an instance of a class with methods
                                      named after those of the desired dispinterface; you may use
                                      <strong>com_print_typeinfo()</strong> to help generate a template class for
                                      this purpose.
  <info>array|string|null</info>  <strong>$sink_interface</strong>  PHP will attempt to use the default dispinterface type
                                      specified by the typelibrary associated with <strong>$variant</strong>, but you
                                      may override this choice by setting <strong>$sink_interface</strong> to the
                                      name of the dispinterface that you want to use.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>com_print_typeinfo()</strong>
   * <strong>com_message_pump()</strong>


id: com_get_active_object
type: function
doc:
<comment>Description:</comment>
  Returns a handle to an already running instance of a COM object
  
  <strong>com_get_active_object()</strong> is similar to creating a new instance of a  object, except that it will
  only return an object to your script if the object is already running. OLE applications use
  something known as the "<return>Running Object Table</return>" to allow well-known applications to be launched only
  once; this function exposes the COM library function GetActiveObject() to get a handle on a
  running instance.

<comment>Param:</comment>
  <info>string</info>    <strong>$prog_id</strong>   <strong>$prog_id</strong> must be either the ProgID or CLSID for the object that you want to
                       access (for example <return>Word.Application</return>).
  <info>int|null</info>  <strong>$codepage</strong>  Acts in precisely the same way that it does for the  class.

<comment>Return:</comment>
  <info>variant</info>  If the requested object is running, it will be returned to your script just like any
           other COM object.


id: com_load_typelib
type: function
doc:
<comment>Description:</comment>
  Loads a Typelib
  
  Loads a type-library and registers its constants in the engine, as though they were defined using
  <strong>define()</strong>.
  
  Note that it is much more efficient to use the com.typelib-file php.ini setting to pre-load and
  register the constants, although not so flexible.
  
  If com.autoregister-typelib is turned on, then PHP will attempt to automatically register the
  constants associated with a COM object when you instantiate it.  This depends on the interfaces
  provided by the COM object itself, and may not always be possible.

<comment>Param:</comment>
  <info>string</info>  <strong>$typelib</strong>           <strong>$typelib</strong> can be one of the following:  The filename of a <return>.tlb</return> file or
                             the executable module that contains the type library.  The type library
                             GUID, followed by its version number, for example
                             <return>{00000200-0000-0010-8000-00AA006D2EA4},2,0</return>.  The type library name,
                             e.g. <return>Microsoft OLE DB ActiveX Data Objects 1.0 Library</return>.  PHP will
                             attempt to resolve the type library in this order, as the process gets
                             more and more expensive as you progress down the list; searching for
                             the type library by name is handled by physically enumerating the
                             registry until we find a match.
                             
                             The filename of a <return>.tlb</return> file or the executable module that contains the
                             type library.
                             
                             The type library GUID, followed by its version number, for example
                             <return>{00000200-0000-0010-8000-00AA006D2EA4},2,0</return>.
                             
                             The type library name, e.g. <return>Microsoft OLE DB ActiveX Data Objects 1.0
                             Library</return>.
  <info>bool</info>    <strong>$case_insensitive</strong>  The <strong>$case_insensitive</strong> behaves inversely to the parameter
                             <return>$case_insensitive</return> in the <strong>define()</strong> function.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.


id: com_message_pump
type: function
doc:
<comment>Description:</comment>
  Process COM messages, sleeping for up to timeoutms milliseconds
  
  This function will sleep for up to <strong>$timeout_milliseconds</strong> milliseconds, or until a message arrives
  in the queue.
  
  The purpose of this function is to route COM calls between apartments and handle various
  synchronization issues.  This allows your script to wait efficiently for events to be triggered,
  while still handling other events or running other code in the background.  You should use it in a
  loop, as demonstrated by the example in the <strong>com_event_sink()</strong> function, until you are finished
  using event bound COM objects.

<comment>Param:</comment>
  <info>int</info>  <strong>$timeout_milliseconds</strong>  The timeout, in milliseconds.
                              
                              If you do not specify a value for <strong>$timeout_milliseconds</strong>, then 0 will
                              be assumed.  A 0 value means that no waiting will be performed; if
                              there are messages pending they will be dispatched as before; if there
                              are no messages pending, the function will return <info>false</info> immediately
                              without sleeping.

<comment>Return:</comment>
  <info>bool</info>  If a message or messages arrives before the timeout, they will be dispatched, and the
        function will return <info>true</info>. If the timeout occurs and no messages were processed, the return
        value will be <info>false</info>.


id: com_print_typeinfo
type: function
doc:
<comment>Description:</comment>
  Print out a PHP class definition for a dispatchable interface
  
  The purpose of this function is to help generate a skeleton class for use as an event sink.  You
  may also use it to generate a dump of any COM object, provided that it supports enough of the
  introspection interfaces, and that you know the name of the interface you want to display.

<comment>Param:</comment>
  <info>variant|string</info>  <strong>$variant</strong>             <strong>$variant</strong> should be either an instance of a COM object, or be
                                       the name of a typelibrary (which will be resolved according
                                       to the rules set out in <strong>com_load_typelib()</strong>).
  <info>string|null</info>     <strong>$dispatch_interface</strong>  The name of an <return>IDispatch</return> descendant interface that you want
                                       to display.
  <info>bool</info>            <strong>$display_sink</strong>        If set to <info>true</info>, the corresponding sink interface will be
                                       displayed instead.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>com_event_sink()</strong>
   * <strong>com_load_typelib()</strong>


id: compact
type: function
doc:
<comment>Description:</comment>
  Cria um array contendo variáveis e seus valores
  
  Cria um array contendo variáveis e seus valores.
  
  Para cada um dos parâmetros passados, <strong>compact()</strong> procura uma variável com o nome especificado na
  tabela de símbolos e a adiciona no array de saída de forma que o nome da variável será a chave e o
  seu conteúdo será o valor para esta chave. Em resumo, ela faz o oposto de <strong>extract()</strong>.
  
  Antes do PHP 7.3, quaisquer strings que não estão definidas serão silenciosamente ignoradas.

<comment>Param:</comment>
  <info>array|string</info>  <strong>$var_name</strong>  <strong>compact()</strong> recebe um número variável de parâmetros. Cada parâmetro pode
                           ser ou uma string contendo o nome da variável, ou um array de nomes de
                           variáveis. O array pode conter outros arrays de nomes de variáveis;
                           <strong>compact()</strong> o manipula recursivamente.

<comment>Return:</comment>
  <info>array</info>  Retorna a saída do array com todas as variáveis adicionadas a ele.

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


id: connection_aborted
type: function
doc:
<comment>Description:</comment>
  Verifica se o cliente está desconectado
  
  Verifica se o cliente está desconectado.

<comment>Return:</comment>
  <info>int</info>  Retorna 1 se o cliente está desconectado, 0 caso contrário.

<comment>See Also:</comment>
   * <strong>connection_status()</strong>
   * <strong>ignore_user_abort()</strong>
   * Tratamento de conexões
     para um descrição completa sobre tratamento de conexões no PHP.
    


id: connection_status
type: function
doc:
<comment>Description:</comment>
  Retorna o campo de bits do estado da conexão
  
  Obtém o campo de bits do estado da conexão.

<comment>Return:</comment>
  <info>int</info>  Retorna o campo de bits do estado da conexão, que pode ser confrontado com as constantes
       <return>CONNECTION_XXX</return> para determinar o estado da conexão.

<comment>See Also:</comment>
   * <strong>connection_aborted()</strong>
   * <strong>ignore_user_abort()</strong>
   * Manipulação de Conexões
     para uma descrição completa de manipulação de conexões no PHP.
    


id: constant
type: function
doc:
<comment>Description:</comment>
  Retorna o valor de uma constante
  
  Retorna o valor de uma constante indicada pelo parâmetro <strong>$name</strong>.
  
  A função <strong>constant()</strong> é útil se você precisa pegar o valor de uma constante, mas não sabe o seu
  nome. I.e. esta guardada em uma variável ou é retornada por uma função.
  
  Esta função funciona também com constantes de classes e casos de enumeração.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  O nome da constante.

<comment>Return:</comment>
  <info>mixed</info>  Retorna o valor da constante.

<comment>See Also:</comment>
   * <strong>define()</strong>
   * <strong>defined()</strong>
   * <strong>get_defined_constants()</strong>
   * A seção sobre Constantes


id: convert_cyr_string
type: function
doc:
<comment>Description:</comment>
  Converte de um conjunto de caracteres cirílico para outro
  
  Converte de um conjunto de caracteres cirílico para outro.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>   A string a ser convertida.
  <info>string</info>  <strong>$from</strong>  A fonte do conjunto de caracteres cirílico, como um único caractere.
  <info>string</info>  <strong>$to</strong>    O conjunto de caracteres cirílico alvo, como um único caractere.

<comment>Return:</comment>
  <info>string</info>  Retorna a string convertida.

<comment>See Also:</comment>
   * <strong>mb_convert_encoding()</strong>
   * <strong>iconv()</strong>


id: convert_uudecode
type: function
doc:
<comment>Description:</comment>
  Decodifica uma string codificada com uuencode
  
  <strong>convert_uudecode()</strong> decodifica uma string codificada com uuencode.
  
  <strong>convert_uudecode()</strong> não aceita a linha <return>begin</return> nem a linha <return>end</return>, que são parte dos arquivos
  codificados com uuencode.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Os dados codificados com uuencode.

<comment>Return:</comment>
  <info>string|false</info>  Retorna os dados decodificados como uma string  ou <info>false</info> em caso de falha.

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


id: convert_uuencode
type: function
doc:
<comment>Description:</comment>
  Codifica uma string com uuencode
  
  <strong>convert_uuencode()</strong> codifica uma string usando o algoritmo uuencode.
  
  Uuencode traduz toda string (incluindo dados binários) em caracteres imprimíveis, fazendo eles
  seguro para transmissão em rede. Dados uuencoded fica 35% maior que o original.
  
  <strong>convert_uuencode()</strong> não produz a linha <return>begin</return> nem a linha <return>end</return>, que são parte dos arquivos
  codificados com uuencode.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  A informação a ser codificada.

<comment>Return:</comment>
  <info>string</info>  Retorna os dados convertidos com uuencode.

<comment>See Also:</comment>
   * <strong>convert_uudecode()</strong>
   * <strong>base64_encode()</strong>


id: copy
type: function
doc:
<comment>Description:</comment>
  Copia arquivo
  
  Faz uma cópia do arquivo informado em <strong>$from</strong> para o arquivo informado em <strong>$to</strong>.
  
  Se o pretendido for mover um arquivo, utilize a função <strong>rename()</strong>.

<comment>Param:</comment>
  <info>string</info>         <strong>$from</strong>     Caminho para o arquivo de origem.
  <info>string</info>         <strong>$to</strong>       O caminho de destino. Se o parâmetro <strong>$to</strong> for uma URL, a operação de cópia
                           pode falhar se o empacotador não suportar a sobrescrita de arquivos
                           existentes.
                           
                           Se o arquivo de destino já existir, ele será sobrescrito.
  <info>resource|null</info>  <strong>$context</strong>  Um resource válido de contexto criado com <strong>stream_context_create()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>move_uploaded_file()</strong>
   * <strong>rename()</strong>
   * A seção do manual sobre Gerenciamento de envio de arquivos


id: cos
type: function
doc:
<comment>Description:</comment>
  Cosseno
  
  <strong>cos()</strong> retorna o cosseno do parâmetro <strong>$num</strong>. O parâmetro <strong>$num</strong> deve estar em radianos.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  Um ângulo em radianos

<comment>Return:</comment>
  <info>float</info>  O cosseno de <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>acos()</strong>
   * <strong>sin()</strong>
   * <strong>tan()</strong>
   * <strong>deg2rad()</strong>


id: cosh
type: function
doc:
<comment>Description:</comment>
  Cosseno hiperbólico
  
  Retorna o cosseno hiperbólico de <strong>$num</strong>, definido por <return>(exp($num) + exp(-$num))/2</return>.

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  O argumento a processar

<comment>Return:</comment>
  <info>float</info>  O cosseno hiperbólico de <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>cos()</strong>
   * <strong>acosh()</strong>
   * <strong>sinh()</strong>
   * <strong>tanh()</strong>


id: count
type: function
doc:
<comment>Description:</comment>
  Conta todos os elementos de um array ou de um objeto Countable
  
  Conta todos os elementos de um array quando usado com um array. Quando usado com um objeto que
  implementa a interface Countable, retorna o valor de retorno do método Countable::count.

<comment>Param:</comment>
  <info>Countable|array</info>  <strong>$value</strong>  Um array ou objeto Countable.
  <info>int</info>              <strong>$mode</strong>   Se o parâmetro opcional <strong>$mode</strong> for definido para <info>COUNT_RECURSIVE</info> (ou 1), a
                           função <strong>count()</strong> irá recursivamente contar o array. Isto é particularmente
                           útil para contar todos os elementos de um array multidimensional.
                           
                           <strong>count()</strong> pode detectar recursividade para evitar um loop infinito, mas irá
                           emitir um aviso <info>E_WARNING</info> cada vez que o fizer (caso o array contenha a
                           si mesmo mais de uma vez) e retornará uma contagem maior que a esperada.

<comment>Return:</comment>
  <info>int</info>  Retorna o número de elementos em <strong>$value</strong>. Antes do PHP 8.0.0, se o parâmetro não fosse um
       <info>array</info> nem um <info>object</info> que implementa a interface Countable, <return>1</return> seria retornado, a menos que
       <strong>$value</strong> fosse <info>null</info>, e neste caso <return>0</return> seria retornado.

<comment>See Also:</comment>
   * <strong>is_array()</strong>
   * <strong>isset()</strong>
   * <strong>empty()</strong>
   * <strong>strlen()</strong>
   * <strong>is_countable()</strong>
   * Arrays


id: count_chars
type: function
doc:
<comment>Description:</comment>
  Return information about characters used in a string
  
  Counts the number of occurrences of every byte-value (0..255) in <strong>$string</strong> and returns it in various
  ways.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The examined string.
  <info>int</info>     <strong>$mode</strong>    See return values.

<comment>Return:</comment>
  <info>array|string</info>  Depending on <strong>$mode</strong> <strong>count_chars()</strong> returns one of the following:  0 - an array with
                the byte-value as key and the frequency of every byte as value.  1 - same as 0 but
                only byte-values with a frequency greater than zero are listed.  2 - same as 0 but
                only byte-values with a frequency equal to zero are listed.  3 - a string containing
                all unique characters is returned.  4 - a string containing all not used characters
                is returned.
                
                0 - an array with the byte-value as key and the frequency of every byte as value.
                
                1 - same as 0 but only byte-values with a frequency greater than zero are listed.
                
                2 - same as 0 but only byte-values with a frequency equal to zero are listed.
                
                3 - a string containing all unique characters is returned.
                
                4 - a string containing all not used characters is returned.

<comment>See Also:</comment>
   * <strong>strpos()</strong>
   * <strong>substr_count()</strong>


id: crc32
type: function
doc:
<comment>Description:</comment>
  Calcula polinômio crc32 de uma string
  
  Gera a soma de verificação de redundância cíclica de 32-bits de comprimento da <strong>$string</strong>. É usado
  geralmente para validar a integridade de um dado sendo transferido.
  
  Pelo fato do tipo inteiro do PHP ser com sinal, muitas somas de verificação crc32 resultarão em
  inteiros negativos em plataformas de 32 bits. Em instalações de 64 bits todos os resultados de
  <strong>crc32()</strong> serão inteiros positivos.
  
  Por isso, é necessário usar o formatador "%u" da função <strong>sprintf()</strong> ou <strong>printf()</strong> para obter a
  representação em string da soma de verificação sem sinal da função <strong>crc32()</strong> em formato decimal.
  
  Para uma representação hexadecimal da soma de verificação, pode-se usar tanto o formatador "%x" de
  <strong>sprintf()</strong> ou <strong>printf()</strong> quanto as funções de conversão <strong>dechex()</strong>, ambas destas soluções também tomam
  o cuidado de converter o resultado de <strong>crc32()</strong> para um inteiro sem sinal.
  
  Foi considerado que instalações de 64 bits também retornassem inteiros negativos para valores mais
  altos de resultados, porém isto iria quebrar a conversão para hexadecimal, já que os negativos
  teriam um deslocamento extra de 0xFFFFFFFF######## neste caso. Como a representação hexadecimal
  parece ser o uso de caso mais comum, decidiu-se não quebrar esta conversão mesmo que ela quebre
  comparações diretas em decimal em aproximadamente 50% dos casos ao mover de 32 para 64 bits.
  
  Em retrospecto, fazer com que a função retornasse um inteiro talvez não tenha sido a melhor ideia,
  e retornar uma representação hexadecimal em string diretamente (como, por exemplo, a função <strong>md5()</strong>
  faz) poderia ter sido um plano melhor para se começar.
  
  Para uma solução mais portável, pode-se considerar a função genérica <strong>hash()</strong>. hash("crc32b", $str)
  retornará a mesma string que str_pad(dechex(crc32($str)), 8, '0', STR_PAD_LEFT).

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Os dados.

<comment>Return:</comment>
  <info>int</info>  Retorna a soma de verificação crc32 da <strong>$string</strong> como um inteiro.

<comment>See Also:</comment>
   * <strong>hash()</strong>
   * <strong>md5()</strong>
   * <strong>sha1()</strong>


id: create_function
type: function
doc:
<comment>Description:</comment>
  Cria uma função dinamicamente avaliando uma string de código
  
  Cria uma função dinamicamente a partir dos parâmetros passados e retorna um nome único para ela.
  
  Essa funcão executa um <strong>eval()</strong> internamente e, por isso, tem os mesmos problemas de segurança de
  <strong>eval()</strong>. Além disso, ela tem características ruins de desempenho e uso de memória, porque as
  funções criadas são globais e não podem ser liberadas da memória.
  
  Uma função anônima nativa deve ser utilizada alternativamente.

<comment>Param:</comment>
  <info>string</info>  <strong>$args</strong>  Os argumentos da função, em uma string única, separados por vírgulas.
  <info>string</info>  <strong>$code</strong>  O código da função.

<comment>Return:</comment>
  <info>string</info>  Retorna um nome de função único como uma string,  ou <info>false</info> em caso de falha. Note que o
          nome contém um caractere não imprimível (<return>"\0"</return>), portanto deve-se tomar cuidado ao imprimir
          o nome ou incorporá-lo em qualquer outra string.

<comment>See Also:</comment>
   * Funções anônimas


id: crypt
type: function
doc:
<comment>Description:</comment>
  One-way string hashing
  
  <strong>crypt()</strong> will return a hashed string using the standard Unix DES-based algorithm or alternative
  algorithms. <strong>password_verify()</strong> is compatible with <strong>crypt()</strong>. Therefore, password hashes created by
  <strong>crypt()</strong> can be used with <strong>password_verify()</strong>.
  
  Prior to PHP 8.0.0, the <strong>$salt</strong> parameter was optional. However, <strong>crypt()</strong> creates a weak hash without
  the <strong>$salt</strong>, and raises an <info>E_NOTICE</info> error without it. Make sure to specify a strong enough salt for
  better security.
  
  <strong>password_hash()</strong> uses a strong hash, generates a strong salt, and applies proper rounds
  automatically. <strong>password_hash()</strong> is a simple <strong>crypt()</strong> wrapper and compatible with existing password
  hashes. Use of <strong>password_hash()</strong> is encouraged.
  
  The hash type is triggered by the salt argument. If no salt is provided, PHP will auto-generate
  either a standard two character (DES) salt, or a twelve character (MD5), depending on the
  availability of MD5 crypt().  PHP sets a constant named <info>CRYPT_SALT_LENGTH</info> which indicates the
  longest valid salt allowed by the available hashes.
  
  The standard DES-based <strong>crypt()</strong> returns the salt as the first two characters of the output. It also
  only uses the first eight characters of <strong>$string</strong>, so longer strings that start with the same eight
  characters will generate the same result (when the same salt is used).
  
  The following hash types are supported:
  
  <info>CRYPT_STD_DES</info> - Standard DES-based hash with a two character salt from the alphabet "./0-9A-Za-z".
  Using invalid characters in the salt will cause crypt() to fail.
  
  <info>CRYPT_EXT_DES</info> - Extended DES-based hash. The "salt" is a 9-character string consisting of an
  underscore followed by 4 characters of iteration count and 4 characters of salt. Each of these
  4-character strings encode 24 bits, least significant character first. The values <return>0</return> to <return>63</return> are
  encoded as <return>./0-9A-Za-z</return>. Using invalid characters in the salt will cause crypt() to fail.
  
  <info>CRYPT_MD5</info> - MD5 hashing with a twelve character salt starting with $1$
  
  <info>CRYPT_BLOWFISH</info> - Blowfish hashing with a salt as follows: "$2a$", "$2x$" or "$2y$", a two digit
  cost parameter, "$", and 22 characters from the alphabet "./0-9A-Za-z". Using characters outside
  of this range in the salt will cause crypt() to return a zero-length string. The two digit cost
  parameter is the base-2 logarithm of the iteration count for the underlying Blowfish-based hashing
  algorithm and must be in range 04-31, values outside this range will cause crypt() to fail. "$2x$"
  hashes are potentially weak; "$2a$" hashes are compatible and mitigate this weakness. For new
  hashes, "$2y$" should be used.
  
  <info>CRYPT_SHA256</info> - SHA-256 hash with a sixteen character salt prefixed with $5$. If the salt string
  starts with 'rounds=\<N&gt;$', the numeric value of N is used to indicate how many times the hashing loop should be executed, much like the cost parameter on Blowfish. The default number of rounds is 5000, there is a minimum of 1000 and a maximum of 999,999,999. Any selection of N outside this range will be truncated to the nearest limit.
  
  <info>CRYPT_SHA512</info> - SHA-512 hash with a sixteen character salt prefixed with $6$. If the salt string
  starts with 'rounds=\<N&gt;$', the numeric value of N is used to indicate how many times the hashing loop should be executed, much like the cost parameter on Blowfish. The default number of rounds is 5000, there is a minimum of 1000 and a maximum of 999,999,999. Any selection of N outside this range will be truncated to the nearest limit.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The string to be hashed.
                   
                   Using the <info>CRYPT_BLOWFISH</info> algorithm, will result in the <strong>$string</strong> parameter being
                   truncated to a maximum length of 72 bytes.
  <info>string</info>  <strong>$salt</strong>    A salt string to base the hashing on. If not provided, the behaviour is defined
                   by the algorithm implementation and can lead to unexpected results.

<comment>Return:</comment>
  <info>string</info>  Returns the hashed string or a string that is shorter than 13 characters and is guaranteed
          to differ from the salt on failure.
          
          When validating passwords, a string comparison function that isn't vulnerable to timing
          attacks should be used to compare the output of <strong>crypt()</strong> to the previously known hash. PHP
          provides <strong>hash_equals()</strong> for this purpose.

<comment>See Also:</comment>
   * <strong>hash_equals()</strong>
   * <strong>password_hash()</strong>
   * The Unix man page for your crypt function for more information


id: ctype_alnum
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres são alfanuméricos
  
  Verifica se todos os caracteres na <info>string</info> fornecida, <strong>$text</strong>, são alfanuméricos.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos os caracteres em <strong>$text</strong> são letra ou dígito, <info>false</info> caso contrário.
        Quando chamada com uma string vazia, o resultado sempre será <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_alpha()</strong>
   * <strong>ctype_digit()</strong>
   * <strong>setlocale()</strong>
   * <strong>IntlChar::isalnum()</strong>


id: ctype_alpha
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres são alfabéticos
  
  Verifica se todos os caracteres na <info>string</info> fornecida, <strong>$text</strong>, são alfabéticos. No padrão <return>C</return> locale
  letras são <return>[A-Za-z]</return> e <strong>ctype_alpha()</strong> é equivalente a <return>(ctype_upper($text) || ctype_lower($text))</return> se
  $text é um único caractere, mas outras linguagens possuem letras que não são considerada nem
  maiúscula nem minúscula.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos caracteres em <strong>$text</strong> é uma letra do atual locale, <info>false</info> caso contrário.
        Quando chamada com uma string vazia, o resultado sempre será <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_upper()</strong>
   * <strong>ctype_lower()</strong>
   * <strong>setlocale()</strong>
   * <strong>IntlChar::isalpha()</strong>


id: ctype_cntrl
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres são de controle
  
  Verifica se todos os caracteres na <info>string</info> fornecedia, <strong>$text</strong>, são caracteres de controle.
  Caracteres de controle são e.g. line feed, tab, escape.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos caracteres em <strong>$text</strong> são caracteres de controle do atual locale, <info>false</info>
        caso contrário. Quando chamada com uma string vazia, o resultado sempre será <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_print()</strong>
   * <strong>IntlChar::iscntrl()</strong>


id: ctype_digit
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres são numéricos
  
  Verifica se todos os caracteres na <info>string</info> fornecida, <strong>$text</strong>, são numéricos.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos caracteres na string <strong>$text</strong> são dígitos decimais, <info>false</info> caso contrário.
        Quando chamada com uma string vazia, o resultado sempre será <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_alnum()</strong>
   * <strong>ctype_xdigit()</strong>
   * <strong>is_numeric()</strong>
   * <strong>is_int()</strong>
   * <strong>is_string()</strong>
   * <strong>IntlChar::isdigit()</strong>


id: ctype_graph
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres são imprimíveis exceto espaço
  
  Verifica se todos os caracteres na <info>string</info> fornecida, <strong>$text</strong>, são visíveis.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos caracteres em <strong>$text</strong> são imprimíveis e criam uma saída visível (sem
        white space), <info>false</info> caso contrário. Quando chamada com uma string vazia, o resultado sempre
        será <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_alnum()</strong>
   * <strong>ctype_print()</strong>
   * <strong>ctype_punct()</strong>
   * <strong>IntlChar::isgraph()</strong>


id: ctype_lower
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres estão minúsculos
  
  Verifica se todos os caracteres na <info>string</info> fornecida, <strong>$text</strong>, são letras minúsculas.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos caracteres em <strong>$text</strong> é uma letra minúscula no atual locale. Quando
        chamada com uma string vazia, o resultado sempre será <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_alpha()</strong>
   * <strong>ctype_upper()</strong>
   * <strong>setlocale()</strong>
   * <strong>IntlChar::islower()</strong>


id: ctype_print
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres são imprimíveis
  
  Verifica se todos os caracteres na <info>string</info> fornecida, <strong>$text</strong>, são imprimíveis.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos caracteres em <strong>$text</strong> irá produzir saída (incluindo em branco). Retorna
        <info>false</info> se <strong>$text</strong> contem caracteres de controle ou caracteres que não tem uma saída ou funções
        de controle inteiramente. Quando chamada com uma string vazia, o resultado sempre será
        <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_cntrl()</strong>
   * <strong>ctype_graph()</strong>
   * <strong>ctype_punct()</strong>
   * <strong>IntlChar::isprint()</strong>


id: ctype_punct
type: function
doc:
<comment>Description:</comment>
  Verifica se é um caractere imprimível que não é whitespace ou alfanumério
    
  
  Verifica se todos os caracteres da <info>string</info> fornecida, <strong>$text</strong>, são caracteres de pontuação.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se cada caractere em <strong>$text</strong> é imprimível, não sendo letra, dígito ou espaço em
        branco, <info>false</info> caso contrário. Quando chamada com uma string vazia, o resultado sempre será
        <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_cntrl()</strong>
   * <strong>ctype_graph()</strong>
   * <strong>IntlChar::ispunct()</strong>


id: ctype_space
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres são whitespace
  
  Verifica se todos os caracteres na <info>string</info> fornecida, <strong>$text</strong>, são whitespace.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos caracteres em <strong>$text</strong> são white space, <info>false</info> caso contrário. Além de
        caracteres em branco isto também inclui os caracteres tab, vertical tab, line feed, carriage
        return e form feed. Quando chamada com uma string vazia, o resultado sempre será <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_cntrl()</strong>
   * <strong>ctype_graph()</strong>
   * <strong>ctype_punct()</strong>
   * <strong>IntlChar::isspace()</strong>


id: ctype_upper
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres são maiúsculos
  
  Verifica se todos os caracteres na <info>string</info> fornecida, <strong>$text</strong>, são maiúsculos.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos caracteres em <strong>$text</strong> é uma letra maiúscula no locale atual. Quando
        chamada com uma string vazia, o resultado sempre será <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_alpha()</strong>
   * <strong>ctype_lower()</strong>
   * <strong>setlocale()</strong>
   * <strong>IntlChar::isupper()</strong>


id: ctype_xdigit
type: function
doc:
<comment>Description:</comment>
  Verifica se os caracteres representam um dígito hexadecimal
    
  
  Verifica se todos os caracteres na <info>string</info> fornecida, <strong>$text</strong>, são 'dígitos' hexadecimal.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$text</strong>  A string a ser testada. 
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro. 
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.
                
                Se um <info>int</info> entre -128 e 255 inclusive for fornecido, ele será interpretado como
                o valor ASCII de um único caractere (valores negativos são somados a 256 para
                permitir
                caracteres no intervalo ASCII estendido). Qualquer outro inteiro será interpretado
                como uma string
                contendo os dígitos decimais do inteiro.
                
                A partir do PHP 8.1.0, passar um argumento que não seja string tornou-se obsoleto.
                No futuro, o argumento será interpretado como uma string em vez de um ponto de
                código ASCII.
                Dependendo do comportamento esperado, o argumento deve ser convertido para <info>string</info>
                ou uma chamada explícita para <strong>chr()</strong> deve ser feita.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> se todos caracteres em <strong>$text</strong> é um 'dígito' hexadecimal, que é um dígito ou um
        caractere de <return>[A-Fa-f]</return>, <info>false</info> caso contrário. Quando chamada com uma string vazia, o
        resultado sempre será <info>false</info>.

<comment>See Also:</comment>
   * <strong>ctype_digit()</strong>
   * <strong>IntlChar::isxdigit()</strong>


id: cubrid_affected_rows
type: function
doc:
<comment>Description:</comment>
  Return the number of rows affected by the last SQL statement
  
  The <strong>cubrid_affected_rows()</strong> function is used to get the number of rows affected by the SQL
  statement (INSERT, DELETE, UPDATE).

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection. If the connection identifier is not specified,
                              the last link opend by <strong>cubrid_connect()</strong> is assumed.
  <info>resource</info>  <strong>$req_identifier</strong>   Request Identifier, could be returned from either <strong>cubrid_prepare()</strong> or
                              <strong>cubrid_execute()</strong>.  If the request identifier is not specified, the
                              last identifier requested by  <strong>cubrid_prepare()</strong> or <strong>cubrid_execute()</strong> is
                              assumed.

<comment>Return:</comment>
  <info>int</info>  Number of rows affected by the SQL statement, when process is successful.
       
       -1, when SQL statement is not INSERT, DELETE or UPDATE.
       
       <info>false</info>, when the request identifier is not specified, and there is no last request.

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


id: cubrid_bind
type: function
doc:
<comment>Description:</comment>
  Bind variables to a prepared statement as parameters
  
  The <strong>cubrid_bind()</strong> function is used to bind values to a corresponding named or question mark
  placeholder in the SQL statement that was passed to <strong>cubrid_prepare()</strong>. If <strong>$bind_value_type</strong> is not
  given, string will be the default.
  
  If the type of data to be bound is BLOB/CLOB, CUBRID will try to map the data as a PHP stream. If
  the actually bind value type is not stream, CUBRID will convert it to string, and use it as the
  full path and file name of a file on the client filesystem.
  
  If the type of data to be bound explicitly is ENUM, the <strong>$bind_value</strong> argument should be the enum
  element which is in string format.
  
  In CUBRID shard envrioment, the <strong>$bind_value_type</strong> must be included in  the <strong>cubrid_bind()</strong> function.
  
  The following table shows the types of substitute values.
  
  CUBRID Bind Date TypesSupportBind TypeCorresponding SQL TypeSupportedSTRINGCHAR,
  VARCHARNCHARNCHAR, NVARCHARBITBIT, VARBITNUMERIC or NUMBERSHORT, INT,
  NUMERICFLOATFLOATDOUBLEDOUBLETIMETIMEDATEDATETIMESTAMPTIMESTAMPOBJECTOBJECTENUMENUMBLOBBLOBCLOBCLOBNULLNULLNot
  supportedSETSETMULTISETMULTISETSEQUENCESEQUENCE

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>   Request identifier as a result of <strong>cubrid_prepare()</strong>.
  <info>int</info>       <strong>$bind_index</strong>       Location of binding parameters. It starts with 1.
  <info>mixed</info>     <strong>$bind_value</strong>       Actual value for binding.
  <info>string</info>    <strong>$bind_value_type</strong>  A type of the value to bind. (It is omitted by default. Thus, the
                              system internally uses string by default. However, you need to specify
                              the exact type of the value as an argument when they are NCHAR, BIT,
                              or BLOB/CLOB).

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_prepare()</strong>


id: cubrid_client_encoding
type: function
doc:
<comment>Description:</comment>
  Return the current CUBRID connection charset
  
  This function returns the current CUBRID connection charset and is similar to the CUBRID function
  <strong>cubrid_get_charset()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection. If the connection identifier is not specified,
                              the last link opened by <strong>cubrid_connect()</strong> is assumed.

<comment>Return:</comment>
  <info>string</info>  A string that represents the CUBRID connection charset; on success.
          
          <info>false</info> on failure.

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


id: cubrid_close
type: function
doc:
<comment>Description:</comment>
  Close CUBRID connection
  
  The <strong>cubrid_close()</strong> function ends the transaction currently in process, closes the connection
  handle and disconnects from server. If there is any request handles not closed yet at this point,
  they will be closed. It is similar to the CUBRID function <strong>cubrid_disconnect()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection identifier. If the connection identifier is not
                              specified, the last connection opened by <strong>cubrid_connect()</strong> is assumed.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info>, when process is successful.
        
        <info>false</info>, when process is unsuccessful.

<comment>See Also:</comment>
   * <strong>cubrid_disconnect()</strong>
   * <strong>cubrid_connect()</strong>
   * <strong>cubrid_connect_with_url()</strong>


id: cubrid_close_prepare
type: function
doc:
<comment>Description:</comment>
  Close the request handle 
  
  The <strong>cubrid_close_prepare()</strong> function closes the request handle given by the <strong>$req_identifier</strong>
  argument, and releases the memory region related to the handle. It is an alias of
  <strong>cubrid_close_request()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>  Request identifier.

<comment>Return:</comment>
  <info>bool</info>  Return <info>true</info> on success.

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


id: cubrid_close_request
type: function
doc:
<comment>Description:</comment>
  Close the request handle 
  
  The <strong>cubrid_close_request()</strong> function closes the request handle given by the <strong>$req_identifier</strong>
  argument, and releases the memory region related to the handle. It is an alias of
  <strong>cubrid_close_prepare()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>  Request identifier.

<comment>Return:</comment>
  <info>bool</info>  Return <info>true</info> on success.

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


id: cubrid_col_get
type: function
doc:
<comment>Description:</comment>
  Get contents of collection type column using OID
  
  The <strong>cubrid_col_get()</strong> function is used to get contents of the elements of the collection type (set,
  multiset, sequence) attribute you requested as an array.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance that you want to read.
  <info>string</info>    <strong>$attr_name</strong>        Attribute name that you want to read from the instance.

<comment>Return:</comment>
  <info>array</info>  Array (0-based numerical array) containing the elements you requested, when process is
         successful;
         
         <info>false</info> (to distinguish the error from the situation of attribute having empty collection or
         NULL, in case of error, a warning message is shown; in such case you can check the error by
         using <strong>cubrid_error_code()</strong>), when process is unsuccessful.


id: cubrid_col_size
type: function
doc:
<comment>Description:</comment>
  Get the number of elements in collection type column using OID
  
  The <strong>cubrid_col_size()</strong> function is used to get the number of elements in a collection type (set,
  multiset, sequence) attribute.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID the instance that you want to work with.
  <info>string</info>    <strong>$attr_name</strong>        Name of the attribute that you want to work with.

<comment>Return:</comment>
  <info>int</info>  Number of elements, when process is successful, ou <info>false</info> em caso de falha.


id: cubrid_column_names
type: function
doc:
<comment>Description:</comment>
  Get the column names in result
  
  The <strong>cubrid_column_names()</strong> function is used to get the column names of the query result by using
  <strong>$req_identifier</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>  Request identifier.

<comment>Return:</comment>
  <info>array</info>  Array of string values containing the column names, when process is successful, ou <info>false</info> em
         caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_prepare()</strong>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_column_types()</strong>


id: cubrid_column_types
type: function
doc:
<comment>Description:</comment>
  Get column types in result
  
  The <strong>cubrid_column_types()</strong> function gets column types of query results by using <strong>$req_identifier</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>  Request identifier.

<comment>Return:</comment>
  <info>array</info>  Array of string values containing the column types, when process is successful, ou <info>false</info> em
         caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_column_names()</strong>
   * <strong>cubrid_prepare()</strong>
   * <strong>cubrid_execute()</strong>


id: cubrid_commit
type: function
doc:
<comment>Description:</comment>
  Commit a transaction
  
  The <strong>cubrid_commit()</strong> function is used to execute commit on the transaction pointed by
  <strong>$conn_identifier</strong>, currently in progress. Connection to the server is closed after the
  <strong>cubrid_commit()</strong> function is called; However,  the connection handle is still valid.
  
  In CUBRID PHP, auto-commit mode is disabled by default for transaction management.  You can set it
  by using <strong>cubrid_set_autocommit()</strong>.  You can get its status by using <strong>cubrid_get_autocommit()</strong>. Before
  you start a transaction,  remember to disable the auto-commit mode.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_rollback()</strong>
   * <strong>cubrid_get_autocommit()</strong>
   * <strong>cubrid_set_autocommit()</strong>


id: cubrid_connect
type: function
doc:
<comment>Description:</comment>
  Open a connection to a CUBRID Server
  
  The <strong>cubrid_connect()</strong> function is used to establish the environment for connecting to your server
  by using your server address, port number, database name, user name, and password. If the user
  name and password is not given, then the "PUBLIC" connection will be made by default.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>      Host name or IP address of CUBRID CAS server.
  <info>int</info>     <strong>$port</strong>      Port number of CUBRID CAS server (BROKER_PORT configured in
                     $CUBRID/conf/cubrid_broker.conf).
  <info>string</info>  <strong>$dbname</strong>    Name of database.
  <info>string</info>  <strong>$userid</strong>    User name for the database. If not given, the default value is "public".
  <info>string</info>  <strong>$passwd</strong>    User password. If not given, the default value is "".
  <info>bool</info>    <strong>$new_link</strong>  If a second call is made to <strong>cubrid_connect()</strong> with the same arguments, no new
                     connection will be established, but instead, the connection identifier of the
                     already opened connection will be returned. The <strong>$new_link</strong> parameter modifies
                     this behavior and makes <strong>cubrid_connect()</strong> always open a new connection, even if
                     <strong>cubrid_connect()</strong> was called before with the same parameters.

<comment>Return:</comment>
  <info>resource</info>  Connection identifier, when process is successful, ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_pconnect()</strong>
   * <strong>cubrid_connect_with_url()</strong>
   * <strong>cubrid_pconnect_with_url()</strong>
   * <strong>cubrid_disconnect()</strong>
   * <strong>cubrid_close()</strong>


id: cubrid_connect_with_url
type: function
doc:
<comment>Description:</comment>
  Establish the environment for connecting to CUBRID server
  
  The <strong>cubrid_connect_with_url()</strong> function is used to establish the environment for connecting to your
  server by using connection information passed with an url string argument. If the HA feature is
  enabled in CUBRID, you must specify the connection information of the standby server, which is
  used for failover when failure occurs, in the url string argument of this function. If the user
  name and password is not given, then the "PUBLIC" connection will be made by default.
  
  \<url&gt; ::= CUBRID:\<host&gt;:\<db_name&gt;:\<db_user&gt;:\<db_password&gt;:[?\<properties&gt;]
  
  \<properties&gt; ::= \<property&gt; [&\<property&gt;]
  
  \<properties&gt; ::= alhosts=\<alternative_hosts&gt;[ &rctime=\<time&gt;]
  
  \<properties&gt; ::= login_timeout=\<milli_sec&gt;
  
  \<properties&gt; ::= query_timeout=\<milli_sec&gt;
  
  \<properties&gt; ::= disconnect_on_query_timeout=true|false
  
  \<alternative_hosts&gt; ::= \<standby_broker1_host&gt;:\<port&gt; [,\<standby_broker2_host&gt;:\<port&gt;]
  
  \<host&gt; := HOSTNAME | IP_ADDR
  
  \<time&gt; := SECOND
  
  \<milli_sec&gt; := MILLI SECOND
  
  host : A host name or IP address of the master databasedb_name : A name of the databasedb_user : A
  name of the database userdb_password : A database user password alhosts : Specifies the broker
  information of the standby server, which is used for failover when it is impossible to connect to
  the active server.  You can specify multiple brokers for failover, and the connection to the
  brokers is attempted in the order listed in alhosts rctime : An interval between the attempts to
  connect to the active broker in which failure occurred. After a failure occurs, the system
  connects to the  broker specified by althosts (failover), terminates the transaction, and then
  attempts to connect to the active broker of the master database at every rctime.  The default
  value is 600 seconds. login_timeout : Timeout value (unit: msec.) for database login. The default
  value is 0, which means infinite postponement.  query_timeout : Timeout value (unit: msec.) for
  query request. Upon timeout, a message to cancel requesting a query transferred to server is sent.
  The return  value can depend on the disconnect_on_query_timeout configuration; even though the
  message to cancel a request is sent to server, that request may succeed.
  disconnect_on_query_timeout : Configures a value whether to immediately return an error of
  function being executed upon timeout. The default value is false.
  
  <return>?</return> and <return>:</return> that are used as identifiers in PHP connection URL can't be included in the password. The
  following is an example of a password that is invalid to use as connection URL because it contains
  "<return>?:</return>".
  
  $url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";
  
  Passwords that contain <return>?</return> or <return>:</return> may be passed as a separate parameter.
  
  $url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";
  
  $conn = cubrid_connect_with_url($url, "dba", "12?");
  
  If user or password is empty,you can't delete "<return>:</return>",the following is an example.
  
  $url = "CUBRID:localhost:33000:demodb:::";

<comment>Param:</comment>
  <info>string</info>  <strong>$conn_url</strong>  A character string that contains server connection information.
  <info>string</info>  <strong>$userid</strong>    User name for the database.
  <info>string</info>  <strong>$passwd</strong>    User password.
  <info>bool</info>    <strong>$new_link</strong>  If a second call is made to <strong>cubrid_connect_with_url()</strong> with the same arguments,
                     no new connection will be established, but instead, the connection identifier
                     of the already opened connection will be returned. The <strong>$new_link</strong> parameter
                     modifies this behavior and makes <strong>cubrid_connect_with_url()</strong> always open a new
                     connection, even if <strong>cubrid_connect_with_url()</strong> was called before with the same
                     parameters.

<comment>Return:</comment>
  <info>resource</info>  Connection identifier, when process is successful, ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_connect()</strong>
   * <strong>cubrid_pconnect()</strong>
   * <strong>cubrid_pconnect_with_url()</strong>
   * <strong>cubrid_disconnect()</strong>
   * <strong>cubrid_close()</strong>


id: cubrid_current_oid
type: function
doc:
<comment>Description:</comment>
  Get OID of the current cursor location
  
  The <strong>cubrid_current_oid()</strong> function is used to get the oid of the current cursor location from the
  query result.  To use <strong>cubrid_current_oid()</strong>, the query executed must be a updatable query, and the
  <info>CUBRID_INCLUDE_OID</info> option must be included during the query execution.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>  Request identifier.

<comment>Return:</comment>
  <info>string</info>  Oid of current cursor location, when process is successful, ou <info>false</info> em caso de falha.

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


id: cubrid_data_seek
type: function
doc:
<comment>Description:</comment>
  Move the internal row pointer of the CUBRID result
  
  This function performs the moving of the internal row pointer of the CUBRID result (associated
  with the specified result identifier) to point to a specific row number. There are functions, such
  as <strong>cubrid_fetch_assoc()</strong>, which use the current stored value of <strong>$row number</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>      The result.
  <info>int</info>       <strong>$row_number</strong>  This is the desired row number of the new result pointer.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.


id: cubrid_db_name
type: function
doc:
<comment>Description:</comment>
  Get db name from results of cubrid_list_dbs
  
  Retrieve the database name from a call to <strong>cubrid_list_dbs()</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$result</strong>  The result pointer from a call to <strong>cubrid_list_dbs()</strong>.
  <info>int</info>    <strong>$index</strong>   The index into the result set.

<comment>Return:</comment>
  <info>string</info>  Returns the database name on success, and <info>false</info> on failure. If <info>false</info> is returned, use
          <strong>cubrid_error()</strong> to determine the nature of the error.

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


id: cubrid_disconnect
type: function
doc:
<comment>Description:</comment>
  Close a database connection
  
  The <strong>cubrid_disconnect()</strong> function closes the connection handle and disconnects from server. If any
  request handle is not closed at this point,  it will be closed. It is similar to the CUBRID MySQL
  compatible function <strong>cubrid_close()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_close()</strong>
   * <strong>cubrid_connect()</strong>
   * <strong>cubrid_connect_with_url()</strong>


id: cubrid_drop
type: function
doc:
<comment>Description:</comment>
  Delete an instance using OID
  
  The <strong>cubrid_drop()</strong> function is used to delete an instance from database by using the <strong>$oid</strong> of the
  instance.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              Oid of the instance that you want to delete.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: cubrid_errno
type: function
doc:
<comment>Description:</comment>
  Return the numerical value of the error message from previous CUBRID operation
  
  Returns the error number from the last CUBRID function.
  
  The <strong>cubrid_errno()</strong> function is used to get the error code of the error that occurred during the
  API execution.  Usually, it gets the error code when API returns false as its return value.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection identifier. If the connection identifier is not
                              specified, the last connection opened by <strong>cubrid_connect()</strong> is assumed.

<comment>Return:</comment>
  <info>int</info>  Returns the error number from the last CUBRID function, or <return>0</return> (zero) if no error occurred.

<comment>See Also:</comment>
   * <strong>cubrid_error()</strong>
   * <strong>cubrid_error_code()</strong>
   * <strong>cubrid_error_msg()</strong>


id: cubrid_error
type: function
doc:
<comment>Description:</comment>
  Get the error message
  
  The <strong>cubrid_error()</strong> function is used to get the error message that occurred during the use of
  CUBRID API. Usually, it gets error message when API returns false as its return value.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  The CUBRID connection.

<comment>Return:</comment>
  <info>string</info>  Error message that occurred.

<comment>See Also:</comment>
   * <strong>cubrid_errno()</strong>
   * <strong>cubrid_error_code()</strong>
   * <strong>cubrid_error_msg()</strong>


id: cubrid_error_code
type: function
doc:
<comment>Description:</comment>
  Get error code for the most recent function call
  
  The <strong>cubrid_error_code()</strong> function is used to get the error code of the error that occurred during
  the API execution. Usually, it gets the error code when API returns false as its return value.

<comment>Return:</comment>
  <info>int</info>  Error code of the error that occurred, or <return>0</return> (zero) if no error occurred.

<comment>See Also:</comment>
   * <strong>cubrid_error_code_facility()</strong>
   * <strong>cubrid_error_msg()</strong>


id: cubrid_error_code_facility
type: function
doc:
<comment>Description:</comment>
  Get the facility code of error
  
  The <strong>cubrid_error_code_facility()</strong> function is used to get the facility code (level in which the
  error occurred) from the error code of the error that occurred during the API execution. Usually,
  you can get the error code when API returns false as its return value.

<comment>Return:</comment>
  <info>int</info>  Facility code of the error code that occurred:  <info>CUBRID_FACILITY_DBMS</info>, <info>CUBRID_FACILITY_CAS</info>,
       <info>CUBRID_FACILITY_CCI</info>, <info>CUBRID_FACILITY_CLIENT</info>.

<comment>See Also:</comment>
   * <strong>cubrid_error_code()</strong>
   * <strong>cubrid_error_msg()</strong>


id: cubrid_error_msg
type: function
doc:
<comment>Description:</comment>
  Get last error message for the most recent function call
  
  The <strong>cubrid_error_msg()</strong> function is used to get the error message that occurred during the use of
  CUBRID API. Usually, it gets error message when API returns false as its return value.

<comment>Return:</comment>
  <info>string</info>  Error message that occurred.

<comment>See Also:</comment>
   * <strong>cubrid_error_code()</strong>
   * <strong>cubrid_error_code_facility()</strong>


id: cubrid_execute
type: function
doc:
<comment>Description:</comment>
  Execute a prepared SQL statement
  
  The <strong>cubrid_execute()</strong> function is used to execute the given SQL statement. It executes the query by
  using <strong>$conn_identifier</strong> and SQL, and then returns the request identifier created. It is used for
  simple execution of query, where the parameter binding is not needed. In addition, the
  <strong>cubrid_execute()</strong> function is used to execute the prepared statement by means of <strong>cubrid_prepare()</strong>
  and <strong>cubrid_bind()</strong>. At this time, you need to specify arguments of <strong>$request_identifier</strong> and <strong>$option</strong>.
  
  The <strong>$option</strong> is used to determine whether to get OID after query execution and whether to execute
  the query in synchronous or asynchronous mode. <info>CUBRID_INCLUDE_OID</info> and <info>CUBRID_ASYNC</info> (or
  <info>CUBRID_EXEC_QUERY_ALL</info> if you want to execute multiple SQL statements) can be specified by using a
  bitwise OR operator. If not specified, neither of them isselected. If the flag
  <info>CUBRID_EXEC_QUERY_ALL</info> is set, a synchronous mode (sync_mode) is used to retrieve query results,
  and in such cases the following rules are applied:
  
  The return value is the result of the first query. If an error occurs in any query, the execution
  is processed as a failure.  In a query composed of q1 q2 q3, if an error occurs in q2 after q1
  succeeds the execution, the result of q1 remains valid. That is, the previous successful query
  executions are not rolled back when an error occurs.  If a query is executed successfully, the
  result of the second query can be obtained using <strong>cubrid_next_result()</strong>.
  
  If the first argument is <strong>$request_identifier</strong> to execute the <strong>cubrid_prepare()</strong> function, you can
  specify an option, <info>CUBRID_ASYNC</info> only.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>     Connection identifier.
  <info>string</info>    <strong>$sql</strong>                 SQL to be executed.
  <info>int</info>       <strong>$option</strong>              Query execution option <info>CUBRID_INCLUDE_OID</info>, <info>CUBRID_ASYNC</info>,
                                 <info>CUBRID_EXEC_QUERY_ALL</info>.
  <info>resource</info>  <strong>$request_identifier</strong>  <strong>cubrid_prepare()</strong> identifier.

<comment>Return:</comment>
  <info>resource</info>  Request identifier, when process is successful and first param is conn_identifier; <info>true</info>,
            when process is successful and first argument is request_identifier, ou <info>false</info> em caso de
            falha.

<comment>See Also:</comment>
   * <strong>cubrid_prepare()</strong>
   * <strong>cubrid_bind()</strong>
   * <strong>cubrid_next_result()</strong>
   * <strong>cubrid_close_request()</strong>
   * <strong>cubrid_commit()</strong>
   * <strong>cubrid_rollback()</strong>


id: cubrid_fetch
type: function
doc:
<comment>Description:</comment>
  Fetch the next row from a result set
  
  The <strong>cubrid_fetch()</strong> function is used to get a single row from the query result.  The cursor
  automatically moves to the next row after getting the result.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$type</strong>    Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH,
                     CUBRID_OBJECT. If you want to operate the lob object, you can use CUBRID_LOB.

<comment>Return:</comment>
  <info>mixed</info>  Result array or object, when process is successful.
         
         <info>false</info>, when there are no more rows; NULL, when process is unsuccessful.
         
         The result can be received either as an array or as an object, and you can decide which
         data type to use by setting the <strong>$type</strong> argument. The <strong>$type</strong> variable can be set to one of the
         following values:
         
         When <strong>$type</strong> argument is omitted, the result will be received using CUBRID_BOTH option as
         default. When you want to receive query result in object data type, the column name of the
         result must obey the naming rules for identifiers in PHP.  For example, column name such as
         "count(*)" cannot be received in object type.

<comment>See Also:</comment>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_fetch_array()</strong>
   * <strong>cubrid_fetch_row()</strong>
   * <strong>cubrid_fetch_assoc()</strong>
   * <strong>cubrid_fetch_object()</strong>


id: cubrid_fetch_array
type: function
doc:
<comment>Description:</comment>
  Fetch a result row as an associative array, a numeric array, or both
  
  The <strong>cubrid_fetch_array()</strong> function is used to get a single row from the query result and returns an
  array. The cursor automatically moves to the next row after getting the result.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  <strong>$Result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$type</strong>    Array type of the fetched result CUBRID_NUM, CUBRID_ASSOC, CUBRID_BOTH. If you
                     need to operate the lob object, you can use CUBRID_LOB.

<comment>Return:</comment>
  <info>array</info>  Returns an array of strings that corresponds to the fetched row, when process is
         successful.
         
         <info>false</info>, when there are no more rows; NULL, when process is unsuccessful.
         
         The type of returned array depends on how type is defined. By using CUBRID_BOTH (default),
         you'll get an array with both associative and number indices, and you can decide which data
         type to use by setting the <strong>$type</strong> argument. The <strong>$type</strong> variable can be set to one of the
         following values:

<comment>See Also:</comment>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_fetch()</strong>
   * <strong>cubrid_fetch_row()</strong>
   * <strong>cubrid_fetch_assoc()</strong>
   * <strong>cubrid_fetch_object()</strong>


id: cubrid_fetch_assoc
type: function
doc:
<comment>Description:</comment>
  Return the associative array that corresponds to the fetched row
  
  This function returns the associative array, that corresponds to the fetched row, and then moves
  the internal data pointer ahead, or returns FALSE when the end is reached.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$type</strong>    Type can only be CUBRID_LOB, this parameter will be used only when you need to
                     operate the lob object.

<comment>Return:</comment>
  <info>array</info>  Associative array, when process is successful.
         
         <info>false</info>, when there are no more rows; NULL, when process is unsuccessful.

<comment>See Also:</comment>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_fetch()</strong>
   * <strong>cubrid_fetch_row()</strong>
   * <strong>cubrid_fetch_array()</strong>
   * <strong>cubrid_fetch_object()</strong>


id: cubrid_fetch_field
type: function
doc:
<comment>Description:</comment>
  Get column information from a result and return as an object
  
  This function returns an object with certain properties of the specific column. The properties of
  the object are:
  
  <strong>$name</strong>column name<strong>$table</strong>name of the table that the column belongs to<strong>$def</strong>default value of the
  column<strong>$max_length</strong>maximum length of the column<strong>$not_null</strong>1 if the column cannot be NULL<strong>$primary_key</strong>1
  if the column is a primary key<strong>$unique_key</strong>1 if the column is an unique key<strong>$multiple_key</strong>1 if the
  column is a non-unique key<strong>$numeric</strong>1 if the column is numeric<strong>$blob</strong>1 if the column is a BLOB<strong>$type</strong>the
  type of the column<strong>$unsigned</strong>1 if the column is unsigned<strong>$zerofill</strong>1 if the column is zero-filled
  
  column name
  
  name of the table that the column belongs to
  
  default value of the column
  
  maximum length of the column
  
  1 if the column cannot be NULL
  
  1 if the column is a primary key
  
  1 if the column is an unique key
  
  1 if the column is a non-unique key
  
  1 if the column is numeric
  
  1 if the column is a BLOB
  
  the type of the column
  
  1 if the column is unsigned
  
  1 if the column is zero-filled

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>        <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$field_offset</strong>  The numerical field offset. If the field offset is not specified, the
                           next field (that was not yet retrieved by this function) is retrieved.
                           The <strong>$field_offset</strong> starts at 0.

<comment>Return:</comment>
  <info>object</info>  Object with certain properties of the specific column, when process is successful.
          
          <info>false</info> on failure.


id: cubrid_fetch_lengths
type: function
doc:
<comment>Description:</comment>
  Return an array with the lengths of the values of each field from the current row
  
  This function returns a numeric array with the lengths of the values of each field from the
  current row of the result set or it returns FALSE on failure.
  
  If field data type is BLOB/CLOB, you should get its length by using <strong>cubrid_lob_size()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>

<comment>Return:</comment>
  <info>array</info>  A numeric array, when process is successful.
         
         <info>false</info> on failure.


id: cubrid_fetch_object
type: function
doc:
<comment>Description:</comment>
  Fetch the next row and return it as an object
  
  This function returns an object with the column names of the result set as properties. The values
  of these properties are extracted from the current row of the result.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>      <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>string</info>    <strong>$class_name</strong>  The name of the class to instantiate. If not specified, a <class>stdClass</class>
                         (stdClass is PHP's generic empty class that's used when casting other types
                         to objects) 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.
  <info>int</info>       <strong>$type</strong>        Type can only be CUBRID_LOB, this parameter will be used only when you need
                         to operate the lob object.

<comment>Return:</comment>
  <info>object</info>  An object, when process is successful.
          
          <info>false</info>, when there are no more rows; NULL, when process is unsuccessful.

<comment>See Also:</comment>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_fetch()</strong>
   * <strong>cubrid_fetch_array()</strong>
   * <strong>cubrid_fetch_assoc()</strong>
   * <strong>cubrid_fetch_row()</strong>


id: cubrid_fetch_row
type: function
doc:
<comment>Description:</comment>
  Return a numerical array with the values of the current row
  
  This function returns a numerical array with the values of the current row from the result set,
  starting from 0, and moves the internal data pointer ahead.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$type</strong>    Type can only be CUBRID_LOB, this parameter will be used only when you need to
                     operate the lob object.

<comment>Return:</comment>
  <info>array</info>  A numerical array, when process is successful.
         
         <info>false</info>, when there are no more rows; NULL, when process is unsuccessful.

<comment>See Also:</comment>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_fetch()</strong>
   * <strong>cubrid_fetch_array()</strong>
   * <strong>cubrid_fetch_assoc()</strong>
   * <strong>cubrid_fetch_object()</strong>


id: cubrid_field_flags
type: function
doc:
<comment>Description:</comment>
  Return a string with the flags of the given field offset
  
  This function returns a string with the flags of the given field offset separated by space. You
  can split the returned value using explode. The possible flags could be: <info>not_null</info>, <info>primary_key</info>,
  <info>unique_key</info>, <info>foreign_key</info>, <info>auto_increment</info>, <info>shared</info>, <info>reverse_index</info>, <info>reverse_unique</info> and <info>timestamp</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>        <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$field_offset</strong>  The numerical field offset. The <strong>$field_offset</strong> starts at 0. If
                           <strong>$field_offset</strong> does not exist, an error of level <info>E_WARNING</info> is also issued.

<comment>Return:</comment>
  <info>string</info>  A string with flags, when process is successful.
          
          <info>false</info> when invalid field_offset value.
          
          -1 if SQL sentence is not SELECT.


id: cubrid_field_len
type: function
doc:
<comment>Description:</comment>
  Get the maximum length of the specified field
  
  This function returns the maximum length of the specified field on success, or it returns FALSE on
  failure.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>        <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$field_offset</strong>  The numerical field offset. The <strong>$field_offset</strong> starts at 0. If
                           <strong>$field_offset</strong> does not exist, an error of level <info>E_WARNING</info> is also issued.

<comment>Return:</comment>
  <info>int</info>  Maximum length, when process is successful.
       
       <info>false</info> on failure.


id: cubrid_field_name
type: function
doc:
<comment>Description:</comment>
  Return the name of the specified field index
  
  This function returns the name of the specified field index on success or it returns FALSE on
  failure.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>        <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$field_offset</strong>  The numerical field offset. The <strong>$field_offset</strong> starts at 0. If
                           <strong>$field_offset</strong> does not exist, an error of level <info>E_WARNING</info> is also issued.

<comment>Return:</comment>
  <info>string</info>  Name of specified field index, on success.
          
          <info>false</info> on failure.


id: cubrid_field_seek
type: function
doc:
<comment>Description:</comment>
  Move the result set cursor to the specified field offset
  
  This function moves the result set cursor to the specified field offset. This offset is used by
  <strong>cubrid_fetch_field()</strong> if it doesn't include a field offset. It returns TRUE on success or FALSE on
  failure.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>        <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$field_offset</strong>  The numerical field offset. The <strong>$field_offset</strong> starts at 0. If
                           <strong>$field_offset</strong> does not exist, an error of level <info>E_WARNING</info> is also issued.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> on success.
        
        <info>false</info> on failure.


id: cubrid_field_table
type: function
doc:
<comment>Description:</comment>
  Return the name of the table of the specified field
  
  This function returns the name of the table of the specified field. This is useful when using
  large select queries with JOINS.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>        <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$field_offset</strong>  The numerical field offset. The <strong>$field_offset</strong> starts at 0. If
                           <strong>$field_offset</strong> does not exist, an error of level <info>E_WARNING</info> is also issued.

<comment>Return:</comment>
  <info>string</info>  Name of the table of the specified field, on success.
          
          <info>false</info> when invalid field_offset value.
          
          -1 if SQL sentence is not SELECT.


id: cubrid_field_type
type: function
doc:
<comment>Description:</comment>
  Return the type of the column corresponding to the given field offset
  
  This function returns the type of the column corresponding to the given field offset. The returned
  field type could be one of the following: "int", "real", "string", etc.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>        <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$field_offset</strong>  The numerical field offset. The <strong>$field_offset</strong> starts at 0. If
                           <strong>$field_offset</strong> does not exist, an error of level <info>E_WARNING</info> is also issued.

<comment>Return:</comment>
  <info>string</info>  Type of the column, on success.
          
          <info>false</info> when invalid field_offset value.
          
          -1 if SQL sentence is not SELECT.


id: cubrid_free_result
type: function
doc:
<comment>Description:</comment>
  Free the memory occupied by the result data
  
  This function frees the memory occupied by the result data. It returns <info>true</info> on success or <info>false</info> on
  failure. Note that it can only frees the client fetch buffer now, and if you want free all memory,
  use function <strong>cubrid_close_request()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>  This is the request identifier.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.


id: cubrid_get
type: function
doc:
<comment>Description:</comment>
  Get a column using OID
  
  The <strong>cubrid_get()</strong> function is used to get the attribute of the instance of the given <strong>$oid</strong>.  You can
  get single attribute by using string data type for the <strong>$attr</strong> argument, or many attributes by using
  array data type for the <strong>$attr</strong> argument.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance that you want to read.
  <info>mixed</info>     <strong>$attr</strong>             Name of the attribute that you want to read.

<comment>Return:</comment>
  <info>mixed</info>  Content of the requested attribute, when process is successful; When <strong>$attr</strong> is set with
         string data type, the result is returned as a string; when <strong>$attr</strong> is set with array data
         type (0-based numerical array), then the result is returned in associative array. When
         <strong>$attr</strong> is omitted, then all attributes are received in array form.
         
         <info>false</info> when process is unsuccessful or result is NULL (If error occurs to distinguish empty
         string from NULL, then it prints the warning message. You can check the error by using
         <strong>cubrid_error_code()</strong>)

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


id: cubrid_get_autocommit
type: function
doc:
<comment>Description:</comment>
  Get auto-commit mode of the connection
  
  The <strong>cubrid_get_autocommit()</strong> function is used to get the status of CUBRID database connection
  auto-commit mode.
  
  For CUBRID 8.4.0, auto-commit mode is disabled by default for transaction management.
  
  For CUBRID 8.4.1, auto-commit mode is enabled by default for transaction management.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info>, when auto-commit is on.
        
        <info>false</info>, when auto-commit is off.
        
        <info>null</info> on error.

<comment>See Also:</comment>
   * <strong>cubrid_set_autocommit()</strong>
   * <strong>cubrid_commit()</strong>


id: cubrid_get_charset
type: function
doc:
<comment>Description:</comment>
  Return the current CUBRID connection charset
  
  This function returns the current CUBRID connection charset and is similar to the CUBRID MySQL
  compatible function <strong>cubrid_client_encoding()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection.

<comment>Return:</comment>
  <info>string</info>  A string that represents the CUBRID connection charset on success, ou <info>false</info> em caso de
          falha.

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


id: cubrid_get_class_name
type: function
doc:
<comment>Description:</comment>
  Get the class name using OID
  
  The <strong>cubrid_get_class_name()</strong> function is used to get the class name from <strong>$oid</strong>. It doesn't work when
  selecting data from the system tables, for example db_class.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance that you want to check the existence.

<comment>Return:</comment>
  <info>string</info>  Class name when process is successful, ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_is_instance()</strong>
   * <strong>cubrid_drop()</strong>


id: cubrid_get_client_info
type: function
doc:
<comment>Description:</comment>
  Return the client library version
  
  This function returns a string that represents the client library version.

<comment>Return:</comment>
  <info>string</info>  A string that represents the client library version on success, ou <info>false</info> em caso de falha.


id: cubrid_get_db_parameter
type: function
doc:
<comment>Description:</comment>
  Returns the CUBRID database parameters
  
  This function returns the CUBRID database parameters, ou <info>false</info> em caso de falha.  It returns an
  associative array with the values for the following parameters:
  
  <info>PARAM_ISOLATION_LEVEL</info><info>PARAM_LOCK_TIMEOUT</info><info>PARAM_MAX_STRING_LENGTH</info><info>PARAM_AUTO_COMMIT</info>
  
  Database parametersParameterDescriptionPARAM_ISOLATION_LEVELThe transaction isolation
  level.LOCK_TIMEOUTCUBRID provides the lock timeout feature, which sets the waiting time (in
  seconds) for the lock until the transaction lock setting is allowed. The default value of the
  lock_timeout_in_secs parameter is -1, which means the application client will wait indefinitely
  until the transaction lock is allowed. PARAM_AUTO_COMMITIn CUBRID PHP, auto-commit mode is
  disabled by default for transaction management. It can be set by using <strong>cubrid_set_autocommit()</strong>.
  
  The following table shows the isolation levels from 1 to 6. It consists of table schema (row) and
  isolation level: Levels of Isolation Supported by CUBRIDNameDescriptionSERIALIZABLE (6)In this
  isolation level, problems concerning concurrency (e.g. dirty read, non-repeatable read, phantom
  read, etc.) do not occur.REPEATABLE READ CLASS with REPEATABLE READ INSTANCES (5)Another
  transaction T2 cannot update the schema of table A while transaction T1 is viewing table A.
  Transaction T1 may experience phantom read for the record R that was inserted by another
  transaction T2 when it is repeatedly retrieving a specific record.REPEATABLE READ CLASS with READ
  COMMITTED INSTANCES (or CURSOR STABILITY) (4)Another transaction T2 cannot update the schema of
  table A while transaction T1 is viewing table A. Transaction T1 may experience R read
  (non-repeatable read) that was updated and committed by another transaction T2 when it is
  repeatedly retrieving the record R.REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES
  (3)Default isolation level.  Another transaction T2 cannot update the schema of table A  while
  transaction T1 is viewing table A. Transaction T1 may experience R' read (dirty read) for the
  record that was updated but not committed by another transaction T2.READ COMMITTED CLASS with READ
  COMMITTED INSTANCES (2)Transaction T1 may experience A' read (non-repeatable read) for the table
  that was updated and committed by another transaction  T2 while it is viewing table A repeatedly.
  Transaction T1 may experience R' read (non-repeatable read) for the record that was updated and
  committed by another transaction T2 while it is retrieving the record R repeatedly.READ COMMITTED
  CLASS with READ UNCOMMITTED INSTANCES (1)Transaction T1 may experience A' read (non-repeatable
  read) for the table that was updated and committed by another transaction T2 while it is
  repeatedly viewing table A.  Transaction T1 may experience R' read (dirty read) for the record
  that was updated but not committed by another transaction T2.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection. If the connection identifier is not specified,
                              the last link opened by <strong>cubrid_connect()</strong> is assumed.

<comment>Return:</comment>
  <info>array</info>  An associative array with CUBRID database parameters; on success, ou <info>false</info> em caso de
         falha.

<comment>See Also:</comment>
   * <strong>cubrid_set_db_parameter()</strong>
   * <strong>cubrid_get_autocommit()</strong>


id: cubrid_get_query_timeout
type: function
doc:
<comment>Description:</comment>
  Get the query timeout value of the request
  
  The <strong>cubrid_get_query_timeout()</strong> function is used to get the query timeout of the request.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>  Request identifier.

<comment>Return:</comment>
  <info>int</info>  Returns the query timeout value in milliseconds of the current request on success, ou <info>false</info>
       em caso de falha.

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


id: cubrid_get_server_info
type: function
doc:
<comment>Description:</comment>
  Return the CUBRID server version
  
  This function returns a string that represents the CUBRID server version.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection.

<comment>Return:</comment>
  <info>string</info>  A string that represents the CUBRID server version on success, ou <info>false</info> em caso de falha.


id: cubrid_insert_id
type: function
doc:
<comment>Description:</comment>
  Return the ID generated for the last updated AUTO_INCREMENT column
  
  The <strong>cubrid_insert_id()</strong> function retrieves the ID generated for the AUTO_INCREMENT column which is
  updated by the previous INSERT query. It returns 0 if the previous query does not generate new
  rows, or FALSE on failure.
  
  CUBRID supports AUTO_INCREMENT for more than one columns in a table. In most cases, there will be
  a single AUTO_INCREMENT column in a table. If there are multiple AUTO_INCREMENT columns, this
  function should not be used even if it will return a value.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The connection identifier previously obtained by a call to
                              <strong>cubrid_connect()</strong>.

<comment>Return:</comment>
  <info>string</info>  A string representing the ID generated for an AUTO_INCREMENT column by the previous query,
          on success.
          
          0, if the previous query does not generate new rows.
          
          <info>false</info> on failure.


id: cubrid_is_instance
type: function
doc:
<comment>Description:</comment>
  Check whether the instance pointed by OID exists
  
  The <strong>cubrid_is_instance()</strong> function is used to check whether the instance pointed by the given <strong>$oid</strong>
  exists or not.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance that you want to check the existence.

<comment>Return:</comment>
  <info>int</info>  1, if such instance exists;
       
       0, if such instance does not exist;
       
       -1, in case of error

<comment>See Also:</comment>
   * <strong>cubrid_drop()</strong>
   * <strong>cubrid_get_class_name()</strong>


id: cubrid_list_dbs
type: function
doc:
<comment>Description:</comment>
  Return an array with the list of all existing CUBRID databases
  
  This function returns an array with the list of all existing Cubrid databases.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection.

<comment>Return:</comment>
  <info>array</info>  An numeric array with all existing Cubrid databases; on success.
         
         <info>false</info> on failure.


id: cubrid_load_from_glo
type: function
doc:
<comment>Description:</comment>
  Read data from a GLO instance and save it in a file
  
  The <strong>cubrid_load_from_glo()</strong> function is used to read a data from a glo instance, and saves it in a
  designated file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              Oid of the glo instance that you want to read the data from.
  <info>string</info>    <strong>$file_name</strong>        Name of the file where you want to save the data in.

<comment>Return:</comment>
  <info>int</info>  <info>true</info>, when process is successful.
       
       <info>false</info>, when process is unsuccessful.

<comment>See Also:</comment>
   * <strong>cubrid_new_glo()</strong>
   * <strong>cubrid_save_to_glo()</strong>
   * <strong>cubrid_send_glo()</strong>


id: cubrid_lob2_bind
type: function
doc:
<comment>Description:</comment>
  Bind a lob object or a string as a lob object to a prepared statement as parameters
  
  The <strong>cubrid_lob2_bind()</strong> function is used to bind BLOB/CLOB datas to a corresponding question mark
  placeholder in the SQL statement that was passed  to <strong>cubrid_prepare()</strong>. If <strong>$bind_value_type</strong>  is not
  given, string will be "BLOB" as the default. But if you use <strong>cubrid_lob2_new()</strong> before,
  <strong>$bind_value_type</strong> will be consistent with <strong>$type</strong> in <strong>cubrid_lob2_new()</strong> as the default.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>   Request identifier as a result of <strong>cubrid_prepare()</strong>.
  <info>int</info>       <strong>$bind_index</strong>       Location of binding parameters. It starts with 1.
  <info>mixed</info>     <strong>$bind_value</strong>       Actual value for binding.
  <info>string</info>    <strong>$bind_value_type</strong>  It must be "BLOB" or "CLOB" and it won't be case-sensitive. If it not
                              be given, the default value is "BLOB".

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_new()</strong>
   * <strong>cubrid_lob2_close()</strong>


id: cubrid_lob2_close
type: function
doc:
<comment>Description:</comment>
  Close LOB object
  
  The <strong>cubrid_lob2_close()</strong> function is used to close LOB object returned from <strong>cubrid_lob2_new()</strong> or
  got from the result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: cubrid_lob2_export
type: function
doc:
<comment>Description:</comment>
  Export the lob object to a file
  
  The <strong>cubrid_lob2_export()</strong> function is used to save the  contents of BLOB/CLOB data to a file. To
  use this function, you must use <strong>cubrid_lob2_new()</strong> or fetch a lob object from CUBRID  database
  first. If the file already exists, the operation will fail.  This function will not influence the
  cursor position of the lob object.  It operates the entire lob object.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.
  <info></info>          <strong>$filename</strong>        File name you want to store BLOB/CLOB data. It also supports the path
                             of the file.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_new()</strong>
   * <strong>cubrid_lob2_close()</strong>
   * <strong>cubrid_lob2_import()</strong>
   * <strong>cubrid_lob2_bind()</strong>


id: cubrid_lob2_import
type: function
doc:
<comment>Description:</comment>
  Import BLOB/CLOB data from a file
  
  The <strong>cubrid_lob2_import()</strong> function is used to save the contents of BLOB/CLOB data from a file. To
  use this function, you must use <strong>cubrid_lob2_new()</strong> or fetch a lob object from CUBRID database
  first. If the file already exists, the operation will fail.  This function will not influence the
  cursor position of the lob object.  It operates the entire lob object.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.
  <info></info>          <strong>$filename</strong>        File name you want to import BLOB/CLOB data. It also supports the path
                             of the file.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_new()</strong>
   * <strong>cubrid_lob2_close()</strong>
   * <strong>cubrid_lob2_export()</strong>
   * <strong>cubrid_lob2_bind()</strong>


id: cubrid_lob2_new
type: function
doc:
<comment>Description:</comment>
  Create a lob object
  
  The <strong>cubrid_lob2_new()</strong> function is used to create a lob object (both BLOB and CLOB).  This function
  should be used before you bind a lob object.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier. If the connection identifier is not specified,
                              the last connection opened by <strong>cubrid_connect()</strong> or
                              <strong>cubrid_connect_with_url()</strong> is assumed.
  <info>string</info>    <strong>$type</strong>             It may be "BLOB" or "CLOB", it won't be case-sensitive. The default
                              value is "BLOB".

<comment>Return:</comment>
  <info>resource</info>  Lob identifier when it is successful, ou <info>false</info> em caso de falha.

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


id: cubrid_lob2_read
type: function
doc:
<comment>Description:</comment>
  Read from BLOB/CLOB data
  
  The <strong>cubrid_lob2_read()</strong> function reads <strong>$len</strong> bytes from the  LOB data and returns the bytes read.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.
  <info>int</info>       <strong>$len</strong>             Length from buffer you want to read from the lob data.

<comment>Return:</comment>
  <info>string</info>  Returns the contents as a string, <info>false</info> when there is no more data, or <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_write()</strong>
   * <strong>cubrid_lob2_seek()</strong>
   * <strong>cubrid_lob2_seek64()</strong>
   * <strong>cubrid_lob2_tell()</strong>
   * <strong>cubrid_lob2_tell64()</strong>
   * <strong>cubrid_lob2_size()</strong>
   * <strong>cubrid_lob2_size64()</strong>


id: cubrid_lob2_seek
type: function
doc:
<comment>Description:</comment>
  Move the cursor of a lob object
  
  The <strong>cubrid_lob2_seek()</strong> function is used to move the cursor position of a lob object by the value
  set in the <strong>$offset</strong> argument, to the direction set in the <strong>$origin</strong> argument.
  
  To set the <strong>$origin</strong> argument, you can use <info>CUBRID_CURSOR_FIRST</info> to set the cursor position moving
  forward <strong>$offset</strong> units from the first beginning. In this case, <strong>$offset</strong> must be a positive value.
  
  If you use <info>CUBRID_CURSOR_CURRENT</info> for <strong>$origin</strong>, you can move  forward or backward. and <strong>$offset</strong> can
  be positive or negative.
  
  If you use <info>CUBRID_CURSOR_LAST</info> for <strong>$origin</strong>, you can move  backward <strong>$offset</strong> units from the end of
  LOB object and <strong>$offset</strong> only can be positive.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.
  <info>int</info>       <strong>$offset</strong>          Number of units you want to move the cursor.
  <info>int</info>       <strong>$origin</strong>          This parameter can be the following values:
                             
                             CUBRID_CURSOR_FIRST: move forward from the first beginning.
                             
                             CUBRID_CURSOR_CURRENT: move forward or backward from the current
                             position.
                             
                             CUBRID_CURSOR_LAST: move backward at the end of LOB object.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_read()</strong>
   * <strong>cubrid_lob2_write()</strong>
   * <strong>cubrid_lob2_seek64()</strong>
   * <strong>cubrid_lob2_tell()</strong>
   * <strong>cubrid_lob2_tell64()</strong>
   * <strong>cubrid_lob2_size()</strong>
   * <strong>cubrid_lob2_size64()</strong>


id: cubrid_lob2_seek64
type: function
doc:
<comment>Description:</comment>
  Move the cursor of a lob object
  
  The <strong>cubrid_lob2_seek64()</strong> function is used to move the cursor position of a lob object by the value
  set in the <strong>$offset</strong>  argument, to the direction set in the <strong>$origin</strong> argument.  If the <strong>$offset</strong> you
  want to move is larger than an integer  data can be stored, you can use this function.
  
  To set the <strong>$origin</strong> argument, you can use <info>CUBRID_CURSOR_FIRST</info> to set the cursor position moving
  forward <strong>$offset</strong> units from the first beginning. In this case, <strong>$offset</strong> must be a positive value.
  
  If you use <info>CUBRID_CURSOR_CURRENT</info> for <strong>$origin</strong>, you can move forward or backward. and <strong>$offset</strong> can be
  positive or negative.
  
  If you use <info>CUBRID_CURSOR_LAST</info> for <strong>$origin</strong>, you can move backward <strong>$offset</strong> units from the end of LOB
  object and <strong>$offset</strong> only can be positive.
  
  If you use this function to move the cursor position of the lob object, you should pass <strong>$offset</strong> as
  a string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.
  <info>string</info>    <strong>$offset</strong>          Number of units you want to move the cursor.
  <info>int</info>       <strong>$origin</strong>          This parameter can be the following values:
                             
                             CUBRID_CURSOR_FIRST: move forward from the first beginning.
                             
                             CUBRID_CURSOR_CURRENT: move forward or backward from the current
                             position.
                             
                             CUBRID_CURSOR_LAST: move backward at the end of LOB object.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_read()</strong>
   * <strong>cubrid_lob2_write()</strong>
   * <strong>cubrid_lob2_seek()</strong>
   * <strong>cubrid_lob2_tell()</strong>
   * <strong>cubrid_lob2_tell64()</strong>
   * <strong>cubrid_lob2_size()</strong>
   * <strong>cubrid_lob2_size64()</strong>


id: cubrid_lob2_size
type: function
doc:
<comment>Description:</comment>
  Get a lob object's size
  
  The <strong>cubrid_lob2_size()</strong> function is used to get the size of a lob object.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.

<comment>Return:</comment>
  <info>int</info>  It will return the size of the LOB object when it processes successfully, ou <info>false</info> em caso de
       falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_read()</strong>
   * <strong>cubrid_lob2_write()</strong>
   * <strong>cubrid_lob2_seek()</strong>
   * <strong>cubrid_lob2_seek64()</strong>
   * <strong>cubrid_lob2_tell()</strong>
   * <strong>cubrid_lob2_tell64()</strong>
   * <strong>cubrid_lob2_size64()</strong>


id: cubrid_lob2_size64
type: function
doc:
<comment>Description:</comment>
  Get a lob object's size
  
  The <strong>cubrid_lob2_size64()</strong> function is used to get the size of a lob object.  If the size of a lob
  object is larger than an integer data can be stored, you can use this function and it will return
  the size as a string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.

<comment>Return:</comment>
  <info>string</info>  It will return the size of the LOB object as a string when it processes successfully, ou
          <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_read()</strong>
   * <strong>cubrid_lob2_write()</strong>
   * <strong>cubrid_lob2_seek()</strong>
   * <strong>cubrid_lob2_seek64()</strong>
   * <strong>cubrid_lob2_tell()</strong>
   * <strong>cubrid_lob2_tell64()</strong>
   * <strong>cubrid_lob2_size()</strong>


id: cubrid_lob2_tell
type: function
doc:
<comment>Description:</comment>
  Tell the cursor position of the LOB object
  
  The <strong>cubrid_lob2_tell()</strong> function is used to tell the cursor position of the LOB object.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.

<comment>Return:</comment>
  <info>int</info>  It will return the cursor position on the LOB object when it processes successfully, ou <info>false</info>
       em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_read()</strong>
   * <strong>cubrid_lob2_write()</strong>
   * <strong>cubrid_lob2_seek()</strong>
   * <strong>cubrid_lob2_seek64()</strong>
   * <strong>cubrid_lob2_tell64()</strong>
   * <strong>cubrid_lob2_size()</strong>
   * <strong>cubrid_lob2_size64()</strong>


id: cubrid_lob2_tell64
type: function
doc:
<comment>Description:</comment>
  Tell the cursor position of the LOB object
  
  The <strong>cubrid_lob2_tell64()</strong> function is used to tell the  cursor position of the LOB object. If the
  size of a lob object is larger than an integer data can be stored, you can use this function and
  it will return the position information as a string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.

<comment>Return:</comment>
  <info>string</info>  It will return the cursor position on the LOB object as a string when it processes
          successfully, ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_read()</strong>
   * <strong>cubrid_lob2_write()</strong>
   * <strong>cubrid_lob2_seek()</strong>
   * <strong>cubrid_lob2_seek64()</strong>
   * <strong>cubrid_lob2_tell()</strong>
   * <strong>cubrid_lob2_size()</strong>
   * <strong>cubrid_lob2_size64()</strong>


id: cubrid_lob2_write
type: function
doc:
<comment>Description:</comment>
  Write to a lob object
  
  The <strong>cubrid_lob2_write()</strong> function reads as much as data from <strong>$buf</strong> and stores it to the LOB object.
  Note that this function can only append characters now.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  Lob identifier as a result of <strong>cubrid_lob2_new()</strong> or get from the result
                             set.
  <info>string</info>    <strong>$buf</strong>             Data that need to be written to the lob object.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob2_read()</strong>
   * <strong>cubrid_lob2_seek()</strong>
   * <strong>cubrid_lob2_seek64()</strong>
   * <strong>cubrid_lob2_tell()</strong>
   * <strong>cubrid_lob2_tell64()</strong>
   * <strong>cubrid_lob2_size()</strong>
   * <strong>cubrid_lob2_size64()</strong>


id: cubrid_lob_close
type: function
doc:
<comment>Description:</comment>
  Close BLOB/CLOB data
  
  <strong>cubrid_lob_close()</strong> is used to close all BLOB/CLOB returned from <strong>cubrid_lob_get()</strong>.

<comment>Param:</comment>
  <info>array</info>  <strong>$lob_identifier_array</strong>  LOB identifier array returned from <strong>cubrid_lob_get()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob_get()</strong>
   * <strong>cubrid_lob_size()</strong>
   * <strong>cubrid_lob_export()</strong>
   * <strong>cubrid_lob_send()</strong>


id: cubrid_lob_export
type: function
doc:
<comment>Description:</comment>
  Export BLOB/CLOB data to file
  
  <strong>cubrid_lob_export()</strong> is used to get BLOB/CLOB data from CUBRID database, and saves its contents to
  a file. To use this function, you must use <strong>cubrid_lob_get()</strong> first to get BLOB/CLOB info from
  CUBRID.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>resource</info>  <strong>$lob_identifier</strong>   LOB identifier.
  <info>string</info>    <strong>$path_name</strong>        Path name of the file.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob_get()</strong>
   * <strong>cubrid_lob_close()</strong>
   * <strong>cubrid_lob_size()</strong>
   * <strong>cubrid_lob_send()</strong>


id: cubrid_lob_get
type: function
doc:
<comment>Description:</comment>
  Get BLOB/CLOB data
  
  <strong>cubrid_lob_get()</strong> is used to get BLOB/CLOB meta info from CUBRID database,  CUBRID gets BLOB/CLOB
  by executing the SQL statement, and returns all LOBs as a resource array.  Be sure that the SQL
  retrieves only one column and its data type is BLOB or CLOB.
  
  Remember to use <strong>cubrid_lob_close()</strong> to release the LOBs if you don't need it any more.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$sql</strong>              SQL statement to be executed.

<comment>Return:</comment>
  <info>array</info>  Return an array of LOB resources, when process is successful, ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob_close()</strong>
   * <strong>cubrid_lob_size()</strong>
   * <strong>cubrid_lob_export()</strong>
   * <strong>cubrid_lob_send()</strong>


id: cubrid_lob_send
type: function
doc:
<comment>Description:</comment>
  Read BLOB/CLOB data and send straight to browser
  
  <strong>cubrid_lob_send()</strong> reads BLOB/CLOB data and passes it straight through to the browser.   To use
  this function, you must use <strong>cubrid_lob_get()</strong> first to get BLOB/CLOB info from CUBRID.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>resource</info>  <strong>$lob_identifier</strong>   LOB identifier.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob_get()</strong>
   * <strong>cubrid_lob_close()</strong>
   * <strong>cubrid_lob_size()</strong>
   * <strong>cubrid_lob_export()</strong>


id: cubrid_lob_size
type: function
doc:
<comment>Description:</comment>
  Get BLOB/CLOB data size
  
  <strong>cubrid_lob_size()</strong> is used to get BLOB/CLOB data size.

<comment>Param:</comment>
  <info>resource</info>  <strong>$lob_identifier</strong>  LOB identifier.

<comment>Return:</comment>
  <info>string</info>  A string representing LOB data size, when process is successful, ou <info>false</info> em caso de
          falha.

<comment>See Also:</comment>
   * <strong>cubrid_lob_get()</strong>
   * <strong>cubrid_lob_close()</strong>
   * <strong>cubrid_lob_export()</strong>
   * <strong>cubrid_lob_send()</strong>


id: cubrid_lock_read
type: function
doc:
<comment>Description:</comment>
  Set a read lock on the given OID
  
  The <strong>cubrid_lock_read()</strong> function is used to put read lock on the instance pointed by given <strong>$oid</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance that you want to put read lock on.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: cubrid_lock_write
type: function
doc:
<comment>Description:</comment>
  Set a write lock on the given OID
  
  The <strong>cubrid_lock_write()</strong> function is used to put write lock on the instance pointed by the given
  <strong>$oid</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance that you want to put write lock on.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: cubrid_move_cursor
type: function
doc:
<comment>Description:</comment>
  Move the cursor in the result
  
  The <strong>cubrid_move_cursor()</strong> function is used to move the current cursor location of <strong>$req_identifier</strong>
  by the value set in the <strong>$offset</strong> argument, to the direction set in the <strong>$origin</strong> argument. To set the
  <strong>$origin</strong> argument, you can use <info>CUBRID_CURSOR_FIRST</info> for the first part of the result,
  <info>CUBRID_CURSOR_CURRENT</info> for the current location of the result, or <info>CUBRID_CURSOR_LAST</info> for the last
  part of the result. If <strong>$origin</strong> argument is not explicitly designated, then the function uses
  <info>CUBRID_CURSOR_CURRENT</info> as its default value.
  
  If the value of cursor movement range goes over the valid limit, then the cursor moves to the next
  location after the valid range for the cursor. For example, if you move 20 units in the result
  with the size of 10, then the cursor will move to 11th place and return <info>CUBRID_NO_MORE_DATA</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>  Request identifier.
  <info>int</info>       <strong>$offset</strong>          Number of units you want to move the cursor.
  <info>int</info>       <strong>$origin</strong>          Location where you want to move the cursor from <info>CUBRID_CURSOR_FIRST</info>,
                             <info>CUBRID_CURSOR_CURRENT</info>, <info>CUBRID_CURSOR_LAST</info>.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: cubrid_new_glo
type: function
doc:
<comment>Description:</comment>
  Create a glo instance
  
  The <strong>cubrid_new_glo()</strong> function is used to create a glo instance in the requested class (glo class).
  The glo created is a LO type, and is stored in the <strong>$file_name</strong> file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$class_name</strong>       Name of the class that you want to create a glo in.
  <info>string</info>    <strong>$file_name</strong>        The file name that you want to save in the newly created glo.

<comment>Return:</comment>
  <info>string</info>  Oid of the instance created, when process is successful.
          
          <info>false</info>, when process is unsuccessful.

<comment>See Also:</comment>
   * <strong>cubrid_save_to_glo()</strong>
   * <strong>cubrid_load_from_glo()</strong>
   * <strong>cubrid_send_glo()</strong>


id: cubrid_next_result
type: function
doc:
<comment>Description:</comment>
  Get result of next query when executing multiple SQL statements
  
  The <strong>cubrid_next_result()</strong> function is used to get results of next query if multiple SQL statements
  are executed and <info>CUBRID_EXEC_QUERY_ALL</info> flag is set upon <strong>cubrid_execute()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: cubrid_num_cols
type: function
doc:
<comment>Description:</comment>
  Return the number of columns in the result set
  
  The <strong>cubrid_num_cols()</strong> function is used to get the number of columns from the query result. It can
  only be used when the query executed is a <return>SELECT</return> statement.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  Result.

<comment>Return:</comment>
  <info>int</info>  Number of columns, when process is successful.
       
       <info>false</info>, if SQL statement is not SELECT.

<comment>See Also:</comment>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_num_rows()</strong>


id: cubrid_num_fields
type: function
doc:
<comment>Description:</comment>
  Return the number of columns in the result set
  
  This function returns the number of columns in the result set, on success, or it returns FALSE on
  failure.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>, <strong>cubrid_query()</strong> and
                     <strong>cubrid_prepare()</strong>

<comment>Return:</comment>
  <info>int</info>  Number of columns, on success.
       
       -1 if SQL sentence is not SELECT.
       
       <info>false</info> when process is unsuccessful.


id: cubrid_num_rows
type: function
doc:
<comment>Description:</comment>
  Get the number of rows in the result set
  
  The <strong>cubrid_num_rows()</strong> function is used to get the  number of rows from the query result. It can be
  used for <return>SELECT</return> statements. For <return>INSERT</return>, <return>UPDATE</return>, or <return>DELETE</return> queries, use the <strong>cubrid_affected_rows()</strong>
  function.
  
  Note: The <strong>cubrid_num_rows()</strong> function can only be used for synchronous query; it returns 0 when it
  is used for asynchronous query.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>, <strong>cubrid_query()</strong> and
                     <strong>cubrid_prepare()</strong>

<comment>Return:</comment>
  <info>int</info>  Number of rows, when process is successful.
       
       0 when the query was done in async mode.
       
       -1, if SQL statement is not SELECT.
       
       <info>false</info> when process is unsuccessful.

<comment>See Also:</comment>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_num_cols()</strong>
   * <strong>cubrid_affected_rows()</strong>


id: cubrid_pconnect
type: function
doc:
<comment>Description:</comment>
  Open a persistent connection to a CUBRID server
  
  Establishes a persistent connection to a CUBRID server.
  
  <strong>cubrid_pconnect()</strong> acts very much like <strong>cubrid_connect()</strong> with two major differences.
  
  First, when connecting, the function would first try to find a (persistent) link that's already
  open with the same host, port, dbname and userid. If one is found, an identifier for it will be
  returned instead of opening a new connection.
  
  Second, the connection to the SQL server will not be closed when the execution of the script ends.
  Instead, the link will remain open for future use (<strong>cubrid_close()</strong> or <strong>cubrid_disconnect()</strong> will not
  close links established by <strong>cubrid_pconnect()</strong>).
  
  This type of link is therefore called 'persistent'.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>    Host name or IP address of CUBRID CAS server.
  <info>int</info>     <strong>$port</strong>    Port number of CUBRID CAS server (BROKER_PORT configured in
                   $CUBRID/conf/cubrid_broker.conf).
  <info>string</info>  <strong>$dbname</strong>  Name of database.
  <info>string</info>  <strong>$userid</strong>  User name for the database.
  <info>string</info>  <strong>$passwd</strong>  User password.

<comment>Return:</comment>
  <info>resource</info>  Connection identifier, when process is successful, ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_connect()</strong>
   * <strong>cubrid_connect_with_url()</strong>
   * <strong>cubrid_pconnect_with_url()</strong>
   * <strong>cubrid_disconnect()</strong>
   * <strong>cubrid_close()</strong>


id: cubrid_pconnect_with_url
type: function
doc:
<comment>Description:</comment>
  Open a persistent connection to CUBRID server
  
  Establishes a persistent connection to a CUBRID server.
  
  <strong>cubrid_pconnect_with_url()</strong> acts very much like <strong>cubrid_connect_with_url()</strong> with two major
  differences.
  
  First, when connecting, the function would first try to find a (persistent) link that's already
  open with the same host, port, dbname and userid. If one is found, an identifier for it will be
  returned instead of opening a new connection.
  
  Second, the connection to the SQL server will not be closed when the execution of the script ends.
  Instead, the link will remain open for future use (<strong>cubrid_close()</strong> or <strong>cubrid_disconnect()</strong> will not
  close links established by <strong>cubrid_pconnect_with_url()</strong>).
  
  This type of link is therefore called 'persistent'.
  
  \<url&gt; ::= CUBRID:\<host&gt;:\<db_name&gt;:\<db_user&gt;:\<db_password&gt;:[?\<properties&gt;]
  
  \<properties&gt; ::= \<property&gt; [&\<property&gt;]
  
  \<properties&gt; ::= alhosts=\<alternative_hosts&gt;[ &rctime=\<time&gt;]
  
  \<properties&gt; ::= login_timeout=\<milli_sec&gt;
  
  \<properties&gt; ::= query_timeout=\<milli_sec&gt;
  
  \<properties&gt; ::= disconnect_on_query_timeout=true|false
  
  \<alternative_hosts&gt; ::= \<standby_broker1_host&gt;:\<port&gt; [,\<standby_broker2_host&gt;:\<port&gt;]
  
  \<host&gt; := HOSTNAME | IP_ADDR
  
  \<time&gt; := SECOND
  
  \<milli_sec&gt; := MILLI SECOND
  
  host : A host name or IP address of the master databasedb_name : A name of the databasedb_user : A
  name of the database userdb_password : A database user password alhosts : Specifies the broker
  information of the standby server, which is used for failover when it is impossible to connect to
  the active server.  You can specify multiple brokers for failover, and the connection to the
  brokers is attempted in the order listed in alhosts rctime : An interval between the attempts to
  connect to the active broker in which failure occurred. After a failure occurs, the system
  connects to the  broker specified by althosts (failover), terminates the transaction, and then
  attempts to connect to the active broker of the master database at every rctime.  The default
  value is 600 seconds. login_timeout : Timeout value (unit: msec.) for database login. The default
  value is 0, which means infinite postponement.  query_timeout : Timeout value (unit: msec.) for
  query request. Upon timeout, a message to cancel requesting a query transferred to server is sent.
  The return  value can depend on the disconnect_on_query_timeout configuration; even though the
  message to cancel a request is sent to server, that request may succeed.
  disconnect_on_query_timeout : Configures a value whether to immediately return an error of
  function being executed upon timeout. The default value is false.
  
  <return>?</return> and <return>:</return> that are used as identifiers in PHP connection URL can't be included in the password. The
  following is an example of a password that is invalid to use as connection URL because it contains
  "<return>?:</return>".
  
  $url = "CUBRID:localhost:33000:tdb:dba:12?:?login_timeout=100";
  
  Passwords that contain <return>?</return> or <return>:</return> may be passed as a separate parameter.
  
  $url = "CUBRID:localhost:33000:tbd:::?login_timeout=100";
  
  $conn = cubrid_pconnect_with_url ($url, "dba", "12?");
  
  If user or password is empty,you can't delete "<return>:</return>",the following is an example.
  
  $url = "CUBRID:localhost:33000:demodb:::";

<comment>Param:</comment>
  <info>string</info>  <strong>$conn_url</strong>  A character string that contains server connection information.
  <info>string</info>  <strong>$userid</strong>    User name for the database.
  <info>string</info>  <strong>$passwd</strong>    User password.

<comment>Return:</comment>
  <info>resource</info>  Connection identifier, when process is successful, ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_connect()</strong>
   * <strong>cubrid_connect_with_url()</strong>
   * <strong>cubrid_pconnect()</strong>
   * <strong>cubrid_disconnect()</strong>
   * <strong>cubrid_close()</strong>


id: cubrid_ping
type: function
doc:
<comment>Description:</comment>
  Ping a server connection or reconnect if there is no connection
  
  Checks whether or not the connection to the server is working.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection identifier. If the connection identifier is not
                              specified, the last connection opened by <strong>cubrid_connect()</strong> is assumed.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the connection to the server CUBRID server is working, otherwise <info>false</info>.


id: cubrid_prepare
type: function
doc:
<comment>Description:</comment>
  Prepare a SQL statement for execution
  
  The <strong>cubrid_prepare()</strong> function is a sort of API which represents SQL statements  compiled
  previously to a given connection handle. This pre-compiled SQL statement will be included  in the
  <strong>cubrid_prepare()</strong>.
  
  Accordingly, you can use this statement effectively to execute several times repeatedly or to
  process long data. Only a single statement can be used and a parameter may put a question mark (?)
  to appropriate area in the SQL statement. Add a parameter when you bind a value in the VALUES
  clause of INSERT statement or in the WHERE clause. Note that it is allowed to bind a value to a
  MARK(?) by using the <strong>cubrid_bind()</strong> function only.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$prepare_stmt</strong>     Prepare query.
  <info>int</info>       <strong>$option</strong>           OID return option <info>CUBRID_INCLUDE_OID</info>.

<comment>Return:</comment>
  <info>resource</info>  Request identifier, if process is successful, ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_execute()</strong>
   * <strong>cubrid_bind()</strong>


id: cubrid_put
type: function
doc:
<comment>Description:</comment>
  Update a column using OID
  
  The <strong>cubrid_put()</strong> function is used to update an attribute of the instance of the given <strong>$oid</strong>.
  
  You can update single attribute by using string data type to set <strong>$attr</strong>.  In such case, you can use
  integer, floating point or string type data for the <strong>$value</strong> argument. To update multiple number of
  attributes, you can disregard the <strong>$attr</strong> argument, and set <strong>$value</strong> argument with associative array
  data type.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance that you want to update.
  <info>string</info>    <strong>$attr</strong>             Name of the attribute that you want to update.
  <info>mixed</info>     <strong>$value</strong>            New value that you want to assign to the attribute.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_get()</strong>
   * <strong>cubrid_set_add()</strong>
   * <strong>cubrid_set_drop()</strong>
   * <strong>cubrid_seq_insert()</strong>
   * <strong>cubrid_seq_drop()</strong>
   * <strong>cubrid_seq_put()</strong>


id: cubrid_query
type: function
doc:
<comment>Description:</comment>
  Send a CUBRID query
  
  <strong>cubrid_query()</strong> sends a unique query (multiple queries are not supported) to the  currently active
  database on the server that's associated with the specified <strong>$conn_identifier</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$query</strong>            An SQL query
                              
                              Data inside the query should be properly escaped.
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection. If the connection identifier is not specified,
                              the last connection opened by <strong>cubrid_connect()</strong> is assumed.

<comment>Return:</comment>
  <info>resource</info>  For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset,
            <strong>cubrid_query()</strong> returns a <info>resource</info> on success, or <info>false</info> on error.
            
            For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, <strong>cubrid_query()</strong>
            returns <info>true</info> on success or <info>false</info> on error.
            
            The returned result resource should be passed to <strong>cubrid_fetch_array()</strong>, and other
            functions for dealing with result tables, to access the returned data.
            
            Use <strong>cubrid_num_rows()</strong> to find out how many rows were returned for a SELECT statement or
            <strong>cubrid_affected_rows()</strong> to find out how many rows were affected by a DELETE, INSERT,
            REPLACE, or UPDATE statement.
            
            <strong>cubrid_query()</strong> will also fail and return <info>false</info> if the user does not have permission to
            access the table(s) referenced by the query.

<comment>See Also:</comment>
   * <strong>cubrid_connect()</strong>
   * <strong>cubrid_error()</strong>
   * <strong>cubrid_real_escape_string()</strong>
   * <strong>cubrid_result()</strong>
   * <strong>cubrid_fetch_assoc()</strong>
   * <strong>cubrid_unbuffered_query()</strong>


id: cubrid_real_escape_string
type: function
doc:
<comment>Description:</comment>
  Escape special characters in a string for use in an SQL statement
  
  This function returns the escaped string version of the given string. It will escape the following
  characters: <info>'</info>.
   In general, single quotations are used to enclose character string. Double quotations may be used
  as well depending on the value of ansi_quotes, which is a parameter related to SQL statement. If
  the ansi_quotes value is set to no, character string enclosed by double quotations is handled as
  character string, not as an identifier. The default value is yes.
   If you want to include a single quote as part of a character string, enter two single quotes in a
  row.

<comment>Param:</comment>
  <info>string</info>    <strong>$unescaped_string</strong>  The string that is to be escaped.
  <info>resource</info>  <strong>$conn_identifier</strong>   The CUBRID connection. If the connection identifier is not specified,
                               the last connection opened by <strong>cubrid_connect()</strong> is assumed.

<comment>Return:</comment>
  <info>string</info>  Escaped string version of the given string, on success.
          
          <info>false</info> on failure.


id: cubrid_result
type: function
doc:
<comment>Description:</comment>
  Return the value of a specific field in a specific row
  
  This function returns the value of a specific field in a specific row from a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  <strong>$result</strong> comes from a call to <strong>cubrid_execute()</strong>
  <info>int</info>       <strong>$row</strong>     The row number from the result that is being retrieved. Row numbers start at 0.
  <info>mixed</info>     <strong>$field</strong>   The name or offset of the <strong>$field</strong> being retrieved. It can be the field's offset,
                     the field's name, or the field's table dot field name (tablename.fieldname). If
                     the column name has been aliased ('select foo as bar from...'), use the alias
                     instead of the column name. If undefined, the first field is retrieved.

<comment>Return:</comment>
  <info>string</info>  Value of a specific field, on success (NULL if value if null).
          
          <info>false</info> on failure.


id: cubrid_rollback
type: function
doc:
<comment>Description:</comment>
  Roll back a transaction
  
  The <strong>cubrid_rollback()</strong> function executes rollback on the transaction pointed by <strong>$conn_identifier</strong>,
  currently in progress.
  
  Connection to server is closed after calling <strong>cubrid_rollback()</strong>. Connection handle, however, is
  still valid.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_commit()</strong>
   * <strong>cubrid_disconnect()</strong>


id: cubrid_save_to_glo
type: function
doc:
<comment>Description:</comment>
  Save requested file in a GLO instance
  
  The <strong>cubrid_save_to_glo()</strong> function is used to save requested file in a glo instance.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              Oid of the glo instance that you want to save a file in.
  <info>string</info>    <strong>$file_name</strong>        The name of the file that you want to save.

<comment>Return:</comment>
  <info>int</info>  <info>true</info>, when process is successful.
       
       <info>false</info>, when process is unsuccessful.

<comment>See Also:</comment>
   * <strong>cubrid_new_glo()</strong>
   * <strong>cubrid_load_from_glo()</strong>
   * <strong>cubrid_send_glo()</strong>


id: cubrid_schema
type: function
doc:
<comment>Description:</comment>
  Get the requested schema information
  
  The <strong>cubrid_schema()</strong> function is used to get the requested schema information from database. To get
  information about specific class, set the <strong>$class_name</strong>, to get information about specific attribute
  (can be used only with <info>CUBRID_SCH_ATTR_PRIVILEGE</info>), set the <strong>$attr_name</strong>.
  
  The result of the <strong>cubrid_schema()</strong> function is returned as a two-dimensional array (column
  (associative array) * row (numeric array)). The following tables shows types of schema and the
  column structure of the result array to be returned based on the schema type.
  
  Result Composition of Each TypeSchemaColumn NumberColumn
  NameValueCUBRID_SCH_CLASS1NAME2TYPE0:system class 1:vclass
  2:classCUBRID_SCH_VCLASS1NAME2TYPE1:vclassCUBRID_SCH_QUERY_SPEC1QUERY_SPECCUBRID_SCH_ATTRIBUTE /
  CUBRID_SCH_CLASS_ATTRIBUTE1ATTR_NAME2DOMAIN3SCALE4PRECISION5INDEXED1:indexed6NOT NULL1:not
  null7SHARED1:shared8UNIQUE1:unique9DEFAULT10ATTR_ORDERbase:111CLASS_NAME12SOURCE_CLASS13IS_KEY1:keyCUBRID_SCH_METHOD
  /
  CUBRID_SCH_CLASS_METHOD1NAME2RET_DOMAIN3ARG_DOMAINCUBRID_SCH_METHOD_FILE1METHOD_FILECUBRID_SCH_SUPERCLASS
  / CUBRID_SCH_DIRECT_SUPER_CLASS / CUBRID_SCH_SUBCLASS1CLASS_NAME2TYPE0:system class 1:vclass
  2:classCUBRID_SCH_CONSTRAINT1TYPE0:unique 1:index 2:reverse unique 3:reverse
  index2NAME3ATTR_NAME4NUM_PAGES5NUM_KEYS6PRIMARY_KEY1:primary
  key7KEY_ORDERbase:1CUBRID_SCH_TRIGGER1NAME2STATUS3EVENT4TARGET_CLASS5TARGET_ATTR6ACTION_TIME7ACTION8PRIORITY9CONDITION_TIME10CONDITIONCUBRID_SCH_CLASS_PRIVILEGE
  / CUBRID_SCH_ATTR_PRIVILEGE1CLASS_NAME /
  ATTR_NAME2PRIVILEGE3GRANTABLECUBRID_SCH_PRIMARY_KEY1CLASS_NAME2ATTR_NAME3KEY_SEQbase:14KEY_NAMECUBRID_SCH_IMPORTED_KEYS
  / CUBRID_SCH_EXPORTED_KEYS /
  CUBRID_SCH_CROSS_REFERENCE1PKTABLE_NAME2PKCOLUMN_NAME3FKTABLE_NAMEbase:14FKCOLUMN_NAME5KEY_SEQbase:16UPDATE_ACTION0:cascade
  1:restrict 2:no action 3:set null7DELETE_ACTION0:cascade 1:restrict 2:no action 3:set
  null8FK_NAME9PK_NAME

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>int</info>       <strong>$schema_type</strong>      Schema data that you want to know.
  <info>string</info>    <strong>$class_name</strong>       Class you want to know the schema of.
  <info>string</info>    <strong>$attr_name</strong>        Attribute you want to know the schema of.

<comment>Return:</comment>
  <info>array</info>  Array containing the schema information, when process is successful, ou <info>false</info> em caso de
         falha.


id: cubrid_send_glo
type: function
doc:
<comment>Description:</comment>
  Read data from glo and send it to std output
  
  The <strong>cubrid_send_glo()</strong> function is used to read data from glo instance and sends it to the PHP
  standard output.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              Oid of the glo instance that you want to read data from.

<comment>Return:</comment>
  <info>int</info>  <info>true</info>, when process is successful.
       
       <info>false</info>, when process is unsuccessful.

<comment>See Also:</comment>
   * <strong>cubrid_new_glo()</strong>
   * <strong>cubrid_save_to_glo()</strong>
   * <strong>cubrid_load_from_glo()</strong>


id: cubrid_seq_drop
type: function
doc:
<comment>Description:</comment>
  Delete an element from sequence type column using OID
  
  The <strong>cubrid_seq_drop()</strong> function is used to delete an element you request from the given sequence
  type attribute in the database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance you want to work with.
  <info>string</info>    <strong>$attr_name</strong>        Name of the attribute that you want to delete an element from.
  <info>int</info>       <strong>$index</strong>            Index of the element that you want to delete (1-based).

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_seq_insert()</strong>
   * <strong>cubrid_seq_put()</strong>


id: cubrid_seq_insert
type: function
doc:
<comment>Description:</comment>
  Insert an element to a sequence type column using OID
  
  The <strong>cubrid_col_insert()</strong> function is used to insert an element to a sequence type attribute in a
  requested location.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance you want to work with.
  <info>string</info>    <strong>$attr_name</strong>        Name of the attribute you want to insert an instance to.
  <info>int</info>       <strong>$index</strong>            Location of the element, you want to insert the element to (1-based).
  <info>string</info>    <strong>$seq_element</strong>      Content of the element that you want to insert.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_seq_drop()</strong>
   * <strong>cubrid_seq_put()</strong>


id: cubrid_seq_put
type: function
doc:
<comment>Description:</comment>
  Update the element value of sequence type column using OID
  
  The <strong>cubrid_seq_put()</strong> function is used to update the content of the requested element in a sequent
  type attribute using OID.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance you want to work with.
  <info>string</info>    <strong>$attr_name</strong>        Name of the attribute that you want to update an element.
  <info>int</info>       <strong>$index</strong>            Index (1-based) of the element that you want to update.
  <info>string</info>    <strong>$seq_element</strong>      New content that you want to use for the update.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_seq_drop()</strong>
   * <strong>cubrid_seq_insert()</strong>


id: cubrid_set_add
type: function
doc:
<comment>Description:</comment>
  Insert a single element to set type column using OID
  
  The <strong>cubrid_set_add()</strong> function is used to insert a single element to a set type attribute (set,
  multiset, sequence) you requested.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance you want to work with.
  <info>string</info>    <strong>$attr_name</strong>        Name of the attribute you want to insert an element.
  <info>string</info>    <strong>$set_element</strong>      Content of the element you want to insert.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: cubrid_set_autocommit
type: function
doc:
<comment>Description:</comment>
  Set autocommit mode of the connection
  
  The <strong>cubrid_set_autocommit()</strong> function is used to set the CUBRID database auto-commit mode of the
  current database connection.
  
  In CUBRID PHP, auto-commit mode is disabled by default for transaction management. When
  auto-commit mode is truned from off to on, any pending work is automatically committed.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>bool</info>      <strong>$mode</strong>             Auto-commit mode. The following constants can be used:
                              
                              <info>CUBRID_AUTOCOMMIT_FALSE</info><info>CUBRID_AUTOCOMMIT_TRUE</info>

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_get_autocommit()</strong>
   * <strong>cubrid_commit()</strong>


id: cubrid_set_db_parameter
type: function
doc:
<comment>Description:</comment>
  Sets the CUBRID database parameters
  
  The <strong>cubrid_set_db_parameter()</strong> function is used to set the CUBRID database parameters. It can set
  the following CUBRID database parameters:
  
  <info>PARAM_ISOLATION_LEVEL</info><info>PARAM_LOCK_TIMEOUT</info>
  
  The auto-commit mode can be set by using <strong>cubrid_set_autocommit()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection. If the connection identifier is not specified,
                              the last link opened by <strong>cubrid_connect()</strong> is assumed.
  <info>int</info>       <strong>$param_type</strong>       Database parameter type.
  <info>int</info>       <strong>$param_value</strong>      Isolation level value (1-6) or lock timeout (in seconds) value.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>cubrid_get_db_parameter()</strong>
   * <strong>cubrid_set_autocommit()</strong>


id: cubrid_set_drop
type: function
doc:
<comment>Description:</comment>
  Delete an element from set type column using OID
  
  The <strong>cubrid_set_drop()</strong> function is used to delete an element that you request from the given set
  type (set, multiset) attribute of the database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$conn_identifier</strong>  Connection identifier.
  <info>string</info>    <strong>$oid</strong>              OID of the instance you want to work with.
  <info>string</info>    <strong>$attr_name</strong>        Name of the attribute you want to delete an element from.
  <info>string</info>    <strong>$set_element</strong>      Content of the element you want to delete.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: cubrid_set_query_timeout
type: function
doc:
<comment>Description:</comment>
  Set the timeout time of query execution
  
  The <strong>cubrid_set_query_timeout()</strong> function is used to set the timeout time of query execution.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req_identifier</strong>  Request identifier.
  <info>int</info>       <strong>$timeout</strong>         Timeout time in milliseconds.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

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


id: cubrid_unbuffered_query
type: function
doc:
<comment>Description:</comment>
  Perform a query without fetching the results into memory
  
  This function performs a query without waiting for that all query results have been complete. It
  will return  when the results are being generated.

<comment>Param:</comment>
  <info>string</info>    <strong>$query</strong>            A SQL query.
  <info>resource</info>  <strong>$conn_identifier</strong>  The CUBRID connection. If the connection identifier is not specified,
                              the last connection opened by <strong>cubrid_connect()</strong> is assumed.

<comment>Return:</comment>
  <info>resource</info>  For SELECT, SHOW, DESCRIBE or EXPLAIN statements returns a request identifier resource
            on success.
            
            For other type of SQL statements, UPDATE, DELETE, DROP, etc, returns <info>true</info> on success.
            
            <info>false</info> on failure.


id: cubrid_version
type: function
doc:
<comment>Description:</comment>
  Get the CUBRID PHP module's version
  
  The <strong>cubrid_version()</strong> function is used to get the CUBRID PHP module's version.

<comment>Return:</comment>
  <info>string</info>  Version information (eg. "8.3.1.0001").

<comment>See Also:</comment>
   * <strong>cubrid_error_code()</strong>
   * <strong>cubrid_error_code_facility()</strong>


id: curl_close
type: function
doc:
<comment>Description:</comment>
  Fecha uma sessão cURL
  
  Esta função não tem efeito. Antes do PHP 8.0.0, esta função era usada para fechar o recurso.
  
  Fecha uma sessão cURL e libera todos os recursos. O controlador cURL, <strong>$handle</strong>, também é deletado.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>void</info>  Nenhum valor é retornado.

<comment>See Also:</comment>
   * <strong>curl_init()</strong>
   * <strong>curl_multi_close()</strong>


id: curl_copy_handle
type: function
doc:
<comment>Description:</comment>
  Copia um controlador cURL com todas as suas opções
  
  Copia um controlador cURL, mantendo as opções escolhidas.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>CurlHandle|false</info>  Retorna um novo controlador cURL,  ou <info>false</info> em caso de falha.


id: curl_errno
type: function
doc:
<comment>Description:</comment>
  Retorna o número do último erro
  
  Retorna o número do erro para a última operação cURL.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>int</info>  Retorna o número do erro ou <return>0</return> (zero) caso nenhum erro tenha acontecido.

<comment>See Also:</comment>
   * <strong>curl_error()</strong>
   * Códigos de erro cURL


id: curl_error
type: function
doc:
<comment>Description:</comment>
  Retorna uma string contendo o último erro da sessão atual
  
  Retorna uma mensagem de erro de texto simples para a última operação cURL.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>string</info>  Retorna a mensagem de erro ou <return>''</return> (a string vazia) se nenhum erro ocorreu.

<comment>See Also:</comment>
   * <strong>curl_errno()</strong>
   * Códigos de erros Curl


id: curl_escape
type: function
doc:
<comment>Description:</comment>
  Codifica uma string para o formato URL
  
  Essa função codifica uma string para o formato URL de acordo com RFC 3986.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.
  <info>string</info>      <strong>$string</strong>  A string a ser codificada.

<comment>Return:</comment>
  <info>string|false</info>  Retorna a string codificada ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>curl_unescape()</strong>
   * <strong>urlencode()</strong>
   * <strong>rawurlencode()</strong>
   * RFC 3986


id: curl_exec
type: function
doc:
<comment>Description:</comment>
  Executa uma sessão cURL
  
  Execute a sessão cURL fornecida.
  
  Esta função deve ser chamada após inicializar uma sessão cURL e todas as opções para a sessão são
  definidas.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>string|bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha. No entanto, se a opção
               <info>CURLOPT_RETURNTRANSFER</info> estiver definida, ela retornará o resultado em caso de
               sucesso, <info>false</info> em caso de falha.
               
               Esta função pode
               retornar o valor booleano <info>false</info>, mas também pode retornar um valor não booleano que
               pode ser
               avaliado como <info>false</info>. Leia a seção sobre Booleanos para mais
               informações. Use o operador
               === para testar o valor retornado por esta
               função.
               
               Observe que os códigos de retorno que indicam erros (como por exemplo <return>404 Not found</return>)
               não são tratados como falhas. Use <strong>curl_getinfo()</strong> para verificar esses casos.

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


id: curl_getinfo
type: function
doc:
<comment>Description:</comment>
  Obtém informação sobre uma transferência específica
  
  Obtém informação sobre a última transferência.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.
  <info>int|null</info>    <strong>$option</strong>  Pode ser uma das seguintes constantes: <info>CURLINFO_EFFECTIVE_URL</info> - Última URL
                       efetiva <info>CURLINFO_HTTP_CODE</info> -  O último código de resposta. A partir do cURL
                       7.10.8, é um apelido legado de <info>CURLINFO_RESPONSE_CODE</info> <info>CURLINFO_FILETIME</info> -
                       Horário remoto do documento obtido, com a constante <info>CURLOPT_FILETIME</info>
                       habilitada; se -1 for retornado, o horário do documento é desconhecido
                       <info>CURLINFO_TOTAL_TIME</info> - Tempo total de transação em segundos para a última
                       transferência <info>CURLINFO_NAMELOOKUP_TIME</info> - Tempo em segundos até que a
                       resolução de nome foi concluída <info>CURLINFO_CONNECT_TIME</info> - Tempo em segundos
                       para estabelecer a conexão <info>CURLINFO_PRETRANSFER_TIME</info> - Tempo em segundos do
                       início até logo antes de iniciar a transferência de arquivo
                       <info>CURLINFO_STARTTRANSFER_TIME</info> - Tempo em segundos até que o primeiro byte está
                       para ser transferido <info>CURLINFO_REDIRECT_COUNT</info> - Número de redirecionamentos,
                       com a opção <info>CURLOPT_FOLLOWLOCATION</info> habilitada <info>CURLINFO_REDIRECT_TIME</info> - Tempo
                       em segundos de todos as etapas de redirecionamento antes do início da
                       transação final, com a opção <info>CURLOPT_FOLLOWLOCATION</info> habilitada
                       <info>CURLINFO_REDIRECT_URL</info> - Com a opção <info>CURLOPT_FOLLOWLOCATION</info> desabilitada: URL
                       de redirecionamento encontrada na última transação, que deverá ser
                       requisitada manualmente na sequência. Com a opção <info>CURLOPT_FOLLOWLOCATION</info>
                       desabilitada: isto fica vazio. A URL de redirecionamento neste caso fica
                       disponível em <info>CURLINFO_EFFECTIVE_URL</info> <info>CURLINFO_PRIMARY_IP</info> - Endereço IP da
                       conexão mais recente <info>CURLINFO_PRIMARY_PORT</info> - Porta de destino da conexão mais
                       recente <info>CURLINFO_LOCAL_IP</info> - Endereço IP local (origem) da conexão mais
                       recente <info>CURLINFO_LOCAL_PORT</info> - Porta local (origem) da conexão mais recente
                       <info>CURLINFO_SIZE_UPLOAD</info> - Número total de bytes enviados <info>CURLINFO_SIZE_DOWNLOAD</info>
                       - Número total de bytes recebidos <info>CURLINFO_SPEED_DOWNLOAD</info> - Velocidade média
                       de recepção <info>CURLINFO_SPEED_UPLOAD</info> - Velocidade média de envio
                       <info>CURLINFO_HEADER_SIZE</info> - Tamanho total de todos os cabeçalhos recebidos
                       <info>CURLINFO_HEADER_OUT</info> - A string de requisição enviada. Para que isto funcione,
                       deve-se adicionar a opção <info>CURLINFO_HEADER_OUT</info> ao manipulador chamando-se
                       <strong>curl_setopt()</strong> <info>CURLINFO_REFERER</info> - O cabeçalho do referenciados
                       <info>CURLINFO_REQUEST_SIZE</info> - Tamanho total de requisições emitidas, atualmente
                       apenas para requisições HTTP <info>CURLINFO_RETRY_AFTER</info> - A informação do cabeçalho
                       <return>Retry-After:</return>, ou zero se não houver cabeçalho válido.
                       <info>CURLINFO_SSL_VERIFYRESULT</info> - Resultado da verificação de certificado SSL
                       requisitada pela habilitação da opção <info>CURLOPT_SSL_VERIFYPEER</info>
                       <info>CURLINFO_CONTENT_LENGTH_DOWNLOAD</info> - Tamanho do conteúdo recebido, lido do
                       campo <return>Content-Length:</return> <info>CURLINFO_CONTENT_LENGTH_UPLOAD</info> - Tamanho especificado
                       do upload <info>CURLINFO_CONTENT_TYPE</info> - <return>Content-Type:</return> do documento requisitado.
                       NULL indica que o servidor não enviou o cabeçalho <return>Content-Type:</return>
                       <info>CURLINFO_PRIVATE</info> - Dados privados associados a este manipulador cURL,
                       previamente configurado com a opção <info>CURLOPT_PRIVATE</info> da função <strong>curl_setopt()</strong>
                       <info>CURLINFO_PROXY_ERROR</info> - O código de erro detalhado do proxy (SOCKS) quando a
                       transferência mais recente retorna um erro <info>CURLE_PROXY</info>. O valor retornado
                       será exatamente um dos valores <info>CURLPX_*</info>. O código de erro será <info>CURLPX_OK</info> se
                       nenhum código de resposta estiver disponível. <info>CURLINFO_RESPONSE_CODE</info> - O
                       último código de resposta <info>CURLINFO_HTTP_CONNECTCODE</info> - O código de resposta de
                       CONNECT <info>CURLINFO_HTTPAUTH_AVAIL</info> - Máscara de bits indicando os métodos de
                       autenticação disponíveis de acordo com a resposta anterior
                       <info>CURLINFO_PROXYAUTH_AVAIL</info> - Máscara de bits indicando os métodos de
                       autenticação do proxy disponíveis de acordo com a resposta anterior
                       <info>CURLINFO_OS_ERRNO</info> - Número do erro de uma falha de conexão. O número depende
                       da arquitetura e do sistema operacional. <info>CURLINFO_NUM_CONNECTS</info> - Número de
                       conexões que curl teve de criar para concluir a transferência anterior
                       <info>CURLINFO_SSL_ENGINES</info> - Esquemas de criptografia OpenSSL suportados
                       <info>CURLINFO_COOKIELIST</info> - Todos os cookies conhecidos <info>CURLINFO_FTP_ENTRY_PATH</info> -
                       Caminho de entrada no servidor FTP <info>CURLINFO_APPCONNECT_TIME</info> - Tempo em
                       segundos decorrido do início até que a conexão/negociação SSL/SSH ao servidor
                       remoto foi concluída <info>CURLINFO_CERTINFO</info> - Cadeia de certificados TLS
                       <info>CURLINFO_CONDITION_UNMET</info> - Informação sobre condição de tempo não cumprida
                       <info>CURLINFO_RTSP_CLIENT_CSEQ</info> - Próximo CSeq do cliente RTSP
                       <info>CURLINFO_RTSP_CSEQ_RECV</info> - CSeq recentemente recebido
                       <info>CURLINFO_RTSP_SERVER_CSEQ</info> - Próximo CSeq do servidor RTSP
                       <info>CURLINFO_RTSP_SESSION_ID</info> - ID de sessão RTSP
                       <info>CURLINFO_CONTENT_LENGTH_DOWNLOAD_T</info> - O tamanho do conteúdo recebido. Isto é o
                       valor lido do campo <return>Content-Length:</return>. -1 se o tamanho for desconhecido
                       <info>CURLINFO_CONTENT_LENGTH_UPLOAD_T</info> - O tamanho especificado do envio. -1 se o
                       tamanho for desconhecido <info>CURLINFO_HTTP_VERSION</info> - A versão usada na última
                       conexão HTTP. O valor de retorno será uma das constantes <info>CURL_HTTP_VERSION_*</info>
                       definidas ou 0 se a versão não puder ser determinada <info>CURLINFO_PROTOCOL</info> - O
                       protocolo usado na última conexão HTTP. O valor retornado será exatamente uma
                       dos valores <info>CURLPROTO_*</info> <info>CURLINFO_PROXY_SSL_VERIFYRESULT</info> - O resultado da
                       verificação de certificado que foi requisitada (usando a opção
                       <info>CURLOPT_PROXY_SSL_VERIFYPEER</info>). Usado apenas para proxy HTTPS <info>CURLINFO_SCHEME</info>
                       - O esquema de URL usado para a conexão mais recente <info>CURLINFO_SIZE_DOWNLOAD_T</info>
                       - O número total de bytes recebidos. O número refere-se apenas à última
                       transferência e será redefinido para cada nova transferência
                       <info>CURLINFO_SIZE_UPLOAD_T</info> - Número total de bytes enviados
                       <info>CURLINFO_SPEED_DOWNLOAD_T</info> - A velocidade média de recebimento em
                       bytes/segundo que curl mediu para todo o recebimento de dados
                       <info>CURLINFO_SPEED_UPLOAD_T</info> - A velocidade média de envio em bytes/segundo que
                       curl mediu para todo o envio de dados <info>CURLINFO_APPCONNECT_TIME_T</info> - Tempo em
                       microssegundos decorrido do início até que a conexão/negociação SSL/SSH ao
                       servidor remoto tenha sido concluída <info>CURLINFO_CONNECT_TIME_T</info> - Tempo em
                       microssegundos decorrido do início até que a conexão ao servidor remoto (ou
                       proxy) tenha sido concluída <info>CURLINFO_FILETIME_T</info> - Horário remoto do documento
                       recebido (em timestamp Unix), como alternativa a <info>CURLINFO_FILETIME</info> para
                       permitir que sistemas com variáveis de 32 bit extraiam datas fora da faixa de
                       32-bits <info>CURLINFO_NAMELOOKUP_TIME_T</info> - Tempo em microssegundos do início até
                       que a conclusão da resolução de nome <info>CURLINFO_PRETRANSFER_TIME_T</info> - Tempo
                       decorrido do início até que a transferência de arquivos esteja para iniciar,
                       em microssegundos <info>CURLINFO_REDIRECT_TIME_T</info> - Tempo total em microssegundos
                       decorrido para todas as etapas de redirecionamento incluindo pesquisa de
                       nome, conexão, pré-transferência e transferência, antes do início da
                       transação final <info>CURLINFO_STARTTRANSFER_TIME_T</info> - Tempo em microssegundos
                       decorrido do início até o recebimento do primeiro byte <info>CURLINFO_TOTAL_TIME_T</info>
                       - Tempo total em microssegundos da transferência anterior, including
                       resolução de nome, conexão TCP etc.
                       
                       <info>CURLINFO_EFFECTIVE_URL</info> - Última URL efetiva
                       
                       <info>CURLINFO_HTTP_CODE</info> -  O último código de resposta. A partir do cURL 7.10.8, é
                       um apelido legado de <info>CURLINFO_RESPONSE_CODE</info>
                       
                       <info>CURLINFO_FILETIME</info> - Horário remoto do documento obtido, com a constante
                       <info>CURLOPT_FILETIME</info> habilitada; se -1 for retornado, o horário do documento é
                       desconhecido
                       
                       <info>CURLINFO_TOTAL_TIME</info> - Tempo total de transação em segundos para a última
                       transferência
                       
                       <info>CURLINFO_NAMELOOKUP_TIME</info> - Tempo em segundos até que a resolução de nome foi
                       concluída
                       
                       <info>CURLINFO_CONNECT_TIME</info> - Tempo em segundos para estabelecer a conexão
                       
                       <info>CURLINFO_PRETRANSFER_TIME</info> - Tempo em segundos do início até logo antes de
                       iniciar a transferência de arquivo
                       
                       <info>CURLINFO_STARTTRANSFER_TIME</info> - Tempo em segundos até que o primeiro byte está
                       para ser transferido
                       
                       <info>CURLINFO_REDIRECT_COUNT</info> - Número de redirecionamentos, com a opção
                       <info>CURLOPT_FOLLOWLOCATION</info> habilitada
                       
                       <info>CURLINFO_REDIRECT_TIME</info> - Tempo em segundos de todos as etapas de
                       redirecionamento antes do início da transação final, com a opção
                       <info>CURLOPT_FOLLOWLOCATION</info> habilitada
                       
                       <info>CURLINFO_REDIRECT_URL</info> - Com a opção <info>CURLOPT_FOLLOWLOCATION</info> desabilitada: URL
                       de redirecionamento encontrada na última transação, que deverá ser
                       requisitada manualmente na sequência. Com a opção <info>CURLOPT_FOLLOWLOCATION</info>
                       desabilitada: isto fica vazio. A URL de redirecionamento neste caso fica
                       disponível em <info>CURLINFO_EFFECTIVE_URL</info>
                       
                       <info>CURLINFO_PRIMARY_IP</info> - Endereço IP da conexão mais recente
                       
                       <info>CURLINFO_PRIMARY_PORT</info> - Porta de destino da conexão mais recente
                       
                       <info>CURLINFO_LOCAL_IP</info> - Endereço IP local (origem) da conexão mais recente
                       
                       <info>CURLINFO_LOCAL_PORT</info> - Porta local (origem) da conexão mais recente
                       
                       <info>CURLINFO_SIZE_UPLOAD</info> - Número total de bytes enviados
                       
                       <info>CURLINFO_SIZE_DOWNLOAD</info> - Número total de bytes recebidos
                       
                       <info>CURLINFO_SPEED_DOWNLOAD</info> - Velocidade média de recepção
                       
                       <info>CURLINFO_SPEED_UPLOAD</info> - Velocidade média de envio
                       
                       <info>CURLINFO_HEADER_SIZE</info> - Tamanho total de todos os cabeçalhos recebidos
                       
                       <info>CURLINFO_HEADER_OUT</info> - A string de requisição enviada. Para que isto funcione,
                       deve-se adicionar a opção <info>CURLINFO_HEADER_OUT</info> ao manipulador chamando-se
                       <strong>curl_setopt()</strong>
                       
                       <info>CURLINFO_REFERER</info> - O cabeçalho do referenciados
                       
                       <info>CURLINFO_REQUEST_SIZE</info> - Tamanho total de requisições emitidas, atualmente
                       apenas para requisições HTTP
                       
                       <info>CURLINFO_RETRY_AFTER</info> - A informação do cabeçalho <return>Retry-After:</return>, ou zero se não
                       houver cabeçalho válido.
                       
                       <info>CURLINFO_SSL_VERIFYRESULT</info> - Resultado da verificação de certificado SSL
                       requisitada pela habilitação da opção <info>CURLOPT_SSL_VERIFYPEER</info>
                       
                       <info>CURLINFO_CONTENT_LENGTH_DOWNLOAD</info> - Tamanho do conteúdo recebido, lido do
                       campo <return>Content-Length:</return>
                       
                       <info>CURLINFO_CONTENT_LENGTH_UPLOAD</info> - Tamanho especificado do upload
                       
                       <info>CURLINFO_CONTENT_TYPE</info> - <return>Content-Type:</return> do documento requisitado. NULL indica
                       que o servidor não enviou o cabeçalho <return>Content-Type:</return>
                       
                       <info>CURLINFO_PRIVATE</info> - Dados privados associados a este manipulador cURL,
                       previamente configurado com a opção <info>CURLOPT_PRIVATE</info> da função <strong>curl_setopt()</strong>
                       
                       <info>CURLINFO_PROXY_ERROR</info> - O código de erro detalhado do proxy (SOCKS) quando a
                       transferência mais recente retorna um erro <info>CURLE_PROXY</info>. O valor retornado
                       será exatamente um dos valores <info>CURLPX_*</info>. O código de erro será <info>CURLPX_OK</info> se
                       nenhum código de resposta estiver disponível.
                       
                       <info>CURLINFO_RESPONSE_CODE</info> - O último código de resposta
                       
                       <info>CURLINFO_HTTP_CONNECTCODE</info> - O código de resposta de CONNECT
                       
                       <info>CURLINFO_HTTPAUTH_AVAIL</info> - Máscara de bits indicando os métodos de
                       autenticação disponíveis de acordo com a resposta anterior
                       
                       <info>CURLINFO_PROXYAUTH_AVAIL</info> - Máscara de bits indicando os métodos de
                       autenticação do proxy disponíveis de acordo com a resposta anterior
                       
                       <info>CURLINFO_OS_ERRNO</info> - Número do erro de uma falha de conexão. O número depende
                       da arquitetura e do sistema operacional.
                       
                       <info>CURLINFO_NUM_CONNECTS</info> - Número de conexões que curl teve de criar para
                       concluir a transferência anterior
                       
                       <info>CURLINFO_SSL_ENGINES</info> - Esquemas de criptografia OpenSSL suportados
                       
                       <info>CURLINFO_COOKIELIST</info> - Todos os cookies conhecidos
                       
                       <info>CURLINFO_FTP_ENTRY_PATH</info> - Caminho de entrada no servidor FTP
                       
                       <info>CURLINFO_APPCONNECT_TIME</info> - Tempo em segundos decorrido do início até que a
                       conexão/negociação SSL/SSH ao servidor remoto foi concluída
                       
                       <info>CURLINFO_CERTINFO</info> - Cadeia de certificados TLS
                       
                       <info>CURLINFO_CONDITION_UNMET</info> - Informação sobre condição de tempo não cumprida
                       
                       <info>CURLINFO_RTSP_CLIENT_CSEQ</info> - Próximo CSeq do cliente RTSP
                       
                       <info>CURLINFO_RTSP_CSEQ_RECV</info> - CSeq recentemente recebido
                       
                       <info>CURLINFO_RTSP_SERVER_CSEQ</info> - Próximo CSeq do servidor RTSP
                       
                       <info>CURLINFO_RTSP_SESSION_ID</info> - ID de sessão RTSP
                       
                       <info>CURLINFO_CONTENT_LENGTH_DOWNLOAD_T</info> - O tamanho do conteúdo recebido. Isto é o
                       valor lido do campo <return>Content-Length:</return>. -1 se o tamanho for desconhecido
                       
                       <info>CURLINFO_CONTENT_LENGTH_UPLOAD_T</info> - O tamanho especificado do envio. -1 se o
                       tamanho for desconhecido
                       
                       <info>CURLINFO_HTTP_VERSION</info> - A versão usada na última conexão HTTP. O valor de
                       retorno será uma das constantes <info>CURL_HTTP_VERSION_*</info> definidas ou 0 se a
                       versão não puder ser determinada
                       
                       <info>CURLINFO_PROTOCOL</info> - O protocolo usado na última conexão HTTP. O valor
                       retornado será exatamente uma dos valores <info>CURLPROTO_*</info>
                       
                       <info>CURLINFO_PROXY_SSL_VERIFYRESULT</info> - O resultado da verificação de certificado
                       que foi requisitada (usando a opção <info>CURLOPT_PROXY_SSL_VERIFYPEER</info>). Usado
                       apenas para proxy HTTPS
                       
                       <info>CURLINFO_SCHEME</info> - O esquema de URL usado para a conexão mais recente
                       
                       <info>CURLINFO_SIZE_DOWNLOAD_T</info> - O número total de bytes recebidos. O número
                       refere-se apenas à última transferência e será redefinido para cada nova
                       transferência
                       
                       <info>CURLINFO_SIZE_UPLOAD_T</info> - Número total de bytes enviados
                       
                       <info>CURLINFO_SPEED_DOWNLOAD_T</info> - A velocidade média de recebimento em
                       bytes/segundo que curl mediu para todo o recebimento de dados
                       
                       <info>CURLINFO_SPEED_UPLOAD_T</info> - A velocidade média de envio em bytes/segundo que
                       curl mediu para todo o envio de dados
                       
                       <info>CURLINFO_APPCONNECT_TIME_T</info> - Tempo em microssegundos decorrido do início até
                       que a conexão/negociação SSL/SSH ao servidor remoto tenha sido concluída
                       
                       <info>CURLINFO_CONNECT_TIME_T</info> - Tempo em microssegundos decorrido do início até que
                       a conexão ao servidor remoto (ou proxy) tenha sido concluída
                       
                       <info>CURLINFO_FILETIME_T</info> - Horário remoto do documento recebido (em timestamp
                       Unix), como alternativa a <info>CURLINFO_FILETIME</info> para permitir que sistemas com
                       variáveis de 32 bit extraiam datas fora da faixa de 32-bits
                       
                       <info>CURLINFO_NAMELOOKUP_TIME_T</info> - Tempo em microssegundos do início até que a
                       conclusão da resolução de nome
                       
                       <info>CURLINFO_PRETRANSFER_TIME_T</info> - Tempo decorrido do início até que a
                       transferência de arquivos esteja para iniciar, em microssegundos
                       
                       <info>CURLINFO_REDIRECT_TIME_T</info> - Tempo total em microssegundos decorrido para todas
                       as etapas de redirecionamento incluindo pesquisa de nome, conexão,
                       pré-transferência e transferência, antes do início da transação final
                       
                       <info>CURLINFO_STARTTRANSFER_TIME_T</info> - Tempo em microssegundos decorrido do início
                       até o recebimento do primeiro byte
                       
                       <info>CURLINFO_TOTAL_TIME_T</info> - Tempo total em microssegundos da transferência
                       anterior, including resolução de nome, conexão TCP etc.

<comment>Return:</comment>
  <info>mixed</info>  Se o parâmetro <strong>$option</strong> for fornecido, retorna seu valor. Caso contrário, retorna um array
         associativo com os elementos a seguir (que correspondem a <strong>$option</strong>), ou <info>false</info> em caso de
         falha:  "url"  "content_type"  "http_code"  "header_size"  "request_size"  "filetime"
         "ssl_verify_result"  "redirect_count"  "total_time"  "namelookup_time"  "connect_time"
         "pretransfer_time"  "size_upload"  "size_download"  "speed_download"  "speed_upload"
         "download_content_length"  "upload_content_length"  "starttransfer_time"  "redirect_time"
         "certinfo"  "primary_ip"  "primary_port"  "local_ip"  "local_port"  "redirect_url"
         "request_header" (Este somente será definido se a opção <info>CURLINFO_HEADER_OUT</info> for configurada
         por uma chamada prévia a <strong>curl_setopt()</strong>)  Note que dados privados não são incluídos no array
         associativo e devem ser obtidos individualmente com a opção <info>CURLINFO_PRIVATE</info>.
         
         "url"
         
         "content_type"
         
         "http_code"
         
         "header_size"
         
         "request_size"
         
         "filetime"
         
         "ssl_verify_result"
         
         "redirect_count"
         
         "total_time"
         
         "namelookup_time"
         
         "connect_time"
         
         "pretransfer_time"
         
         "size_upload"
         
         "size_download"
         
         "speed_download"
         
         "speed_upload"
         
         "download_content_length"
         
         "upload_content_length"
         
         "starttransfer_time"
         
         "redirect_time"
         
         "certinfo"
         
         "primary_ip"
         
         "primary_port"
         
         "local_ip"
         
         "local_port"
         
         "redirect_url"
         
         "request_header" (Este somente será definido se a opção <info>CURLINFO_HEADER_OUT</info> for configurada
         por uma chamada prévia a <strong>curl_setopt()</strong>)


id: curl_init
type: function
doc:
<comment>Description:</comment>
  Inicializar uma sessão cURL
  
  Inicializa uma nova sessão e retorna um identificador cURL para uso com as funções <strong>curl_setopt()</strong>,
  <strong>curl_exec()</strong>, e <strong>curl_close()</strong>.

<comment>Param:</comment>
  <info>string|null</info>  <strong>$url</strong>  Se fornecida, a opção <info>CURLOPT_URL</info> será definida com seu valor.Você pode definir
                     isso manualmente usando a função <strong>curl_setopt()</strong>.
                     
                     O protocolo <return>file</return> é desativado no cURL se open_basedir estiver definido.

<comment>Return:</comment>
  <info>CurlHandle|false</info>  Retorna um identificador cURL em caso de sucesso, <info>false</info> sobre erros.

<comment>See Also:</comment>
   * <strong>curl_close()</strong>
   * <strong>curl_multi_init()</strong>


id: curl_multi_add_handle
type: function
doc:
<comment>Description:</comment>
  Adiciona um manipulador cURL comum a um manipulador cURL múltiplo
  
  Adiciona o manipulador <strong>$handle</strong> ao manipulador múltiplo <strong>$multi_handle</strong>

<comment>Param:</comment>
  <info>CurlMultiHandle</info>  <strong>$multi_handle</strong>  Um manipulador cURL múltiplo retornado por
                                  <strong>curl_multi_init()</strong>.
  <info>CurlHandle</info>       <strong>$handle</strong>        Um manipulador cURL retornado por
                                  <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>int</info>  Retorna 0 em caso de sucesso, ou um dos códigos de erros <info>CURLM_XXX</info>.

<comment>See Also:</comment>
   * <strong>curl_multi_remove_handle()</strong>
   * <strong>curl_multi_init()</strong>
   * <strong>curl_init()</strong>


id: curl_multi_close
type: function
doc:
<comment>Description:</comment>
  Fechar um conjunto de alças cURL
  
  Esta função não tem efeito. Antes do PHP 8.0.0, esta função era usada para fechar o recurso.
  
  Fecha um conjunto de alças cURL.

<comment>Param:</comment>
  <info>CurlMultiHandle</info>  <strong>$multi_handle</strong>  Um manipulador cURL múltiplo retornado por
                                  <strong>curl_multi_init()</strong>.

<comment>Return:</comment>
  <info>void</info>  Nenhum valor é retornado.

<comment>See Also:</comment>
   * <strong>curl_multi_init()</strong>
   * <strong>curl_close()</strong>


id: curl_multi_errno
type: function
doc:
<comment>Description:</comment>
  Retorna o último número de erro de curl_multi
  
  Retorna um número inteiro contendo o último número de erro de multi curl.

<comment>Param:</comment>
  <info>CurlMultiHandle</info>  <strong>$multi_handle</strong>  Um manipulador cURL múltiplo retornado por
                                  <strong>curl_multi_init()</strong>.

<comment>Return:</comment>
  <info>int</info>  Retorna um número inteiro contendo o último número de erro de multi curl.

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


id: curl_multi_exec
type: function
doc:
<comment>Description:</comment>
  Executa as subconexões do manipulador cURL atual
  
  Processa cada um dos manipuladores na pilha. Este método pode ser chamado independentemente de um
  manipulador precisar ou não ler ou gravar dados.

<comment>Param:</comment>
  <info>CurlMultiHandle</info>  <strong>$multi_handle</strong>   Um manipulador cURL múltiplo retornado por
                                   <strong>curl_multi_init()</strong>.
  <info>int</info>              <strong>$still_running</strong>  Uma referência a um sinalizador para informar se as operações
                                   ainda estão em execução.

<comment>Return:</comment>
  <info>int</info>  Um código cURL definido nas Constantes Predefinidas cURL.
       
       Isso retorna apenas erros relacionados à pilha múltipla inteira. Ainda pode ter ocorrido
       problemas em transferências individuais mesmo quando esta função retorna <info>CURLM_OK</info>.

<comment>See Also:</comment>
   * <strong>curl_multi_init()</strong>
   * <strong>curl_multi_select()</strong>
   * <strong>curl_exec()</strong>


id: curl_multi_getcontent
type: function
doc:
<comment>Description:</comment>
  Retorna o conteúdo de um manipulador cURL se CURLOPT_RETURNTRANSFER estiver definido
  
  Se <info>CURLOPT_RETURNTRANSFER</info> for uma opção configurada para um manipulador específico, esta função
  retornará o conteúdo do manipulador cURL na forma de uma string.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>string|null</info>  Retorna o conteúdo de um manipulador cURL se <info>CURLOPT_RETURNTRANSFER</info> estiver definida
               ou <info>null</info> se não estiver.

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


id: curl_multi_info_read
type: function
doc:
<comment>Description:</comment>
  Obtém informação sobre as transferências atuais
  
  Interroga o manipulador múltiplo se existem mensagens ou informações das transferências
  individuais. Mensagens podem incluir informações como um código de erro da transferência ou apenas
  o fato de uma transferência ter sido concluída.
  
  Chamadas repetidas a esta função irão retornar um novo resultado a cada vez, até que um valor
  <info>false</info> for retornado como um sinal de que não há mais o que receber no momento. O inteiro apontado
  pelo parâmetro <strong>$queued_messages</strong> conterá o número de mensagens remanescentes depois que esta função
  foi chamada.
  
  Os dados apontados pelo recurso retornado não irão sobreviver à chamada a
  <strong>curl_multi_remove_handle()</strong>.

<comment>Param:</comment>
  <info>CurlMultiHandle</info>  <strong>$multi_handle</strong>     Um manipulador cURL múltiplo retornado por
                                     <strong>curl_multi_init()</strong>.
  <info>int</info>              <strong>$queued_messages</strong>  Número de mensagens que ainda estão na fila

<comment>Return:</comment>
  <info>array|false</info>  Em caso de sucesso, retorna um array associativo para a mensagem, <info>false</info> em caso de
               falha.
               
               Conteúdo do array retornadoChave:Valor:<return>msg</return>A constante <info>CURLMSG_DONE</info>. Outros valores de
               retorno autalmente não estão disponíveis.<return>result</return>Uma das constantes <info>CURLE_*</info>. Se tudo
               estiver correto, a constante <info>CURLE_OK</info> será o resultado.<return>handle</return>Recurso do tipo curl que
               indica o manipulador em questão.

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


id: curl_multi_init
type: function
doc:
<comment>Description:</comment>
  Retorna um multi-manipulador cURL
  
  Permite o processamento de manipuladores cURL múltiplos de forma assíncrona.

<comment>Return:</comment>
  <info>CurlMultiHandle</info>  Retorna um multi-manipulador cURL.

<comment>See Also:</comment>
   * <strong>curl_init()</strong>
   * <strong>curl_multi_close()</strong>


id: curl_multi_remove_handle
type: function
doc:
<comment>Description:</comment>
  Remove um manipulador de um conjunto de manipuladores cURL
  
  Remove um manipulador especificado por <strong>$handle</strong> do multi-manipulador fornecido por <strong>$multi_handle</strong>.
  Quando o manipulador <strong>$handle</strong> tiver sido removido, ainda é totalmente correto executar <strong>curl_exec()</strong>
  neste manipulador. Remover o manipulador <strong>$handle</strong> enquanto estiver sendo usado, irá efetivamente
  parar a transferência em progresso envolvendo este manipulador.

<comment>Param:</comment>
  <info>CurlMultiHandle</info>  <strong>$multi_handle</strong>  Um manipulador cURL múltiplo retornado por
                                  <strong>curl_multi_init()</strong>.
  <info>CurlHandle</info>       <strong>$handle</strong>        Um manipulador cURL retornado por
                                  <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>int</info>  Retorna 0 em caso de sucesso, ou um dos códigos de erro <info>CURLM_XXX</info>.

<comment>See Also:</comment>
   * <strong>curl_init()</strong>
   * <strong>curl_multi_init()</strong>
   * <strong>curl_multi_add_handle()</strong>


id: curl_multi_select
type: function
doc:
<comment>Description:</comment>
  Aguarda por atividade em qualquer multi-conexão cURL
  
  Bloqueia até que haja atividade em quaisquer das multi-conexões cURL.

<comment>Param:</comment>
  <info>CurlMultiHandle</info>  <strong>$multi_handle</strong>  Um manipulador cURL múltiplo retornado por
                                  <strong>curl_multi_init()</strong>.
  <info>float</info>            <strong>$timeout</strong>       Tempo em segundos a esperar por uma resposta.

<comment>Return:</comment>
  <info>int</info>  Em caso de sucesso, retorna o número de descritores contidos nos conjuntos de descritores.
       Pode ser 0 se não houve atividade em nenhum dos descritores. Em caso de falha, esta função
       retornará -1 em uma falha de seleção (da chamada de sistema subjacente select()).

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


id: curl_multi_setopt
type: function
doc:
<comment>Description:</comment>
  Define múltiplas opções para cURL
  
  Define uma opção no multi-manipulador cURL informado.

<comment>Param:</comment>
  <info>CurlMultiHandle</info>  <strong>$multi_handle</strong>  Um manipulador cURL múltiplo retornado por
                                  <strong>curl_multi_init()</strong>.
  <info>int</info>              <strong>$option</strong>        Uma das constantes <info>CURLMOPT_*</info>.
  <info>mixed</info>            <strong>$value</strong>         O valor a ser configurado em <strong>$option</strong>.
                                  
                                  <strong>$value</strong> deve ser um <info>int</info> para os seguintes valores do parâmetro
                                  <strong>$option</strong>: OpçãoConfigura o <strong>$value</strong> para<info>CURLMOPT_PIPELINING</info> Passe 1
                                  para habilitar ou 0 para desabilitar. Habilitar pipelining em um
                                  multi controlador irá fazer com que ele tente utilizar HTTP
                                  Pipelining quando possível para transferências usando esse
                                  controlador. Isso significa que se você adicionar uma segunda
                                  requisição que pode utilizar uma conexão já existente, a segunda
                                  requisição será transmitida ("piped") na mesma conexão. A partir
                                  do cURL 7.43.0 você também pode passar 2 para tentar fazer a nova
                                  transferência usando uma conexão HTTP/2 já existente se for
                                  possível. Passar 3 instrui o cURL a solicitar pipelining e
                                  multiplexação independentemente um do outro. A partir do cURL
                                  7.62.0, definir o bit de pipelining não tem efeito. Ao invés de
                                  usar números inteiros literalmente, você pode usar as constantes
                                  CURLPIPE_* quando disponíveis. <info>CURLMOPT_MAXCONNECTS</info> Passe um
                                  número que será usado como o número máximo de conexões abertas
                                  simultaneamente que libcurl pode deixar em cache. Por padrão, o
                                  tamanho será aumentado para abranger quatro vezes o número de
                                  controladores adicionados via <strong>curl_multi_add_handle()</strong>. Quando o
                                  cache estiver cheio, o curl fecha o mais antigo para evitar que o
                                  número de conexões abertas aumentem.
                                  <info>CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE</info> Passe um número que especifica
                                  o limite de tamanho de cada parte para pipelining em bytes.
                                  <info>CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE</info> Passe um número que
                                  especifica o limite de tamanho de penalidade para pipelining em
                                  bytes. <info>CURLMOPT_MAX_CONCURRENT_STREAMS</info> O número definido será
                                  usado como o número máximo de fluxos concorrentes que cURL deve
                                  suportar em conexões que usam HTTP/2. Valores válidos vão de <return>1</return> a
                                  <return>2147483647</return> (<return>2^31 - 1</return>). O valor passado aqui seria honrado com base
                                  em outras propriedades de recursos de sistemas. O padrão é <return>100</return>.
                                  <info>CURLMOPT_MAX_HOST_CONNECTIONS</info> Passe um número que especifica o
                                  número máximo de conexões à um único host.
                                  <info>CURLMOPT_MAX_PIPELINE_LENGTH</info> Passe um número que especifica o
                                  número máximo de requisições em um pipeline.
                                  <info>CURLMOPT_MAX_TOTAL_CONNECTIONS</info> Passe um número que especifica o
                                  número máximo de conexões abertas simultaneamentes.
                                  <info>CURLMOPT_PUSHFUNCTION</info> Passe um <info>callable</info> que será registrado para
                                  manipular o servidor pushes e deve ter a seguinte assinatura:
                                  <info>int</info>pushfunction<info>resource</info><strong>$parent_ch</strong><info>resource</info><strong>$pushed_ch</strong><info>array</info><strong>$headers</strong>
                                  <strong>$parent_ch</strong> O manipulador cURL pai (a solicitação feita pelo
                                  cliente). <strong>$pushed_ch</strong> Um novo identificador cURL para a solicitação
                                  enviada. <strong>$headers</strong> Os cabeçalhos de promessa push.  A função push
                                  deve retornar <info>CURL_PUSH_OK</info>se ele pode lidar com o push, ou
                                  <info>CURL_PUSH_DENY</info> para rejeitá-lo.
                                  
                                  O manipulador cURL pai (a solicitação feita pelo cliente).
                                  
                                  Um novo identificador cURL para a solicitação enviada.
                                  
                                  Os cabeçalhos de promessa push.
  <info>resource</info>         <strong>$parent_ch</strong>     O manipulador cURL pai (a solicitação feita pelo cliente).
  <info>resource</info>         <strong>$pushed_ch</strong>     Um novo identificador cURL para a solicitação enviada.
  <info>array</info>            <strong>$headers</strong>       Os cabeçalhos de promessa push.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.


id: curl_multi_strerror
type: function
doc:
<comment>Description:</comment>
  Retorna uma string que descreve o código de erro
  
  Retorna um texto descrevendo o código de erro de CURLM informado como parâmetro.

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  Uma das constantes de códigos de erros de CURLM.

<comment>Return:</comment>
  <info>string|null</info>  Retorna a descrição do erro para um código de erro válido, caso contrário <info>null</info>.

<comment>See Also:</comment>
   * <strong>curl_strerror()</strong>
   * Códigos de erros do cURL


id: curl_pause
type: function
doc:
<comment>Description:</comment>
  Pausa ou continua uma conexão
  
  Pausa ou continua uma sessão cURL. Uma sessão pode ser pausada enquanto uma transferência estiver
  em progresso, em leitura, escrita, ou ambos, através de chamada a esta função a partir de uma
  chamade de retorno registrada com <strong>curl_setopt()</strong>.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.
  <info>int</info>         <strong>$flags</strong>   Uma das constantes <info>CURLPAUSE_*</info>.

<comment>Return:</comment>
  <info>int</info>  Retorna um código de erro (<info>CURLE_OK</info> se não houver erro).


id: curl_reset
type: function
doc:
<comment>Description:</comment>
  Reseta todas as opções de um controlador de sessão libcurl
  
  Essa função reinicializa todas as opções configuradas no controlador cURL informado para os
  valores padrões.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.

<comment>Return:</comment>
  <info>void</info>  Nenhum valor é retornado.

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


id: curl_setopt
type: function
doc:
<comment>Description:</comment>
  Define uma opção para uma transferência cURL
  
  Define uma opção no identificador de sessão cURL fornecido.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  Um manipulador cURL retornado por
                       <strong>curl_init()</strong>.
  <info>int</info>         <strong>$option</strong>  A opção <return>CURLOPT_XXX</return> a ser definida.
  <info>mixed</info>       <strong>$value</strong>   O valor a ser definido na <strong>$option</strong>.
                       
                       <strong>$value</strong> deve ser um <info>bool</info> para os seguintes valores do parâmetro <strong>$option</strong>:
                       OpçãoDefinir <strong>$value</strong> paraNotas<info>CURLOPT_AUTOREFERER</info><info>true</info> para definir
                       automaticamente o campo <return>Referer:</return> nas solicitações em que segue um <return>Location:</return>
                       redirect.  <info>CURLOPT_COOKIESESSION</info><info>true</info> para marcar isso como uma nova "sessão"
                       de cookie. Isso forçará o libcurl a ignorar todos os cookies que está prestes
                       a carregar que são "cookies de sessão" da sessão anterior. Por padrão,
                       libcurl sempre armazena e carrega todos os cookies, independente se são
                       cookies de sessão ou não. Os cookies de sessão são cookies sem prazo de
                       validade e devem estar ativos e existentes apenas para esta "sessão".
                       <info>CURLOPT_CERTINFO</info><info>true</info> para enviar informações de certificação SSL para <return>STDERR</return>
                       em transferências seguras.  Adicionado no cURL 7.19.1. Requer que
                       <info>CURLOPT_VERBOSE</info> esteja ativado para ter efeito. <info>CURLOPT_CONNECT_ONLY</info><info>true</info> diz
                       à biblioteca para executar toda a autenticação de proxy necessária e
                       configuração de conexão, mas nenhuma transferência de dados. Esta opção é
                       implementada para HTTP, SMTP e POP3.  Adicionado em 7.15.2. <info>CURLOPT_CRLF</info><info>true</info>
                       para converter novas linhas Unix em novas linhas CRLF em transferências.
                       <info>CURLOPT_DISALLOW_USERNAME_IN_URL</info><info>true</info> para não permitir URLs que incluam um
                       nome de usuário. Os nomes de usuário são permitidos por padrão (0).
                       Adicionado no cURL 7.61.0. Disponível desde PHP 7.3.0.
                       <info>CURLOPT_DNS_SHUFFLE_ADDRESSES</info><info>true</info> para embaralhar a ordem de todos os
                       endereços retornados para que sejam usados em uma ordem aleatória, quando um
                       nome for resolvido e mais de um endereço IP for retornado. Isso pode fazer
                       com que o IPv4 seja usado antes do IPv6 ou vice-versa.  Adicionado no cURL
                       7.60.0. Disponível desde PHP 7.3.0. <info>CURLOPT_HAPROXYPROTOCOL</info><info>true</info> para enviar
                       um cabeçalho do protocolo HAProxy PROXY v1 no início da conexão. A ação
                       padrão é não enviar este cabeçalho.  Adicionado no cURL 7.60.0. Disponível
                       desde PHP 7.3.0. <info>CURLOPT_SSH_COMPRESSION</info><info>true</info> para ativar a compactação SSH
                       integrada. Este é um pedido, não uma ordem; o servidor pode ou não fazê-lo.
                       Adicionado no cURL 7.56.0. Disponível desde PHP 7.3.0.
                       <info>CURLOPT_DNS_USE_GLOBAL_CACHE</info><info>true</info> para usar um cache DNS global. Esta opção
                       não é thread-safe. Ele é ativado condicionalmente por padrão se o PHP for
                       construído para uso não encadeado (CLI, FCGI, Apache2-Prefork, etc.).
                       <info>CURLOPT_FAILONERROR</info><info>true</info> para falhar detalhadamente se o código HTTP retornado
                       for maior ou igual a 400. O comportamento padrão é retornar a página
                       normalmente, ignorando o código.  <info>CURLOPT_SSL_FALSESTART</info><info>true</info> para habilitar
                       início falso de TLS.  Adicionado no cURL 7.42.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_FILETIME</info><info>true</info> para tentar recuperar a data de modificação do documento
                       remoto. Esse valor pode ser recuperado usando a opção <info>CURLINFO_FILETIME</info> com
                       <strong>curl_getinfo()</strong>.  <info>CURLOPT_FOLLOWLOCATION</info><info>true</info> para seguir qualquer cabeçalho
                       <return>"Location: "</return> que o servidor envia como parte do cabeçalho HTTP. Consulte
                       também <info>CURLOPT_MAXREDIRS</info>.  <info>CURLOPT_FORBID_REUSE</info><info>true</info> para forçar a conexão a
                       fechar explicitamente quando terminar o processamento e não ser agrupada para
                       reutilização.  <info>CURLOPT_FRESH_CONNECT</info><info>true</info> para forçar o uso de uma nova
                       conexão em vez de uma em cache.  <info>CURLOPT_FTP_USE_EPRT</info><info>true</info> para usar EPRT (e
                       LPRT) ao fazer downloads FTP ativos. Use <info>false</info> para desabilitar EPRT e LPRT e
                       use apenas PORT.  <info>CURLOPT_FTP_USE_EPSV</info><info>true</info> para tentar primeiro um comando
                       EPSV para transferências FTP antes de reverter para PASV. Defina como <info>false</info>
                       para desativar o EPSV.  <info>CURLOPT_FTP_CREATE_MISSING_DIRS</info><info>true</info> para criar
                       diretórios ausentes quando uma operação de FTP encontra um caminho que não
                       existe no momento.  <info>CURLOPT_FTPAPPEND</info><info>true</info> para acrescentar ao arquivo remoto
                       em vez de substituí-lo.  <info>CURLOPT_TCP_NODELAY</info><info>true</info> para desabilitar o algoritmo
                       Nagle do TCP, que tenta minimizar o número de pequenos pacotes na rede.
                       Disponível para versões compiladas com libcurl 7.11.2 ou superior.
                       <info>CURLOPT_FTPASCII</info> Um alias de <info>CURLOPT_TRANSFERTEXT</info>. Use isso em vez disso.
                       <info>CURLOPT_FTPLISTONLY</info><info>true</info> para listar apenas os nomes de um diretório FTP.
                       <info>CURLOPT_HEADER</info><info>true</info> para incluir o cabeçalho na saída.
                       <info>CURLINFO_HEADER_OUT</info><info>true</info> para rastrear a string de solicitação do
                       identificador.  O prefixo <info>CURLINFO_</info> é intencional. <info>CURLOPT_HTTP09_ALLOWED</info> Se
                       deve permitir respostas HTTP/0.9. O padrão é <info>false</info> a partir de libcurl
                       7.66.0; anteriormente, o padrão era <info>true</info>.  Disponível desde PHP 7.3.15 e
                       7.4.3, respectivamente, se construído em libcurl &gt;= 7.64.0
                       <info>CURLOPT_HTTPGET</info><info>true</info> para redefinir o método de solicitação HTTP para GET.
                       Como GET é o padrão, isso só é necessário se o método de solicitação tiver
                       sido alterado.  <info>CURLOPT_HTTPPROXYTUNNEL</info><info>true</info> para encapsular por meio de um
                       determinado proxy HTTP.  <info>CURLOPT_HTTP_CONTENT_DECODING</info><info>false</info> para obter o
                       corpo da resposta HTTP bruta.  Disponível se construído em libcurl &gt;=
                       7.16.2. <info>CURLOPT_KEEP_SENDING_ON_ERROR</info><info>true</info> para continuar enviando o corpo da
                       solicitação se o código HTTP retornado for igual ou maior que 300. A ação
                       padrão seria interromper o envio e fechar o fluxo ou a conexão. Adequado para
                       autenticação NTLM manual. A maioria dos aplicativos não precisa dessa opção.
                       Disponível a partir do PHP 7.3.0 se construído em libcurl &gt;= 7.51.0.
                       <info>CURLOPT_MUTE</info><info>true</info> para ser completamente silencioso em relação às funções
                       cURL.  Removido no cURL 7.15.5 (em vez disso, você pode usar
                       CURLOPT_RETURNTRANSFER) <info>CURLOPT_NETRC</info><info>true</info> para verificar o arquivo ~/.netrc
                       para localizar um nome de usuário e senha para o site remoto com o qual uma
                       conexão está sendo estabelecida.  <info>CURLOPT_NOBODY</info><info>true</info> para excluir o corpo da
                       saída. O método de solicitação é definido como HEAD. Alterar isso para <info>false</info>
                       não o altera para GET.  <info>CURLOPT_NOPROGRESS</info><info>true</info> para desabilitar o medidor de
                       progresso para transferências cURL.  O PHP define automaticamente esta opção
                       como <info>true</info>, isso só deve ser alterado para fins de depuração.
                       <info>CURLOPT_NOSIGNAL</info><info>true</info> para ignorar qualquer função cURL que faça com que um
                       sinal seja enviado ao processo PHP. Isso é ativado por padrão em SAPIs
                       multi-threaded para que as opções de tempo limite ainda possam ser usadas.
                       Adicionado no cURL 7.10. <info>CURLOPT_PATH_AS_IS</info><info>true</info> para não lidar com sequências
                       de ponto e ponto.  Adicionado no cURL 7.42.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_PIPEWAIT</info><info>true</info> para aguardar pipelining/multiplexing.  Adicionado no
                       cURL 7.42.0. Disponível desde PHP 7.0.7. <info>CURLOPT_POST</info><info>true</info> para fazer um POST
                       HTTP regular. Este POST é o tipo <return>application/x-www-form-urlencoded</return> normal,
                       mais comumente usado por formulários HTML.  <info>CURLOPT_PUT</info><info>true</info> para HTTP PUT um
                       arquivo. O arquivo para PUT deve ser configurado com <info>CURLOPT_INFILE</info> e
                       <info>CURLOPT_INFILESIZE</info>.  <info>CURLOPT_RETURNTRANSFER</info><info>true</info> para retornar a transferência
                       como uma string do valor de retorno de <strong>curl_exec()</strong> em vez de emiti-la
                       diretamente.  <info>CURLOPT_SASL_IR</info><info>true</info> para habilitar o envio da resposta inicial
                       no primeiro pacote.  Adicionado em cURL 7.31.10. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_SSL_ENABLE_ALPN</info><info>false</info> para desabilitar o ALPN no handshake SSL (se o
                       backend SSL libcurl for construído para usá-lo), que pode ser usado para
                       negociar http2.  Adicionado no cURL 7.36.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_SSL_ENABLE_NPN</info><info>false</info> para desabilitar o NPN no handshake SSL (se o
                       backend SSL libcurl for construído para usá-lo), que pode ser usado para
                       negociar http2.  Adicionado no cURL 7.36.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_SSL_VERIFYPEER</info><info>false</info> para impedir que o cURL verifique o certificado
                       do par. Certificados alternativos para verificação podem ser especificados
                       com a opção <info>CURLOPT_CAINFO</info> ou um diretório de certificados pode ser
                       especificado com a opção <info>CURLOPT_CAPATH</info>. <info>true</info> por padrão a partir do cURL
                       7.10. Pacote padrão instalado a partir do cURL 7.10.
                       <info>CURLOPT_SSL_VERIFYSTATUS</info><info>true</info> para verificar o status do certificado.
                       Adicionado no cURL 7.41.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_PROXY_SSL_VERIFYPEER</info><info>false</info> para impedir que o cURL verifique o
                       certificado do par. Certificados alternativos para verificação podem ser
                       especificados com a opção <info>CURLOPT_CAINFO</info> ou um diretório de certificados pode
                       ser especificado com a opção <info>CURLOPT_CAPATH</info>. Quando definido como falso, a
                       verificação do certificado de mesmo nível é bem-sucedida. <info>true</info> por padrão.
                       Disponível desde PHP 7.3.0 e libcurl &gt;= cURL 7.52.0. <info>CURLOPT_SAFE_UPLOAD</info>
                       Sempre <info>true</info>, o que desabilita o suporte para o prefixo <return>@</return> para upload de
                       arquivos em <info>CURLOPT_POSTFIELDS</info>, o que significa que os valores que começam
                       com <return>@</return> podem ser passados com segurança como campos. <class>CURLFile</class> pode ser usado
                       para uploads.  <info>CURLOPT_SUPPRESS_CONNECT_HEADERS</info><info>true</info> para suprimir os
                       cabeçalhos de resposta CONNECT do proxy das funções de callback do usuário
                       <info>CURLOPT_HEADERFUNCTION</info> e <info>CURLOPT_WRITEFUNCTION</info>, quando
                       <info>CURLOPT_HTTPPROXYTUNNEL</info> é usado e uma solicitação CONNECT é feita.
                       Adicionado no cURL 7.54.0. Disponível desde PHP 7.3.0
                       <info>CURLOPT_TCP_FASTOPEN</info><info>true</info> para habilitar TCP Fast Open.  Adicionado em cURL
                       7.49.0. Disponível desde PHP 7.0.7. <info>CURLOPT_TFTP_NO_OPTIONS</info><info>true</info> para não
                       enviar solicitações de opções TFTP.  Adicionado no cURL 7.48.0. Disponível
                       desde PHP 7.0.7. <info>CURLOPT_TRANSFERTEXT</info><info>true</info> para usar o modo ASCII para
                       transferências FTP. Para LDAP, ele recupera dados em texto simples em vez de
                       HTML. Em sistemas Windows, ele não definirá <return>STDOUT</return> para o modo binário.
                       <info>CURLOPT_UNRESTRICTED_AUTH</info><info>true</info> para continuar enviando o nome de usuário e a
                       senha ao seguir os locais (usando <info>CURLOPT_FOLLOWLOCATION</info>), mesmo quando o
                       nome do host foi alterado.  <info>CURLOPT_UPLOAD</info><info>true</info> para se preparar para um
                       upload.  <info>CURLOPT_VERBOSE</info><info>true</info> para gerar informações detalhadas. Grava a saída
                       em <return>STDERR</return> ou no arquivo especificado usando <info>CURLOPT_STDERR</info>.
                       
                       <info>true</info> para desabilitar o medidor de progresso para transferências cURL.  O PHP
                       define automaticamente esta opção como <info>true</info>, isso só deve ser alterado para
                       fins de depuração.
                       
                       O PHP define automaticamente esta opção como <info>true</info>, isso só deve ser alterado
                       para fins de depuração.
                       
                       <strong>$value</strong> deve ser um <info>int</info> para os seguintes valores do parâmetro <strong>$option</strong>:
                       OpçãoDefinir <strong>$value</strong> paraNotas<info>CURLOPT_BUFFERSIZE</info> O tamanho do buffer a ser
                       usado para cada leitura. No entanto, não há garantia de que essa solicitação
                       será atendida.  Added in cURL 7.10. <info>CURLOPT_CONNECTTIMEOUT</info> O número de
                       segundos a aguardar durante a tentativa de conexão. Use 0 para esperar
                       indefinidamente.  <info>CURLOPT_CONNECTTIMEOUT_MS</info> O número de milissegundos de
                       espera durante a tentativa de conexão. Use 0 para esperar indefinidamente.
                       Se libcurl for construído para usar o resolvedor de nome do sistema padrão,
                       essa parte da conexão ainda usará a resolução de segundo completo para tempos
                       limite com um tempo limite mínimo permitido de um segundo.  Adicionado no
                       cURL 7.16.2. <info>CURLOPT_DNS_CACHE_TIMEOUT</info> O número de segundos para manter as
                       entradas DNS na memória. Esta opção é definida como 120 (2 minutos) por
                       padrão.  <info>CURLOPT_EXPECT_100_TIMEOUT_MS</info> O tempo limite para respostas de
                       <return>Expect: 100-continue</return> em milissegundos. O padrão é 1000 milissegundos.
                       Adicionado no cURL 7.36.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS</info> Avance para o ipv6 para o algoritmo de
                       happy eyeballs. Happy eyeballs tenta se conectar a endereços IPv4 e IPv6 para
                       hosts dual-stack, preferindo IPv6 primeiro para milissegundos de tempo
                       limite. O padrão é CURL_HET_DEFAULT, que atualmente é de 200 milissegundos.
                       Adicionado em cURL 7.59.0. Disponível desde PHP 7.3.0. <info>CURLOPT_FTPSSLAUTH</info> O
                       método de autenticação FTP (quando ativado): <return>CURLFTPAUTH_SSL</return> (tente SSL
                       primeiro), <return>CURLFTPAUTH_TLS</return> (tente TLS primeiro) ou <return>CURLFTPAUTH_DEFAULT</return> (deixe
                       cURL decidir).  Adicionado no cURL 7.12.2. <info>CURLOPT_HEADEROPT</info> Como lidar com
                       cabeçalhos. Uma das seguintes constantes: <info>CURLHEADER_UNIFIED</info>: os cabeçalhos
                       especificados em <info>CURLOPT_HTTPHEADER</info> serão utilizados nas requisições tanto
                       para servidores quanto para proxies. Com esta opção habilitada,
                       <info>CURLOPT_PROXYHEADER</info> não terá nenhum efeito.  <info>CURLHEADER_SEPARATE</info>: faz com que
                       os cabeçalhos <info>CURLOPT_HTTPHEADER</info> sejam enviados apenas para um servidor e não
                       para um proxy. Os cabeçalhos de proxy devem ser definidos com
                       <info>CURLOPT_PROXYHEADER</info> para serem usados. Observe que, se uma solicitação
                       non-CONNECT for enviada a um proxy, libcurl enviará cabeçalhos de servidor e
                       cabeçalhos de proxy. Ao fazer CONNECT, libcurl enviará cabeçalhos
                       <info>CURLOPT_PROXYHEADER</info> apenas para o proxy e, em seguida, cabeçalhos
                       <info>CURLOPT_HTTPHEADER</info> apenas para o servidor.   O padrão é <info>CURLHEADER_SEPARATE</info> a
                       partir de cURL 7.42.1 e <info>CURLHEADER_UNIFIED</info> antes.   Adicionado no cURL
                       7.37.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_HTTP_VERSION</info><info>CURL_HTTP_VERSION_NONE</info> (padrão, permite que CURL decida
                       qual versão usar), <info>CURL_HTTP_VERSION_1_0</info> (força HTTP/1.0),
                       <info>CURL_HTTP_VERSION_1_1</info> (força HTTP/1.1), <info>CURL_HTTP_VERSION_2_0</info> (tenta HTTP 2),
                       <info>CURL_HTTP_VERSION_2</info> (alias de <info>CURL_HTTP_VERSION_2_0</info>), <info>CURL_HTTP_VERSION_2TLS</info>
                       (somente tenta HTTP 2 sobre TLS (HTTPS)) ou
                       <info>CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE</info> (emite solicitações HTTP não TLS usando
                       HTTP/2 sem atualização HTTP/1.1).  <info>CURLOPT_HTTPAUTH</info> Os métodos de
                       autenticação HTTP a serem usados. As opções são: <info>CURLAUTH_BASIC</info>,
                       <info>CURLAUTH_DIGEST</info>, <info>CURLAUTH_GSSNEGOTIATE</info>, <info>CURLAUTH_NTLM</info>, <info>CURLAUTH_AWS_SIGV4</info>,
                       <info>CURLAUTH_ANY</info> e <info>CURLAUTH_ANYSAFE</info>.  O operador <return>|</return> (ou) pode ser usado para
                       combinar mais de um método. Se isso for feito, o cURL pesquisará o servidor
                       para ver quais métodos ele suporta e escolher o melhor. <info>CURLAUTH_ANY</info> define
                       todos os bits. cURL selecionará automaticamente aquele que encontrar mais
                       seguro. <info>CURLAUTH_ANYSAFE</info> define todos os bits, exceto <return>CURLAUTH_BASIC</return>. cURL
                       selecionará automaticamente o método que considerar mais seguro.
                       <info>CURLOPT_INFILESIZE</info> O tamanho esperado, em bytes, do arquivo ao fazer upload
                       de um arquivo para um site remoto. Observe que usar esta opção não impedirá
                       que libcurl envie mais dados, pois exatamente o que é enviado depende de
                       <info>CURLOPT_READFUNCTION</info>.  <info>CURLOPT_LOW_SPEED_LIMIT</info> A velocidade de transferência,
                       em bytes por segundo, que a transferência deve estar abaixo durante a
                       contagem de <info>CURLOPT_LOW_SPEED_TIME</info> segundos antes do PHP considerar a
                       transferência muito lenta e abortar.  <info>CURLOPT_LOW_SPEED_TIME</info> O número de
                       segundos que a velocidade de transferência deve estar abaixo de
                       <info>CURLOPT_LOW_SPEED_LIMIT</info> antes que o PHP considere a transferência muito lenta
                       e aborte.  <info>CURLOPT_MAIL_RCPT_ALLLOWFAILS</info> Permite que o comando RCPT TO falhe
                       para alguns destinatários.  Ao enviar dados para vários destinatários, por
                       padrão, o cURL abortará a conversa SMTP se pelo menos um dos destinatários
                       causar um erro ao comando RCPT TO. Esta opção instrui o cURL a ignorar erros
                       e prosseguir com os destinatários válidos restantes. Se todos os
                       destinatários acionarem falhas no RCPT TO e esta sinalização estiver
                       configurada, o cURL abortará a conversa SMTP e retornará o erro recebido do
                       último comando RCPT TO.  <info>CURLOPT_MAXAGE_CONN</info> O tempo máximo de inatividade
                       permitido para que uma conexão existente seja considerada para reutilização.
                       O padrão é definido como <return>118</return> segundos.  <info>CURLOPT_MAXFILESIZE_LARGE</info> O tamanho
                       máximo do arquivo em bytes permitido para download. Se o arquivo solicitado
                       for encontrado com um tamanho maior do que esse valor, a transferência não
                       será iniciada e será retornado <info>CURLE_FILESIZE_EXCEEDED</info>. O tamanho do arquivo
                       nem sempre é conhecido antes do download, e para tais arquivos, esta opção
                       não tem efeito, mesmo que a transferência do arquivo acabe sendo maior do que
                       esse limite fornecido.  <info>CURLOPT_MAXLIFETIME_CONN</info> O tempo máximo em segundos,
                       desde a criação da conexão, permitido para que uma conexão existente seja
                       considerada para reutilização. Se for encontrada uma conexão em cache que
                       seja mais antiga do que esse valor, ela será fechada assim que quaisquer
                       transferências em andamento forem concluídas. O padrão é 0 segundos, o que
                       significa que a opção está desativada e todas as conexões são elegíveis para
                       reutilização.  <info>CURLOPT_MAXCONNECTS</info> A quantidade máxima de conexões
                       persistentes permitidas. Quando o limite é atingido, o mais antigo do cache é
                       fechado para evitar o aumento do número de conexões abertas.
                       <info>CURLOPT_MAXREDIRS</info> A quantidade máxima de redirecionamentos HTTP a seguir. Use
                       esta opção juntamente com <info>CURLOPT_FOLLOWLOCATION</info>. O valor padrão de <return>20</return> é
                       definido para evitar redirecionamentos infinitos. Definir como <return>-1</return> permite
                       redirecionamentos infinitos e <return>0</return> recusa todos os redirecionamentos.
                       <info>CURLOPT_PORT</info> Um número de porta alternativo para se conectar.
                       <info>CURLOPT_POSTREDIR</info> Uma máscara de bits de 1 (301 movido permanentemente), 2
                       (302 encontrado) e 4 (303 consulte outro) se o método HTTP POST deve ser
                       mantido quando <info>CURLOPT_FOLLOWLOCATION</info> é definido e ocorre um tipo específico
                       de redirecionamento.  Adicionado no cURL 7.19.1. <info>CURLOPT_PROTOCOLS</info> Máscara de
                       bits de valores <info>CURLPROTO_*</info>. Se usado, esta máscara de bits limita quais
                       protocolos libcurl pode usar na transferência. Isso permite que você tenha um
                       libcurl construído para suportar uma ampla gama de protocolos, mas ainda
                       limitar transferências específicas para poder usar apenas um subconjunto
                       deles. Por padrão, o libcurl aceitará todos os protocolos que ele suporta.
                       Consulte também <info>CURLOPT_REDIR_PROTOCOLS</info>.  As opções de protocolo válidas são:
                       <info>CURLPROTO_HTTP</info>, <info>CURLPROTO_HTTPS</info>, <info>CURLPROTO_FTP</info>, <info>CURLPROTO_FTPS</info>,
                       <info>CURLPROTO_SCP</info>, <info>CURLPROTO_SFTP</info>, <info>CURLPROTO_TELNET</info>, <info>CURLPROTO_LDAP</info>,
                       <info>CURLPROTO_LDAPS</info>, <info>CURLPROTO_DICT</info>, <info>CURLPROTO_FILE</info>, <info>CURLPROTO_TFTP</info>,
                       <info>CURLPROTO_MQTT</info>, <info>CURLPROTO_ALL</info>  Adicionado no cURL 7.19.4. <info>CURLOPT_PROXYAUTH</info>
                       Os métodos de autenticação HTTP a serem usados para a conexão proxy. Use as
                       mesmas máscaras de bits descritas em <info>CURLOPT_HTTPAUTH</info>. Para autenticação de
                       proxy, apenas <info>CURLAUTH_BASIC</info> e <info>CURLAUTH_NTLM</info> são suportados atualmente.
                       Adicionado no cURL 7.10.7. <info>CURLOPT_PROXYPORT</info> O número da porta do proxy ao
                       qual se conectar. Esse número de porta também pode ser definido em
                       <info>CURLOPT_PROXY</info>.  <info>CURLOPT_PROXYTYPE</info><info>CURLPROXY_HTTP</info> (padrão), <info>CURLPROXY_SOCKS4</info>,
                       <info>CURLPROXY_SOCKS5</info>, <info>CURLPROXY_SOCKS4A</info> ou <info>CURLPROXY_SOCKS5_HOSTNAME</info>.  Adicionado
                       no cURL 7.10. <info>CURLOPT_REDIR_PROTOCOLS</info> Máscara de bits de valores <info>CURLPROTO_*</info>
                       Se usado, esta máscara de bits limita quais protocolos libcurl pode usar em
                       uma transferência que segue em um redirecionamento quando
                       <info>CURLOPT_FOLLOWLOCATION</info> está ativado. Isso permite que você limite
                       transferências específicas para usar apenas um subconjunto de protocolos em
                       redirecionamentos. Por padrão, libcurl permitirá todos os protocolos, exceto
                       FILE e SCP. Esta é uma diferença em relação às versões pré-7.19.4 que
                       seguiriam incondicionalmente para todos os protocolos suportados. Consulte
                       também <info>CURLOPT_PROTOCOLS</info> para valores constantes de protocolo.  Adicionado no
                       cURL 7.19.4. <info>CURLOPT_RESUME_FROM</info> O deslocamento, em bytes, do qual retomar
                       uma transferência.  <info>CURLOPT_SOCKS5_AUTH</info> Os métodos de autenticação SOCKS5 a
                       serem usados. As opções são: <info>CURLAUTH_BASIC</info>, <info>CURLAUTH_GSSAPI</info>, <info>CURLAUTH_NONE</info>.
                       O operador <return>|</return> (ou) pode ser usado para combinar mais de um método. Se isso for
                       feito, o cURL pesquisará o servidor para ver quais métodos ele suporta e
                       escolher o melhor. <info>CURLAUTH_BASIC</info> permite autenticação de nome de
                       usuário/senha. <info>CURLAUTH_GSSAPI</info> permite autenticação GSS-API. <info>CURLAUTH_NONE</info>
                       não permite autenticação.  O padrão é <return>CURLAUTH_BASIC|CURLAUTH_GSSAPI</return>. Defina
                       o nome de usuário e a senha reais com a opção <info>CURLOPT_PROXYUSERPWD</info>.
                       Disponível a partir de 7.3.0 e curl &gt;= 7.55.0. <info>CURLOPT_SSL_OPTIONS</info> Defina
                       as opções de comportamento SSL, que é uma máscara de bits de qualquer uma das
                       seguintes constantes: <info>CURLSSLOPT_ALLOW_BEAST</info>: não tente usar soluções
                       alternativas para uma falha de segurança nos protocolos SSL3 e TLS1.0.
                       <info>CURLSSLOPT_NO_REVOKE</info>: desabilita as verificações de revogação de certificado
                       para os back-ends SSL em que tal comportamento está presente.
                       <info>CURLSSLOPT_AUTO_CLIENT_CERT</info>: localiza e utiliza automaticamente um
                       certificado de cliente para autenticação quando solicitado pelo servidor.
                       Esta opção é suportada apenas para Schannel (a biblioteca SSL nativa do
                       Windows).  <info>CURLSSLOPT_NATIVE_CA</info>: utiliza o armazenamento de CA nativo do
                       sistema operacional para verificação de certificados. Funciona apenas no
                       Windows quando construído para usar o OpenSSL. Esta opção é experimental e
                       seu comportamento está sujeito a alterações.  <info>CURLSSLOPT_NO_PARTIALCHAIN</info>: não
                       aceite cadeias de certificados 'parciais', que o cURL, de outra forma, faz
                       por padrão. Esta opção é suportada apenas para o OpenSSL e falhará na
                       verificação do certificado se a cadeia terminar com um certificado
                       intermediário e não com um certificado raiz.  <info>CURLSSLOPT_REVOKE_BEST_EFFORT</info>:
                       ignora verificações de revogação de certificado no caso de pontos de
                       distribuição ausentes ou offline para os backends SSL em que esse
                       comportamento está presente. Esta opção é suportada apenas para Schannel (a
                       biblioteca SSL nativa do Windows). Se combinada com <info>CURLSSLOPT_NO_REVOKE</info>,
                       esta última tem precedência.   Adicionado no cURL 7.25.0. Disponível desde
                       PHP 7.0.7. <info>CURLOPT_SSL_VERIFYHOST</info><return>2</return> para verificar se um campo Nome comum ou
                       um campo Nome alternativo do assunto no certificado de mesmo nível SSL
                       corresponde ao nome de host fornecido. <return>0</return> para não verificar os nomes. <return>1</return> não
                       deve ser usado. Em ambientes de produção o valor desta opção deve ser mantido
                       em <return>2</return> (valor padrão).  Suporte para o valor <return>1</return> removido no cURL 7.28.1.
                       <info>CURLOPT_SSLVERSION</info> Um de <info>CURL_SSLVERSION_DEFAULT</info> (0), <info>CURL_SSLVERSION_TLSv1</info>
                       (1), <info>CURL_SSLVERSION_SSLv2</info> (2), <info>CURL_SSLVERSION_SSLv3</info> (3),
                       <info>CURL_SSLVERSION_TLSv1_0</info> (4), <info>CURL_SSLVERSION_TLSv1_1</info> (5),
                       <info>CURL_SSLVERSION_TLSv1_2</info> (6) ou <info>CURL_SSLVERSION_TLSv1_3</info> (7). A versão máxima
                       do TLS pode ser definida usando uma das constantes <info>CURL_SSLVERSION_MAX_*</info>.
                       Também é possível OR uma das constantes <info>CURL_SSLVERSION_*</info> com uma das
                       constantes <info>CURL_SSLVERSION_MAX_*</info>. <info>CURL_SSLVERSION_MAX_DEFAULT</info> (a versão
                       máxima suportada pela biblioteca), <info>CURL_SSLVERSION_MAX_TLSv1_0</info>,
                       <info>CURL_SSLVERSION_MAX_TLSv1_1</info>, <info>CURL_SSLVERSION_MAX_TLSv1_2</info>, ou
                       <info>CURL_SSLVERSION_MAX_TLSv1_3</info>.  Sua melhor aposta é não definir isso e deixá-lo
                       usar o padrão. Defini-lo como 2 ou 3 é muito perigoso devido às
                       vulnerabilidades conhecidas em SSLv2 e SSLv3.   <info>CURLOPT_PROXY_SSL_OPTIONS</info>
                       Defina as opções de comportamento SSL do proxy, que é uma máscara de bits de
                       qualquer uma das seguintes constantes: <info>CURLSSLOPT_ALLOW_BEAST</info>: não tente usar
                       soluções alternativas para uma falha de segurança nos protocolos SSL3 e
                       TLS1.0.  <info>CURLSSLOPT_NO_REVOKE</info>: desabilita as verificações de revogação de
                       certificado para os back-ends SSL em que tal comportamento está presente.
                       (curl &gt;= 7.44.0)  <info>CURLSSLOPT_NO_PARTIALCHAIN</info>: não aceita cadeias de
                       certificados "parciais", o que de outra forma faz por padrão. (curl &gt;=
                       7.68.0)   Disponível desde PHP 7.3.0 e libcurl &gt;= cURL 7.52.0.
                       <info>CURLOPT_PROXY_SSL_VERIFYHOST</info> Defina como <return>2</return> para verificar os campos de nome
                       do certificado do proxy HTTPS em relação ao nome do proxy. Quando definido
                       como <return>0</return>, a conexão é bem-sucedida, independentemente dos nomes usados no
                       certificado. Use essa habilidade com cuidado! <return>1</return> tratado como uma opção de
                       depuração no curl 7.28.0 e anteriores. De curl 7.28.1 a 7.65.3,
                       <info>CURLE_BAD_FUNCTION_ARGUMENT</info> é retornado. Do curl 7.66.0 em diante, <return>1</return> e <return>2</return> são
                       tratados como o mesmo valor. Em ambientes de produção o valor desta opção
                       deve ser mantido em <return>2</return>  (valor padrão).  Disponível desde PHP 7.3.0 e libcurl
                       &gt;= cURL 7.52.0. <info>CURLOPT_PROXY_SSLVERSION</info> Um de <info>CURL_SSLVERSION_DEFAULT</info>,
                       <info>CURL_SSLVERSION_TLSv1</info>, <info>CURL_SSLVERSION_TLSv1_0</info>, <info>CURL_SSLVERSION_TLSv1_1</info>,
                       <info>CURL_SSLVERSION_TLSv1_2</info>, <info>CURL_SSLVERSION_TLSv1_3</info>,
                       <info>CURL_SSLVERSION_MAX_DEFAULT</info>, <info>CURL_SSLVERSION_MAX_TLSv1_0</info>,
                       <info>CURL_SSLVERSION_MAX_TLSv1_1</info>, <info>CURL_SSLVERSION_MAX_TLSv1_2</info>,
                       <info>CURL_SSLVERSION_MAX_TLSv1_3</info> ou <info>CURL_SSLVERSION_SSLv3</info>.  Sua melhor aposta é
                       não definir isso e deixá-lo usar o <info>CURL_SSLVERSION_DEFAULT</info> padrão, que
                       tentará descobrir a versão remota do protocolo SSL.   Disponível desde PHP
                       7.3.0 e libcurl &gt;= cURL 7.52.0. <info>CURLOPT_STREAM_WEIGHT</info> Defina o peso
                       numérico do fluxo (um número entre 1 e 256).  Adicionado no cURL 7.46.0.
                       Disponível desde PHP 7.0.7. <info>CURLOPT_TCP_KEEPALIVE</info> Se definido como <return>1</return>, as
                       sondagens de manutenção de atividade do TCP serão enviadas. O atraso e a
                       frequência dessas sondagens podem ser controlados pelas opções
                       <info>CURLOPT_TCP_KEEPIDLE</info> e <info>CURLOPT_TCP_KEEPINTVL</info>, desde que o sistema operacional
                       as suporte. Se definido como <return>0</return> (padrão), os testes de manutenção de atividade
                       são desativados.  Adicionado no cURL 7.25.0. <info>CURLOPT_TCP_KEEPIDLE</info> Define o
                       atraso, em segundos, que o sistema operacional aguardará enquanto a conexão
                       estiver ociosa antes de enviar testes de manutenção de atividade, se
                       <info>CURLOPT_TCP_KEEPALIVE</info> estiver ativado. Nem todos os sistemas operacionais
                       oferecem suporte a essa opção. O padrão é <return>60</return>.  Adicionado no cURL 7.25.0.
                       <info>CURLOPT_TCP_KEEPINTVL</info> Define o intervalo, em segundos, que o sistema
                       operacional aguardará entre o envio de análises de manutenção de atividade,
                       se <info>CURLOPT_TCP_KEEPALIVE</info> estiver ativado. Nem todos os sistemas operacionais
                       oferecem suporte a essa opção. O padrão é <return>60</return>.  Adicionado no cURL 7.25.0.
                       <info>CURLOPT_TIMECONDITION</info> Como <info>CURLOPT_TIMEVALUE</info> é tratado. Use
                       <info>CURL_TIMECOND_IFMODSINCE</info> para retornar a página somente se ela tiver sido
                       modificada desde o horário especificado em <info>CURLOPT_TIMEVALUE</info>. Se não foi
                       modificado, um cabeçalho <return>"304 Not Modified"</return> será retornado assumindo que
                       <info>CURLOPT_HEADER</info> é <info>true</info>. Use <info>CURL_TIMECOND_IFUNMODSINCE</info> para o efeito reverso.
                       Use <info>CURL_TIMECOND_NONE</info> para ignorar <info>CURLOPT_TIMEVALUE</info> e sempre retornar a
                       página. <info>CURL_TIMECOND_NONE</info> é o padrão.  Antes do cURL 7.46.0, o padrão era
                       <info>CURL_TIMECOND_IFMODSINCE</info>. <info>CURLOPT_TIMEOUT</info> O número máximo de segundos para
                       permitir que as funções cURL sejam executadas.  <info>CURLOPT_TIMEOUT_MS</info> O número
                       máximo de milissegundos para permitir que as funções cURL sejam executadas.
                       Se libcurl for construído para usar o resolvedor de nome do sistema padrão,
                       essa parte da conexão ainda usará a resolução de segundo completo para tempos
                       limite com um tempo limite mínimo permitido de um segundo.  Adicionado no
                       cURL 7.16.2. <info>CURLOPT_TIMEVALUE</info> O tempo em segundos desde 1º de janeiro de
                       1970. O tempo será usado por <info>CURLOPT_TIMECONDITION</info>.  <info>CURLOPT_TIMEVALUE_LARGE</info>
                       O tempo em segundos desde 1º de janeiro de 1970. O tempo será usado por
                       <info>CURLOPT_TIMECONDITION</info>. O padrão é zero. A diferença entre esta opção e
                       <info>CURLOPT_TIMEVALUE</info> é o tipo do argumento. Em sistemas onde 'long' tem apenas
                       32 bits de largura, esta opção deve ser usada para definir datas além do ano
                       de 2038.  Adicionado em cURL 7.59.0. Disponível desde PHP 7.3.0.
                       <info>CURLOPT_UPKEEP_INTERVAL_MS</info> Alguns protocolos possuem mecanismos de
                       'manutenção de conexão'. Esses mecanismos geralmente enviam algum tráfego nas
                       conexões existentes para mantê-las ativas. Esta opção define o intervalo de
                       manutenção de conexão. Atualmente, o único protocolo com um mecanismo de
                       manutenção de conexão é o HTTP/2. Quando o intervalo de manutenção de conexão
                       é excedido, um quadro PING do HTTP/2 é enviado na conexão. O valor padrão é
                       de <return>60</return> segundos.  <info>CURLOPT_UPLOAD_BUFFERSIZE</info> Tamanho de buffer preferido em
                       bytes para o buffer de envio do cURL. O tamanho padrão do buffer de envio é
                       de 64 kilobytes. O tamanho máximo do buffer permitido a ser definido é de 2
                       megabytes. O tamanho mínimo do buffer permitido a ser definido é de 16
                       kilobytes.  <info>CURLOPT_MAX_RECV_SPEED_LARGE</info> Se um download exceder essa
                       velocidade (contada em bytes por segundo) na média cumulativa durante a
                       transferência, a transferência será pausada para manter a taxa média menor ou
                       igual ao valor do parâmetro. O padrão é velocidade ilimitada.  Adicionado no
                       cURL 7.15.5. <info>CURLOPT_MAX_SEND_SPEED_LARGE</info> Se um upload exceder essa
                       velocidade (contada em bytes por segundo) na média cumulativa durante a
                       transferência, a transferência será pausada para manter a taxa média menor ou
                       igual ao valor do parâmetro. O padrão é velocidade ilimitada.  Adicionado no
                       cURL 7.15.5. <info>CURLOPT_SSH_AUTH_TYPES</info> Uma máscara de bits que consiste em um ou
                       mais <info>CURLSSH_AUTH_PUBLICKEY</info>, <info>CURLSSH_AUTH_PASSWORD</info>, <info>CURLSSH_AUTH_HOST</info>,
                       <info>CURLSSH_AUTH_KEYBOARD</info>. Defina como <info>CURLSSH_AUTH_ANY</info> para permitir que libcurl
                       escolha um.  Adicionado no cURL 7.16.1. <info>CURLOPT_IPRESOLVE</info> Permite que um
                       aplicativo selecione que tipo de endereço IP usar ao resolver nomes de host.
                       Isso só é interessante ao usar nomes de host que resolvem endereços usando
                       mais de uma versão de IP, os valores possíveis são <info>CURL_IPRESOLVE_WHATEVER</info>,
                       <info>CURL_IPRESOLVE_V4</info>, <info>CURL_IPRESOLVE_V6</info>, por padrão <info>CURL_IPRESOLVE_WHATEVER</info>.
                       Adicionado no cURL 7.10.8. <info>CURLOPT_FTP_FILEMETHOD</info> Diga ao curl qual método
                       usar para acessar um arquivo em um servidor FTP(S). Os valores possíveis são
                       <info>CURLFTPMETHOD_DEFAULT</info>, <info>CURLFTPMETHOD_MULTICWD</info>, <info>CURLFTPMETHOD_NOCWD</info> e
                       <info>CURLFTPMETHOD_SINGLECWD</info>.  Adicionado no cURL 7.15.1.
                       
                       <info>CURLHEADER_UNIFIED</info>: os cabeçalhos especificados em <info>CURLOPT_HTTPHEADER</info> serão
                       utilizados nas requisições tanto para servidores quanto para proxies. Com
                       esta opção habilitada, <info>CURLOPT_PROXYHEADER</info> não terá nenhum efeito.
                       
                       <info>CURLHEADER_SEPARATE</info>: faz com que os cabeçalhos <info>CURLOPT_HTTPHEADER</info> sejam
                       enviados apenas para um servidor e não para um proxy. Os cabeçalhos de proxy
                       devem ser definidos com <info>CURLOPT_PROXYHEADER</info> para serem usados. Observe que,
                       se uma solicitação non-CONNECT for enviada a um proxy, libcurl enviará
                       cabeçalhos de servidor e cabeçalhos de proxy. Ao fazer CONNECT, libcurl
                       enviará cabeçalhos <info>CURLOPT_PROXYHEADER</info> apenas para o proxy e, em seguida,
                       cabeçalhos <info>CURLOPT_HTTPHEADER</info> apenas para o servidor.
                       
                       O padrão é <info>CURLHEADER_SEPARATE</info> a partir de cURL 7.42.1 e <info>CURLHEADER_UNIFIED</info>
                       antes.
                       
                       Os métodos de autenticação HTTP a serem usados. As opções são:
                       <info>CURLAUTH_BASIC</info>, <info>CURLAUTH_DIGEST</info>, <info>CURLAUTH_GSSNEGOTIATE</info>, <info>CURLAUTH_NTLM</info>,
                       <info>CURLAUTH_AWS_SIGV4</info>, <info>CURLAUTH_ANY</info> e <info>CURLAUTH_ANYSAFE</info>.
                       
                       O operador <return>|</return> (ou) pode ser usado para combinar mais de um método. Se isso for
                       feito, o cURL pesquisará o servidor para ver quais métodos ele suporta e
                       escolher o melhor.
                       
                       <info>CURLAUTH_ANY</info> define todos os bits. cURL selecionará automaticamente aquele
                       que encontrar mais seguro.
                       
                       <info>CURLAUTH_ANYSAFE</info> define todos os bits, exceto <return>CURLAUTH_BASIC</return>. cURL
                       selecionará automaticamente o método que considerar mais seguro.
                       
                       Máscara de bits de valores <info>CURLPROTO_*</info>. Se usado, esta máscara de bits limita
                       quais protocolos libcurl pode usar na transferência. Isso permite que você
                       tenha um libcurl construído para suportar uma ampla gama de protocolos, mas
                       ainda limitar transferências específicas para poder usar apenas um
                       subconjunto deles. Por padrão, o libcurl aceitará todos os protocolos que ele
                       suporta. Consulte também <info>CURLOPT_REDIR_PROTOCOLS</info>.
                       
                       As opções de protocolo válidas são: <info>CURLPROTO_HTTP</info>, <info>CURLPROTO_HTTPS</info>,
                       <info>CURLPROTO_FTP</info>, <info>CURLPROTO_FTPS</info>, <info>CURLPROTO_SCP</info>, <info>CURLPROTO_SFTP</info>,
                       <info>CURLPROTO_TELNET</info>, <info>CURLPROTO_LDAP</info>, <info>CURLPROTO_LDAPS</info>, <info>CURLPROTO_DICT</info>,
                       <info>CURLPROTO_FILE</info>, <info>CURLPROTO_TFTP</info>, <info>CURLPROTO_MQTT</info>, <info>CURLPROTO_ALL</info>
                       
                       Os métodos de autenticação SOCKS5 a serem usados. As opções são:
                       <info>CURLAUTH_BASIC</info>, <info>CURLAUTH_GSSAPI</info>, <info>CURLAUTH_NONE</info>.
                       
                       O operador <return>|</return> (ou) pode ser usado para combinar mais de um método. Se isso for
                       feito, o cURL pesquisará o servidor para ver quais métodos ele suporta e
                       escolher o melhor.
                       
                       <info>CURLAUTH_BASIC</info> permite autenticação de nome de usuário/senha.
                       
                       <info>CURLAUTH_GSSAPI</info> permite autenticação GSS-API.
                       
                       <info>CURLAUTH_NONE</info> não permite autenticação.
                       
                       O padrão é <return>CURLAUTH_BASIC|CURLAUTH_GSSAPI</return>. Defina o nome de usuário e a senha
                       reais com a opção <info>CURLOPT_PROXYUSERPWD</info>.
                       
                       <info>CURLSSLOPT_ALLOW_BEAST</info>: não tente usar soluções alternativas para uma falha
                       de segurança nos protocolos SSL3 e TLS1.0.
                       
                       <info>CURLSSLOPT_NO_REVOKE</info>: desabilita as verificações de revogação de certificado
                       para os back-ends SSL em que tal comportamento está presente.
                       
                       <info>CURLSSLOPT_AUTO_CLIENT_CERT</info>: localiza e utiliza automaticamente um
                       certificado de cliente para autenticação quando solicitado pelo servidor.
                       Esta opção é suportada apenas para Schannel (a biblioteca SSL nativa do
                       Windows).
                       
                       <info>CURLSSLOPT_NATIVE_CA</info>: utiliza o armazenamento de CA nativo do sistema
                       operacional para verificação de certificados. Funciona apenas no Windows
                       quando construído para usar o OpenSSL. Esta opção é experimental e seu
                       comportamento está sujeito a alterações.
                       
                       <info>CURLSSLOPT_NO_PARTIALCHAIN</info>: não aceite cadeias de certificados 'parciais',
                       que o cURL, de outra forma, faz por padrão. Esta opção é suportada apenas
                       para o OpenSSL e falhará na verificação do certificado se a cadeia terminar
                       com um certificado intermediário e não com um certificado raiz.
                       
                       <info>CURLSSLOPT_REVOKE_BEST_EFFORT</info>: ignora verificações de revogação de
                       certificado no caso de pontos de distribuição ausentes ou offline para os
                       backends SSL em que esse comportamento está presente. Esta opção é suportada
                       apenas para Schannel (a biblioteca SSL nativa do Windows). Se combinada com
                       <info>CURLSSLOPT_NO_REVOKE</info>, esta última tem precedência.
                       
                       Sua melhor aposta é não definir isso e deixá-lo usar o padrão. Defini-lo como
                       2 ou 3 é muito perigoso devido às vulnerabilidades conhecidas em SSLv2 e
                       SSLv3.
                       
                       <info>CURLSSLOPT_ALLOW_BEAST</info>: não tente usar soluções alternativas para uma falha
                       de segurança nos protocolos SSL3 e TLS1.0.
                       
                       <info>CURLSSLOPT_NO_REVOKE</info>: desabilita as verificações de revogação de certificado
                       para os back-ends SSL em que tal comportamento está presente. (curl &gt;=
                       7.44.0)
                       
                       <info>CURLSSLOPT_NO_PARTIALCHAIN</info>: não aceita cadeias de certificados "parciais", o
                       que de outra forma faz por padrão. (curl &gt;= 7.68.0)
                       
                       Sua melhor aposta é não definir isso e deixá-lo usar o
                       <info>CURL_SSLVERSION_DEFAULT</info> padrão, que tentará descobrir a versão remota do
                       protocolo SSL.
                       
                       <strong>$value</strong> deve ser uma <info>string</info> para os seguintes valores do parâmetro <strong>$option</strong>:
                       OpçãoDefinir <strong>$value</strong> paraNotas<info>CURLOPT_ABSTRACT_UNIX_SOCKET</info> Permite o uso de um
                       socket de domínio Unix abstrato em vez de estabelecer uma conexão TCP com um
                       host e define o caminho para a <info>string</info> fornecida. Esta opção compartilha a
                       mesma semântica que <info>CURLOPT_UNIX_SOCKET_PATH</info>. Essas duas opções compartilham
                       o mesmo armazenamento e, portanto, apenas uma delas pode ser definida por
                       identificador.  Disponível desde PHP 7.3.0 e cURL 7.53.0 <info>CURLOPT_ALTSVC</info> Passe
                       o nome do arquivo para o cURL usar como arquivo de cache Alt-Svc para ler os
                       conteúdos em cache existentes e, possivelmente, gravá-los de volta após uma
                       transferência, a menos que <info>CURLALTSVC_READONLYFILE</info> seja definido via
                       <info>CURLOPT_ALTSVC_CTRL</info>.  <info>CURLOPT_ALTSVC_CTRL</info> Preencha a máscara de bits com o
                       conjunto correto de recursos para instruir o cURL sobre como lidar com
                       Alt-Svc para as transferências. O cURL só aceita cabeçalhos Alt-Svc sobre
                       HTTPS. Ele também só completará uma solicitação para uma origem alternativa
                       se essa origem estiver devidamente hospedada sobre HTTPS. Definir qualquer
                       bit habilitará o mecanismo Alt-Svc. As opções são: <info>CURLALTSVC_H1</info>,
                       <info>CURLALTSVC_H2</info>, <info>CURLALTSVC_H3</info>, e <info>CURLALTSVC_READONLYFILE</info>.  <info>CURLOPT_AWS_SIGV4</info>
                       Fornecer autenticação de assinatura AWS V4 no cabeçalho HTTP(S).  Esta opção
                       substitui quaisquer outros tipos de autenticação que tenham sido definidos em
                       <info>CURLOPT_HTTPAUTH</info>. Este método não pode ser combinado com outros tipos de
                       autenticação.  <info>CURLOPT_CAINFO</info> O nome de um arquivo contendo um ou mais
                       certificados para verificar com o par. Isso só faz sentido quando usado em
                       combinação com <info>CURLOPT_SSL_VERIFYPEER</info>.  Pode exigir um caminho absoluto.
                       <info>CURLOPT_CAINFO_BLOB</info> O nome de um arquivo PEM que contém um ou mais
                       certificados para verificar o peer. Esta opção substitui <info>CURLOPT_CAINFO</info>.
                       Disponível a partir do PHP 8.2.0 e cURL 7.77.0. <info>CURLOPT_CAPATH</info> Um diretório
                       que contém vários certificados de CA. Use esta opção juntamente com
                       <info>CURLOPT_SSL_VERIFYPEER</info>.  <info>CURLOPT_COOKIE</info> O conteúdo do cabeçalho <return>"Cookie: "</return> a
                       ser usado na solicitação HTTP. Observe que vários cookies são separados por
                       um ponto e vírgula seguido por um espaço (exemplo: "<return>fruit=apple; colour=red</return>")
                       <info>CURLOPT_COOKIEFILE</info> O nome do arquivo que contém os dados do cookie. O arquivo
                       de cookie pode estar no formato Netscape ou apenas cabeçalhos de estilo HTTP
                       simples despejados em um arquivo. Se o nome for uma string vazia, nenhum
                       cookie será carregado, mas a manipulação de cookies ainda estará habilitada.
                       <info>CURLOPT_COOKIEJAR</info> O nome de um arquivo para salvar todos os cookies internos
                       quando o identificador é fechado, por exemplo após uma chamada para
                       curl_close.  <info>CURLOPT_COOKIELIST</info> Uma string de cookie (ou seja, uma única
                       linha no formato Netscape/Mozilla ou um cabeçalho Set-Cookie regular estilo
                       HTTP) adiciona esse único cookie ao armazenamento interno de cookies. <return>"ALL"</return>
                       apaga todos os cookies mantidos na memória. <return>"SESS"</return> apaga todos os cookies de
                       sessão mantidos na memória. <return>"FLUSH"</return> grava todos os cookies conhecidos no
                       arquivo especificado por <info>CURLOPT_COOKIEJAR</info>. <return>"RELOAD"</return> carrega todos os cookies
                       dos arquivos especificados por <info>CURLOPT_COOKIEFILE</info>.  Disponível desde cURL
                       7.14.1. <info>CURLOPT_CUSTOMREQUEST</info> Um método de solicitação personalizado para
                       usar em vez de <return>"GET"</return> ou <return>"HEAD"</return> ao fazer uma solicitação HTTP. Isso é útil
                       para fazer <return>"DELETE"</return> ou outras solicitações HTTP mais obscuras. Os valores
                       válidos são coisas como <return>"GET"</return>, <return>"POST"</return>, <return>"CONNECT"</return> e assim por diante; ou seja,
                       não insira uma linha de solicitação HTTP inteira aqui. Por exemplo, inserir
                       <return>"GET /index.html HTTP/1.0\r\n\r\n"</return> seria incorreto.  Não faça isso sem antes
                       certificar-se de que o servidor oferece suporte ao método de solicitação
                       personalizado.   <info>CURLOPT_DEFAULT_PROTOCOL</info> O protocolo padrão a ser usado se a
                       URL não tiver um nome de esquema.  Adicionado no cURL 7.45.0. Disponível
                       desde PHP 7.0.7. <info>CURLOPT_DNS_INTERFACE</info> Defina o nome da interface de rede à
                       qual o resolvedor de DNS deve se vincular. Deve ser um nome de interface (não
                       um endereço).  Adicionado no cURL 7.33.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_DNS_LOCAL_IP4</info> Defina o endereço IPv4 local ao qual o resolvedor deve
                       se vincular. O argumento deve conter um único endereço IPv4 numérico como
                       string.  Adicionado no cURL 7.33.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_DNS_LOCAL_IP6</info> Defina o endereço IPv6 local ao qual o resolvedor deve
                       se vincular. O argumento deve conter um único endereço IPv6 numérico como
                       string.  Adicionado no cURL 7.33.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_EGDSOCKET</info> Como <info>CURLOPT_RANDOM_FILE</info>, exceto um nome de arquivo para um
                       socket Entropy Gathering Daemon.  <info>CURLOPT_ENCODING</info> O conteúdo do cabeçalho
                       <return>"Accept-Encoding: "</return>. Isso permite a decodificação da resposta. As
                       codificações suportadas são <return>"identity"</return>, <return>"deflate"</return> e <return>"gzip"</return>. Se uma string
                       vazia,  <return>""</return>, for definida, um cabeçalho contendo todos os tipos de codificação
                       suportados será enviado.  Adicionado no cURL 7.10. <info>CURLOPT_FTPPORT</info> O valor
                       que será usado para obter o endereço IP a ser usado para a instrução FTP
                       "PORT". A instrução "PORT" diz ao servidor remoto para se conectar ao nosso
                       endereço IP especificado. A string pode ser um endereço IP simples, um nome
                       de host, um nome de interface de rede (no Unix) ou apenas um '-' simples para
                       usar o endereço IP padrão do sistema.  <info>CURLOPT_HSTS</info> Nome do arquivo de cache
                       do HSTS (HTTP Strict Transport Security).  <info>CURLOPT_HSTS_CTRL</info> Controla o
                       comportamento do HSTS (HTTP Strict Transport Security). Preencha a máscara de
                       bits com o conjunto correto de recursos para instruir o cURL sobre como lidar
                       com o HSTS para as transferências. <info>CURLHSTS_ENABLE</info> habilita o cache HSTS na
                       memória. Se o arquivo de cache HSTS estiver definido, defina
                       <info>CURLHSTS_READONLYFILE</info> para tornar o arquivo somente leitura.
                       <info>CURLOPT_INTERFACE</info> O nome da interface de rede de saída a ser usada. Pode ser
                       um nome de interface, um endereço IP ou um nome de host.  <info>CURLOPT_KEYPASSWD</info> A
                       senha necessária para usar a chave privada <info>CURLOPT_SSLKEY</info> ou
                       <info>CURLOPT_SSH_PRIVATE_KEYFILE</info>.  Adicionado em cURL 7.16.1 <info>CURLOPT_KRB4LEVEL</info> O
                       nível de segurança KRB4 (Kerberos 4). Qualquer um dos seguintes valores (do
                       menos para o mais poderoso) são válidos: <return>"clear"</return>, <return>"safe"</return>, <return>"confidential"</return>,
                       <return>"private".</return>. Se a string não corresponder a um desses, <return>"private"</return> será usado.
                       Definir esta opção como <info>null</info> desativará a segurança KRB4. Atualmente a
                       segurança KRB4 funciona apenas com transações FTP.  <info>CURLOPT_LOGIN_OPTIONS</info>
                       Pode ser usado para definir opções de login específicas do protocolo, como o
                       mecanismo de autenticação preferencial via "AUTH=NTLM" ou "AUTH=*", e deve
                       ser usado em conjunto com a opção <info>CURLOPT_USERNAME</info>.  Adicionado no cURL
                       7.34.0. Disponível desde PHP 7.0.7. <info>CURLOPT_PINNEDPUBLICKEY</info> Defina a chave
                       pública fixada. A string pode ser o nome do arquivo da sua chave pública
                       fixada. O formato de arquivo esperado é "PEM" ou "DER". A string também pode
                       ser qualquer número de hashes sha256 codificados em base64 precedidos por
                       "sha256//" e separados por ";".  Adicionado em cURL 7.39.0. Disponível desde
                       PHP 7.0.7. <info>CURLOPT_POSTFIELDS</info> Os dados completos a serem postados em uma
                       operação HTTP "POST". Este parâmetro pode ser passado como uma string com
                       código urlen como '<return>para1=val1&para2=val2&...</return>' ou como uma matriz com o nome
                       do campo como chave e os dados do campo como valor. Se <strong>$value</strong>  for um array,
                       o cabeçalho <return>multipart/form-data</return> será definido como <return>Content-Type</return>.  Os arquivos
                       podem ser enviados usando <class>CURLFile</class> ou <class>CURLStringFile</class>, caso em que o <strong>$value</strong>
                       deve ser uma matriz.  <info>CURLOPT_PRIVATE</info> Quaisquer dados que devem ser
                       associados a este identificador cURL. Esses dados podem ser posteriormente
                       recuperados com a opção <info>CURLINFO_PRIVATE</info> de <strong>curl_getinfo()</strong>. cURL não faz nada
                       com esses dados. Ao usar um identificador cURL múltiplo, esses dados privados
                       geralmente são uma chave exclusiva para identificar um identificador cURL
                       padrão.  Adicionado no cURL 7.10.3. <info>CURLOPT_PRE_PROXY</info> Defina uma <info>string</info>
                       contendo o nome do host ou o endereço IP numérico pontilhado a ser usado como
                       o pré-proxy ao qual o curl se conecta antes de se conectar ao proxy HTTP(S)
                       especificado na opção <info>CURLOPT_PROXY</info> para a próxima solicitação. O pré-proxy
                       só pode ser um proxy SOCKS e deve ser prefixado com <return>[scheme]://</return> para
                       especificar que tipo de meias é usado. Um endereço IPv6 numérico deve ser
                       escrito entre [colchetes]. Definir o pré-proxy como uma string vazia desativa
                       explicitamente o uso de um pré-proxy. Para especificar o número da porta
                       nesta string, anexe :<return>:[port]</return> ao final do nome do host. O número da porta do
                       proxy pode opcionalmente ser especificado com a opção separada
                       <info>CURLOPT_PROXYPORT</info>. O padrão é usar a porta 1080 para proxies se uma porta não
                       for especificada.  Disponível desde PHP 7.3.0 e libcurl &gt;= cURL 7.52.0.
                       <info>CURLOPT_PROXY</info> O proxy HTTP para o túnel de solicitações.
                       <info>CURLOPT_PROXY_SERVICE_NAME</info> O nome do serviço de autenticação de proxy.
                       Adicionado no cURL 7.43.0 para proxies HTTP e no cURL 7.49.0 para proxies
                       SOCKS5. Disponível desde PHP 7.0.7. <info>CURLOPT_PROXY_CAINFO</info> O caminho para o
                       pacote de Autoridade de Certificação (CA) do proxy. Defina o caminho como uma
                       <info>string</info> que nomeia um arquivo contendo um ou mais certificados para verificar
                       o proxy HTTPS. Esta opção é para conectar a um proxy HTTPS, não a um servidor
                       HTTPS. Padrões definidos para o caminho do sistema onde o pacote cacert do
                       libcurl é considerado armazenado.  Disponível desde PHP 7.3.0 e libcurl &gt;=
                       cURL 7.52.0. <info>CURLOPT_PROXY_CAINFO_BLOB</info> O nome de um arquivo PEM que contém um
                       ou mais certificados para verificar o proxy HTTPS. Esta opção é para se
                       conectar a um proxy HTTPS, não a um servidor HTTPS. O valor padrão é definido
                       como o caminho do sistema onde se presume que o pacote cacert do libcurl está
                       armazenado.  Disponível a partir do PHP 8.2.0 e libcurl &gt;= cURL 7.77.0.
                       <info>CURLOPT_PROXY_CAPATH</info> O diretório que contém vários certificados CA para
                       verificar o proxy HTTPS.  Disponível desde PHP 7.3.0 e libcurl &gt;= cURL
                       7.52.0. <info>CURLOPT_PROXY_CRLFILE</info> Defina o nome do arquivo com a concatenação de
                       CRL (Certificate Revocation List) no formato PEM para usar na validação do
                       certificado que ocorre durante a troca SSL.  Disponível desde PHP 7.3.0 e
                       libcurl &gt;= cURL 7.52.0. <info>CURLOPT_PROXY_KEYPASSWD</info> Defina a string a ser
                       usada como a senha necessária para usar a chave privada <info>CURLOPT_PROXY_SSLKEY</info>.
                       Você nunca precisa de uma senha para carregar um certificado, mas precisa de
                       uma para carregar sua chave privada. Esta opção é para conectar a um proxy
                       HTTPS, não a um servidor HTTPS.  Disponível desde PHP 7.3.0 e libcurl &gt;=
                       cURL 7.52.0. <info>CURLOPT_PROXY_PINNEDPUBLICKEY</info> Defina a chave pública fixada para
                       o proxy HTTPS. A string pode ser o nome do arquivo da sua chave pública
                       fixada. O formato de arquivo esperado é "PEM" ou "DER". A string também pode
                       ser qualquer número de hashes sha256 codificados em base64 precedidos por
                       "sha256//" e separados por ";"  Disponível desde PHP 7.3.0 e libcurl &gt;=
                       cURL 7.52.0. <info>CURLOPT_PROXY_SSLCERT</info> O nome do arquivo do seu certificado de
                       cliente usado para se conectar ao proxy HTTPS. O formato padrão é "P12" no
                       Secure Transport e "PEM" em outros mecanismos e pode ser alterado com
                       <info>CURLOPT_PROXY_SSLCERTTYPE</info>. Com NSS ou Secure Transport, também pode ser o
                       apelido do certificado com o qual você deseja autenticar, pois é nomeado no
                       banco de dados de segurança. Se você deseja usar um arquivo do diretório
                       atual, preceda-o com o prefixo "./", para evitar confusão com um apelido.
                       Disponível desde PHP 7.3.0 e libcurl &gt;= cURL 7.52.0.
                       <info>CURLOPT_PROXY_SSLCERTTYPE</info> O formato do seu certificado de cliente usado ao se
                       conectar a um proxy HTTPS. Os formatos suportados são "PEM" e "DER", exceto
                       com Transporte Seguro. OpenSSL (versões 0.9.3 e posteriores) e Secure
                       Transport (no iOS 5 ou posterior, ou OS X 10.7 ou posterior) também suportam
                       "P12" para arquivos codificados com PKCS#12. O padrão é "PEM".  Disponível
                       desde PHP 7.3.0 e libcurl &gt;= cURL 7.52.0. <info>CURLOPT_PROXY_SSL_CIPHER_LIST</info> A
                       lista de cifras a serem usadas para a conexão com o proxy HTTPS. A lista deve
                       estar sintaticamente correta, consiste em uma ou mais cadeias de cifras
                       separadas por dois pontos. Vírgulas ou espaços também são separadores
                       aceitáveis, mas dois pontos são normalmente usados, !, - e + podem ser usados
                       como operadores.  Disponível desde PHP 7.3.0 e libcurl &gt;= cURL 7.52.0.
                       <info>CURLOPT_PROXY_TLS13_CIPHERS</info> A lista de conjuntos de cifras a serem usados
                       para a conexão TLS 1.3 com um proxy. A lista deve estar sintaticamente
                       correta, ela consiste em uma ou mais sequências de conjuntos de cifras
                       separadas por dois pontos. Esta opção é usada atualmente apenas quando o curl
                       é construído para usar o OpenSSL 1.1.1 ou posterior. Se você estiver usando
                       um back-end SSL diferente, tente configurar os conjuntos de cifras TLS 1.3
                       usando a opção <info>CURLOPT_PROXY_SSL_CIPHER_LIST</info>.  Disponível desde PHP 7.3.0 e
                       libcurl &gt;= cURL 7.61.0. Disponível quando construído com OpenSSL &gt;=
                       1.1.1. <info>CURLOPT_PROXY_SSLKEY</info> O nome do arquivo de sua chave privada usada para
                       conectar-se ao proxy HTTPS. O formato padrão é "PEM" e pode ser alterado com
                       <info>CURLOPT_PROXY_SSLKEYTYPE</info>. (Somente iOS e Mac OS X) Essa opção será ignorada
                       se o curl tiver sido criado no Secure Transport.  Disponível desde PHP 7.3.0
                       e libcurl &gt;= cURL 7.52.0. Disponível se construído com TLS ativado.
                       <info>CURLOPT_PROXY_SSLKEYTYPE</info> O formato da sua chave privada. Os formatos
                       suportados são "PEM", "DER" e "ENG".  Disponível desde PHP 7.3.0 e libcurl
                       &gt;= cURL 7.52.0. <info>CURLOPT_PROXY_TLSAUTH_PASSWORD</info> A senha a ser usada para o
                       método de autenticação TLS especificado com a opção
                       <info>CURLOPT_PROXY_TLSAUTH_TYPE</info>. Requer que a opção <info>CURLOPT_PROXY_TLSAUTH_USERNAME</info>
                       também seja definida.  Disponível desde PHP 7.3.0 e libcurl &gt;= cURL
                       7.52.0. <info>CURLOPT_PROXY_TLSAUTH_TYPE</info> O método de autenticação TLS usado para a
                       conexão HTTPS. O método suportado é "SRP".  A autenticação Secure Remote
                       Password (SRP) para TLS fornece autenticação mútua se ambos os lados tiverem
                       um segredo compartilhado. Para usar TLS-SRP, você também deve definir as
                       opções <info>CURLOPT_PROXY_TLSAUTH_USERNAME</info> e <info>CURLOPT_PROXY_TLSAUTH_PASSWORD</info>.
                       Disponível desde PHP 7.3.0 e libcurl &gt;= cURL 7.52.0.
                       <info>CURLOPT_PROXY_TLSAUTH_USERNAME</info> O nome de usuário a ser usado para o método de
                       autenticação TLS do proxy HTTPS especificado com a opção
                       <info>CURLOPT_PROXY_TLSAUTH_TYPE</info>. Requer que a opção <info>CURLOPT_PROXY_TLSAUTH_PASSWORD</info>
                       também seja definida.  Disponível desde PHP 7.3.0 e libcurl &gt;= cURL
                       7.52.0. <info>CURLOPT_PROXYUSERPWD</info> Um nome de usuário e senha formatados como
                       <return>"[username]:[password]"</return> para usar na conexão com o proxy.
                       <info>CURLOPT_RANDOM_FILE</info> Um nome de arquivo a ser usado para propagar o gerador de
                       números aleatórios para SSL.  <info>CURLOPT_RANGE</info> Faixa(s) de dados a serem
                       recuperados no formato <return>"X-Y"</return> onde X ou Y são opcionais. As transferências
                       HTTP também suportam vários intervalos, separados por vírgulas no formato
                       <return>"X-Y,N-M"</return>.  <info>CURLOPT_REFERER</info> O conteúdo do cabeçalho <return>"Referer: "</return> a ser usado
                       em uma solicitação HTTP.  <info>CURLOPT_SASL_AUTHZID</info> A identidade de autorização
                       (authzid) para a transferência. Aplicável apenas ao mecanismo de autenticação
                       SASL PLAIN, onde é opcional. Quando não especificado, apenas a identidade de
                       autenticação (authcid) conforme especificada pelo nome de usuário será
                       enviada para o servidor, junto com a senha. O servidor derivará o authzid do
                       authcid quando não fornecido, que será então usado internamente.
                       <info>CURLOPT_SERVICE_NAME</info> O nome do serviço de autenticação.  Adicionado no cURL
                       7.43.0. Disponível desde PHP 7.0.7. <info>CURLOPT_SSH_HOST_PUBLIC_KEY_MD5</info> Uma
                       string contendo 32 dígitos hexadecimais. A string deve ser a soma de
                       verificação MD5 da chave pública do host remoto e libcurl rejeitará a conexão
                       com o host, a menos que os md5sums correspondam. Esta opção é apenas para
                       transferências SCP e SFTP.  Adicionado no cURL 7.17.1.
                       <info>CURLOPT_SSH_HOST_PUBLIC_KEY_SHA256</info> Hash SHA256 codificado em Base64 da chave
                       pública do host remoto. A transferência falhará se o hash fornecido não
                       corresponder ao hash fornecido pelo host remoto.  <info>CURLOPT_SSH_PUBLIC_KEYFILE</info>
                       O nome do arquivo para sua chave pública. Se não for usado, o padrão de
                       libcurl é $HOME/.ssh/id_dsa.pub se a variável de ambiente HOME estiver
                       definida e apenas "id_dsa.pub" no diretório atual se HOME não estiver
                       definido.  Adicionado no cURL 7.16.1. <info>CURLOPT_SSH_PRIVATE_KEYFILE</info> O nome do
                       arquivo para sua chave privada. Se não for usado, libcurl assume como padrão
                       $HOME/.ssh/id_dsa se a variável de ambiente HOME estiver definida e apenas
                       "id_dsa" no diretório atual se HOME não estiver definido. Se o arquivo
                       estiver protegido por senha, defina a senha com
                       <info>CURLOPT_KEYPASSWD</info>CURLOPT_KEYPASSWD.  Adicionado no cURL 7.16.1.
                       <info>CURLOPT_SSL_CIPHER_LIST</info> Uma lista de cifras a serem usadas para SSL. Por
                       exemplo, <return>RC4-SHA</return> e <return>TLSv1</return> são listas de cifras válidas.  <info>CURLOPT_SSL_EC_CURVES</info>
                       Uma lista delimitada por dois-pontos de algoritmos de curva elíptica. Por
                       exemplo, <return>X25519:P-521</return> é uma lista válida de duas curvas elípticas. Esta opção
                       define os algoritmos de troca de chaves do cliente no handshake SSL, se o
                       backend SSL que o cURL está construído para usar o suportar.  <info>CURLOPT_SSLCERT</info>
                       O nome de um arquivo que contém um certificado no formato PEM.
                       <info>CURLOPT_SSLCERTPASSWD</info> A senha necessária para usar o certificado
                       <info>CURLOPT_SSLCERT</info>.  <info>CURLOPT_SSLCERTTYPE</info> O formato do certificado. Os formatos
                       suportados são <return>"PEM"</return> (padrão), <return>"DER"</return> e <return>"ENG"</return>. A partir do OpenSSL 0.9.3,
                       <return>"P12"</return> (para arquivos codificados em PKCS#12) também é suportado.  Adicionado
                       no cURL 7.9.3. <info>CURLOPT_SSLENGINE</info> O identificador para o mecanismo de
                       criptografia da chave SSL privada especificada em <info>CURLOPT_SSLKEY</info>.
                       <info>CURLOPT_SSLENGINE_DEFAULT</info> O identificador do mecanismo de criptografia usado
                       para operações de criptografia assimétricas.  <info>CURLOPT_SSLKEY</info> O nome de um
                       arquivo que contém uma chave SSL privada.  <info>CURLOPT_SSLKEYPASSWD</info> A senha
                       secreta necessária para usar a chave SSL privada especificada em
                       <info>CURLOPT_SSLKEY</info>.  Como esta opção contém uma senha confidencial, lembre-se de
                       manter o script PHP contido nela seguro.   <info>CURLOPT_SSLKEYTYPE</info> O tipo de chave
                       da chave SSL privada especificada em <info>CURLOPT_SSLKEY</info>. Os tipos de chave
                       suportados são <return>"PEM"</return> (padrão), <return>"DER"</return> e <return>"ENG"</return>.  <info>CURLOPT_TLS13_CIPHERS</info> A lista
                       de conjuntos de cifras a serem usados para a conexão TLS 1.3. A lista deve
                       estar sintaticamente correta, ela consiste em uma ou mais sequências de
                       conjuntos de cifras separadas por dois pontos. Esta opção é usada atualmente
                       apenas quando o curl é construído para usar o OpenSSL 1.1.1 ou posterior. Se
                       você estiver usando um back-end SSL diferente, tente configurar os conjuntos
                       de cifras TLS 1.3 usando a opção <info>CURLOPT_SSL_CIPHER_LIST</info>.  Disponível desde
                       PHP 7.3.0 e libcurl &gt;= cURL 7.61.0. Disponível quando construído com
                       OpenSSL &gt;= 1.1.1. <info>CURLOPT_UNIX_SOCKET_PATH</info> Habilita o uso de sockets de
                       domínio Unix como endpoint de conexão e define o caminho para a <info>string</info>
                       fornecida.  Adicionado no cURL 7.40.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_URL</info> A URL a ser buscada. Isso também pode ser definido ao inicializar
                       uma sessão com <strong>curl_init()</strong>.  <info>CURLOPT_USERAGENT</info> O conteúdo do cabeçalho
                       <return>"User-Agent: "</return> a ser usado em uma solicitação HTTP.  <info>CURLOPT_USERNAME</info> O nome
                       de usuário a ser usado na autenticação.  Adicionado no cURL 7.19.1.
                       <info>CURLOPT_PASSWORD</info> A senha a ser usada na autenticação.  Adicionado no cURL
                       7.19.1. <info>CURLOPT_USERPWD</info> Um nome de usuário e senha formatados como
                       <return>"[username]:[password]"</return> para usar na conexão.  <info>CURLOPT_XOAUTH2_BEARER</info>
                       Especifica o token de acesso OAuth 2.0.  Adicionado no cURL 7.33.0.
                       Disponível desde PHP 7.0.7.
                       
                       Fornecer autenticação de assinatura AWS V4 no cabeçalho HTTP(S).
                       
                       Esta opção substitui quaisquer outros tipos de autenticação que tenham sido
                       definidos em <info>CURLOPT_HTTPAUTH</info>. Este método não pode ser combinado com outros
                       tipos de autenticação.
                       
                       Um método de solicitação personalizado para usar em vez de <return>"GET"</return> ou <return>"HEAD"</return> ao
                       fazer uma solicitação HTTP. Isso é útil para fazer <return>"DELETE"</return> ou outras
                       solicitações HTTP mais obscuras. Os valores válidos são coisas como <return>"GET"</return>,
                       <return>"POST"</return>, <return>"CONNECT"</return> e assim por diante; ou seja, não insira uma linha de
                       solicitação HTTP inteira aqui. Por exemplo, inserir <return>"GET /index.html
                       HTTP/1.0\r\n\r\n"</return> seria incorreto.  Não faça isso sem antes certificar-se de
                       que o servidor oferece suporte ao método de solicitação personalizado.
                       
                       Não faça isso sem antes certificar-se de que o servidor oferece suporte ao
                       método de solicitação personalizado.
                       
                       O protocolo padrão a ser usado se a URL não tiver um nome de esquema.
                       
                       Defina o nome da interface de rede à qual o resolvedor de DNS deve se
                       vincular. Deve ser um nome de interface (não um endereço).
                       
                       Defina o endereço IPv4 local ao qual o resolvedor deve se vincular. O
                       argumento deve conter um único endereço IPv4 numérico como string.
                       
                       Defina o endereço IPv6 local ao qual o resolvedor deve se vincular. O
                       argumento deve conter um único endereço IPv6 numérico como string.
                       
                       Nome do arquivo de cache do HSTS (HTTP Strict Transport Security).
                       
                       Controla o comportamento do HSTS (HTTP Strict Transport Security). Preencha a
                       máscara de bits com o conjunto correto de recursos para instruir o cURL sobre
                       como lidar com o HSTS para as transferências. <info>CURLHSTS_ENABLE</info> habilita o
                       cache HSTS na memória. Se o arquivo de cache HSTS estiver definido, defina
                       <info>CURLHSTS_READONLYFILE</info> para tornar o arquivo somente leitura.
                       
                       Os dados completos a serem postados em uma operação HTTP "POST". Este
                       parâmetro pode ser passado como uma string com código urlen como
                       '<return>para1=val1&para2=val2&...</return>' ou como uma matriz com o nome do campo como chave
                       e os dados do campo como valor. Se <strong>$value</strong>  for um array, o cabeçalho
                       <return>multipart/form-data</return> será definido como <return>Content-Type</return>.
                       
                       Os arquivos podem ser enviados usando <class>CURLFile</class> ou <class>CURLStringFile</class>, caso em que
                       o <strong>$value</strong> deve ser uma matriz.
                       
                       A autenticação Secure Remote Password (SRP) para TLS fornece autenticação
                       mútua se ambos os lados tiverem um segredo compartilhado. Para usar TLS-SRP,
                       você também deve definir as opções <info>CURLOPT_PROXY_TLSAUTH_USERNAME</info> e
                       <info>CURLOPT_PROXY_TLSAUTH_PASSWORD</info>.
                       
                       A senha secreta necessária para usar a chave SSL privada especificada em
                       <info>CURLOPT_SSLKEY</info>.  Como esta opção contém uma senha confidencial, lembre-se de
                       manter o script PHP contido nela seguro.
                       
                       Como esta opção contém uma senha confidencial, lembre-se de manter o script
                       PHP contido nela seguro.
                       
                       <strong>$value</strong> deve ser um array para os seguintes valores do parâmetro <strong>$option</strong>:
                       OpçãoDefinir <strong>$value</strong> paraNotas<info>CURLOPT_CONNECT_TO</info> Conecte-se a um host e porta
                       específicos em vez do host e da porta da URL. Aceita uma matriz de strings
                       com o formato <return>HOST:PORT:CONNECT-TO-HOST:CONNECT-TO-PORT</return>.  Adicionado em cURL
                       7.49.0. Disponível desde PHP 7.0.7. <info>CURLOPT_HTTP200ALIASES</info> Uma matriz de
                       respostas HTTP 200 que serão tratadas como respostas válidas e não como
                       erros.  Adicionado no cURL 7.10.3. <info>CURLOPT_HTTPHEADER</info> Uma matriz de campos de
                       cabeçalho HTTP para definir, no formato  array('Content-type: text/plain',
                       'Content-length: 100')   <info>CURLOPT_POSTQUOTE</info> Uma matriz de comandos de FTP a
                       serem executados no servidor após a execução da solicitação de FTP.
                       <info>CURLOPT_PROXYHEADER</info> Uma matriz de cabeçalhos HTTP personalizados para passar
                       para proxies.  Adicionado no cURL 7.37.0. Disponível desde PHP 7.0.7.
                       <info>CURLOPT_QUOTE</info> Uma matriz de comandos de FTP a serem executados no servidor
                       antes da solicitação de FTP.  <info>CURLOPT_RESOLVE</info> Forneça um endereço
                       personalizado para um host específico e um par de portas. Uma matriz de
                       strings de nome de host, porta e endereço IP, cada elemento separado por dois
                       pontos. No formato: array("example.com:80:127.0.0.1")
                       array("example.com:80:127.0.0.1")   Adicionado no cURL 7.21.3.
                       
                       <strong>$value</strong> deve ser um recurso de fluxo (usando <strong>fopen()</strong>, por exemplo) para os
                       seguintes valores do parâmetro <strong>$option</strong>: OpçãoDefinir <strong>$value</strong> para<info>CURLOPT_FILE</info>
                       O arquivo no qual a transferência deve ser gravada. O padrão é <return>STDOUT</return> (a
                       janela do navegador). <info>CURLOPT_INFILE</info> O arquivo do qual a transferência deve
                       ser lida durante o upload. <info>CURLOPT_STDERR</info> Um local alternativo para gerar
                       erros em vez de <return>STDERR</return>. <info>CURLOPT_WRITEHEADER</info> O arquivo no qual a parte do
                       cabeçalho da transferência é gravada.
                       
                       <strong>$value</strong> deve ser o nome de uma função válida ou um Closure para os seguintes
                       valores do parâmetro <strong>$option</strong>: OpçãoDefinir <strong>$value</strong>
                       paraNotas<info>CURLOPT_HEADERFUNCTION</info> Um callback que aceita dois parâmetros. O
                       primeiro é o recurso cURL, o segundo é uma string com os dados do cabeçalho a
                       serem gravados. Os dados do cabeçalho devem ser gravados por este callback.
                       Retorna o número de bytes gravados. <info>CURLOPT_PASSWDFUNCTION</info> Um callback que
                       aceita três parâmetros. O primeiro é o recurso cURL, o segundo é uma string
                       contendo um prompt de senha e o terceiro é o tamanho máximo da senha. Retorna
                       a string contendo a senha. Removido a partir do PHP
                       7.3.0.<info>CURLOPT_PROGRESSFUNCTION</info> Um callback que aceita cinco parâmetros. O
                       primeiro é o recurso cURL, o segundo é o número total de bytes que se espera
                       que sejam baixados nesta transferência, o terceiro é o número de bytes
                       baixados até agora, o quarto é o número total de bytes que se espera que
                       sejam carregados nesta transferência, e o quinto é o número de bytes enviados
                       até agora.  O callback só é chamado quando a opção <info>CURLOPT_NOPROGRESS</info> é
                       definida como <info>false</info>.  Retorne um valor diferente de zero para abortar a
                       transferência. Nesse caso, a transferência definirá um erro
                       <info>CURLE_ABORTED_BY_CALLBACK</info>. <info>CURLOPT_READFUNCTION</info> Um callback que aceita três
                       parâmetros. O primeiro é o recurso cURL, o segundo é um recurso de fluxo
                       fornecido ao cURL por meio da opção <info>CURLOPT_INFILE</info> e o terceiro é a
                       quantidade máxima de dados a serem lidos. O callback deve retornar uma string
                       com comprimento igual ou menor que a quantidade de dados solicitados,
                       geralmente lendo-a do recurso de fluxo passado. Ele deve retornar uma string
                       vazia para sinalizar <return>EOF</return>. <info>CURLOPT_WRITEFUNCTION</info> Um callback que aceita dois
                       parâmetros. O primeiro é o recurso cURL e o segundo é uma string com os dados
                       a serem gravados. Os dados devem ser salvos por este callback. Deve retornar
                       o número exato de bytes escritos ou a transferência será abortada com erro.
                       <info>CURLOPT_XFERINFOFUNCTION</info> Um callback que aceita dois parâmetros. Tem um
                       propósito semelhante ao <info>CURLOPT_PROGRESSFUNCTION</info>, mas é mais moderno e a
                       opção preferida do cURL.  Adicionado em 7.32.0. Disponível a partir do PHP
                       8.2.0.
                       
                       Um callback que aceita cinco parâmetros. O primeiro é o recurso cURL, o
                       segundo é o número total de bytes que se espera que sejam baixados nesta
                       transferência, o terceiro é o número de bytes baixados até agora, o quarto é
                       o número total de bytes que se espera que sejam carregados nesta
                       transferência, e o quinto é o número de bytes enviados até agora.
                       
                       O callback só é chamado quando a opção <info>CURLOPT_NOPROGRESS</info> é definida como
                       <info>false</info>.
                       
                       Retorne um valor diferente de zero para abortar a transferência. Nesse caso,
                       a transferência definirá um erro <info>CURLE_ABORTED_BY_CALLBACK</info>.
                       
                       Other values: OpçãoDefinir <strong>$value</strong> para<info>CURLOPT_SHARE</info> Um resultado de
                       <strong>curl_share_init()</strong>. Faz com que o identificador cURL use os dados do
                       identificador compartilhado.

<comment>Return:</comment>
  <info>bool</info>  Retorna <info>true</info> em caso de sucesso ou <info>false</info> em caso de falha.

<comment>See Also:</comment>
   * <strong>curl_setopt_array()</strong>
   * <class>CURLFile</class>
   * <class>CURLStringFile</class>


