# php_manual

id: geoip_region_name_by_code
type: function
doc:
<comment>Description:</comment>
  Returns the region name for some country and region code combo
  
  The <strong>geoip_region_name_by_code()</strong> function will return the region name corresponding to a country
  and region code combo.
  
  In the United States, the region code corresponds to the two-letter abbreviation of each state. In
  Canada, the region code corresponds to the two-letter province or territory code as attributed by
  Canada Post.
  
  For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check
  http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.
  
  This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken
  directly from the GeoIP Library and not from any database.

<comment>Param:</comment>
  <info>string</info>  <strong>$country_code</strong>  The two-letter country code (see <strong>geoip_country_code_by_name()</strong>)
  <info>string</info>  <strong>$region_code</strong>   The two-letter (or digit) region code (see  <strong>geoip_region_by_name()</strong>)

<comment>Return:</comment>
  <info>string</info>  Returns the region name on success, or <info>false</info> if the country and region code combo cannot
          be found.


id: geoip_setup_custom_directory
type: function
doc:
<comment>Description:</comment>
  Set a custom directory for the GeoIP database
  
  The <strong>geoip_setup_custom_directory()</strong> function will change the default directory of the GeoIP
  database. This is equivalent to changing geoip.custom_directory.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  The full path of where the GeoIP database is on disk.

<comment>Return:</comment>
  <info>void</info>  No value is returned.


id: geoip_time_zone_by_country_and_region
type: function
doc:
<comment>Description:</comment>
  Returns the time zone for some country and region code combo
  
  The <strong>geoip_time_zone_by_country_and_region()</strong> function will return the time zone corresponding to a
  country and region code combo.
  
  In the United States, the region code corresponds to the two-letter abbreviation of each state. In
  Canada, the region code corresponds to the two-letter province or territory code as attributed by
  Canada Post.
  
  For the rest of the world, GeoIP uses FIPS 10-4 codes to represent regions. You can check
  http://www.maxmind.com/app/fips10_4 for a detailed list of FIPS 10-4 codes.
  
  This function is always available if using GeoIP Library version 1.4.1 or newer. The data is taken
  directly from the GeoIP Library and not from any database.

<comment>Param:</comment>
  <info>string</info>  <strong>$country_code</strong>  The two-letter country code (see <strong>geoip_country_code_by_name()</strong>)
  <info>string</info>  <strong>$region_code</strong>   The two-letter (or digit) region code (see  <strong>geoip_region_by_name()</strong>)

<comment>Return:</comment>
  <info>string</info>  Returns the time zone on success, or <info>false</info> if the country and region code combo cannot be
          found.


id: getSession
type: function
doc:
<comment>Description:</comment>
  Connect to a MySQL server
  
  Connects to the MySQL server.

<comment>Param:</comment>
  <info>string</info>  <strong>$uri</strong>  The URI to the MySQL server, such as <return>mysqlx://user:password@host</return>.
                
                URI format:
                
                scheme://[user[:[password]]@]target[:port][?attribute1=value1&attribute2=value2...
                
                <return>scheme</return>: required, the connection protocol
                
                In mysql_xdevapi it is always 'mysqlx' (for X Protocol)
                
                <return>user</return>: optional, the MySQL user account for authentication
                
                <return>password</return>: optional, the MySQL user's password for authentication
                
                <return>target</return>: required, the server instance the connection refers to:
                
                * TCP connection (host name, IPv4 address, or IPv6 address)
                
                * Unix socket path (local file path)
                
                * Windows named-pipe (local file path)
                
                <return>port</return>: optional, network port of MySQL server.
                
                by default port for X Protocol is 33060
                
                <return>?attribute=value</return>: this element is optional and specifies a data dictionary  that
                contains different options, including:
                
                The <return>auth</return> (authentication mechanism) attribute as it relates to encrypted
                connections. For additional information, see Command Options for Encrypted
                Connections. The following 'auth' values are supported: <return>plain</return>, <return>mysql41</return>, <return>external</return>,
                and <return>sha256_mem</return>.
                
                The <return>connect-timeout</return> attribute affects the connection and not subsequent operations.
                It is set per connection whether on a single or multiple hosts.
                
                Pass in a positive integer to define the connection timeout in seconds, or pass in 0
                (zero) to disable the timeout (infinite). Not defining connect-timeout uses the
                default value of 10.
                
                Related, the MYSQLX_CONNECTION_TIMEOUT (timeout in seconds) and
                MYSQLX_TEST_CONNECTION_TIMEOUT (used while running tests) environment variables can
                be set and used instead of connect-timeout in the URI. The connect-timeout URI
                option has precedence over these environment variables.
                
                The optional <return>compression</return> attribute accepts these values:  <return>preferred</return> (client
                negotiates with server to find a supported algorithm; connection is uncompressed if
                a mutually supported algorithm is not found),  <return>required</return> (like "preferred", but
                connection is terminated if a mutually supported algorithm is not found), or
                <return>disabled</return> (connection is uncompressed). Defaults to <return>preferred</return>.
                
                This option was added in version 8.0.20.
                
                The optional <return>compression-algorithms</return> attribute defines  the desired compression
                algorithms (and their preferred usage order):  <return>zstd_stream</return> (alias: zstd),
                <return>lz4_message</return> (alias: lz4), or <return>deflate_stream</return> (aliases: deflate or zlib). By default,
                the order used (depending on system availability) is lz4_message, zstd_stream, then
                deflate_stream. For example, passing in compression-algorithms=[lz4,zstd_stream]
                uses lz4 if it's available, otherwise zstd_stream is used. If both are unavailable
                then behavior depends on the compression value e.g., if compression=required then
                it'll fail with an error.
                
                This option was added in version 8.0.22.
                
                For related information, see MySQL Shell's Connecting using a URI String.

<comment>Return:</comment>
  <info>mysql_xdevapi\Session</info>  A <class>Session</class> object.


id: get_browser
type: function
doc:
<comment>Description:</comment>
  Tells what the user's browser is capable of
  
  Attempts to determine the capabilities of the user's browser, by looking up the browser's
  information in the browscap.ini file.

<comment>Param:</comment>
  <info>string|null</info>  <strong>$user_agent</strong>    The User Agent to be analyzed. By default, the value of HTTP
                              User-Agent header is used; however, you can alter this (i.e., look up
                              another browser's info) by passing this parameter.
                              
                              You can bypass this parameter with a <info>null</info> value.
  <info>bool</info>         <strong>$return_array</strong>  If set to <info>true</info>, this function will return an <info>array</info> instead of an
                              <info>object</info>.

<comment>Return:</comment>
  <info>object|array|false</info>  The information is returned in an object or an array which will contain
                      various data elements representing, for instance, the browser's major and
                      minor version numbers and ID string; <info>true</info>/<info>false</info> values for features such as
                      frames, JavaScript, and cookies; and so forth.
                      
                      The <return>cookies</return> value simply means that the browser itself is capable of accepting
                      cookies and does not mean the user has enabled the browser to accept cookies
                      or not. The only way to test if cookies are accepted is to set one with
                      <strong>setcookie()</strong>, reload, and check for the value.
                      
                      Returns <info>false</info> when no information can be retrieved, such as when the browscap
                      configuration setting in  php.ini has not been set.


id: get_called_class
type: function
doc:
<comment>Description:</comment>
  The "Late Static Binding" class name
  
  Gets the name of the class the static method is called in.

<comment>Return:</comment>
  <info>string</info>  Returns the class name.

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


id: get_cfg_var
type: function
doc:
<comment>Description:</comment>
  Gets the value of a PHP configuration option
  
  Gets the value of a PHP configuration <strong>$option</strong>.
  
  This function will not return configuration information set when the PHP was compiled, or read
  from an Apache configuration file.
  
  To check whether the system is using a configuration file, try retrieving the value of the
  cfg_file_path configuration setting. If this is available, a configuration file is being used.

<comment>Param:</comment>
  <info>string</info>  <strong>$option</strong>  The configuration option name.

<comment>Return:</comment>
  <info>string|array|false</info>  Returns the current value of the PHP configuration variable specified by
                      <strong>$option</strong>, or <info>false</info> if an error occurs.

<comment>See Also:</comment>
   * <strong>ini_get()</strong>
   * <strong>ini_get_all()</strong>


id: get_class
type: function
doc:
<comment>Description:</comment>
  Returns the name of the class of an object
  
  Gets the name of the class of the given <strong>$object</strong>.

<comment>Param:</comment>
  <info>object</info>  <strong>$object</strong>  The tested object. This parameter may be omitted when inside a class.
                   
                   Explicitly passing <info>null</info> as the <strong>$object</strong> is no longer allowed as of PHP 7.2.0 and
                   emits an <info>E_WARNING</info>. As of PHP 8.0.0, a <class>TypeError</class> is emitted when <info>null</info> is used.

<comment>Return:</comment>
  <info>string</info>  Returns the name of the class of which <strong>$object</strong> is an instance.
          
          If <strong>$object</strong> is omitted when inside a class, the name of that class is returned.
          
          If the <strong>$object</strong> is an instance of a class which exists  in a namespace, the qualified
          namespaced name of that class is returned.

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


id: get_class_methods
type: function
doc:
<comment>Description:</comment>
  Gets the class methods' names
  
  Gets the class methods names.

<comment>Param:</comment>
  <info>object|string</info>  <strong>$object_or_class</strong>  The class name or an object instance

<comment>Return:</comment>
  <info>array</info>  Returns an array of method names defined for the class specified by <strong>$object_or_class</strong>.

<comment>See Also:</comment>
   * <strong>get_class()</strong>
   * <strong>get_class_vars()</strong>
   * <strong>get_object_vars()</strong>


id: get_class_vars
type: function
doc:
<comment>Description:</comment>
  Get the default properties of the class
  
  Get the default properties of the given class.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>  The class name

<comment>Return:</comment>
  <info>array</info>  Returns an associative array of declared properties visible from the current scope, with
         their default value. The resulting array elements are in the form of  <return>varname =&gt; value</return>.
         In case of an error, it returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>get_class_methods()</strong>
   * <strong>get_object_vars()</strong>


id: get_current_user
type: function
doc:
<comment>Description:</comment>
  Gets the name of the owner of the current PHP script
  
  Returns the name of the owner of the current PHP script.

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

<comment>See Also:</comment>
   * <strong>getmyuid()</strong>
   * <strong>getmygid()</strong>
   * <strong>getmypid()</strong>
   * <strong>getmyinode()</strong>
   * <strong>getlastmod()</strong>


id: get_debug_type
type: function
doc:
<comment>Description:</comment>
  Gets the type name of a variable in a way that is suitable for debugging
  
  Returns the resolved name of the PHP variable <strong>$value</strong>. This function will resolve objects to their
  class name, resources to their resource type name, and scalar values to their common name as would
  be used in type declarations.
  
  This function differs from <strong>gettype()</strong> in that it returns type names that are more consistent with
  actual usage, rather than those present for historical reasons.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The variable being type checked.

<comment>Return:</comment>
  <info>string</info>  Possible values for the returned string are:
           Type + StateReturn ValueNotesnull<return>"null"</return>-Booleans (true or
          false)<return>"bool"</return>-Integers<return>"int"</return>-Floats<return>"float"</return>-Strings<return>"string"</return>-Arrays<return>"array"</return>-Resources<return>"resource
          (resourcename)"</return>-Resources (Closed)<return>"resource (closed)"</return>Example: A file stream after being
          closed with fclose.Objects from Named Classes The full name of the class including its
          namespace e.g. <return>Foo\Bar</return> -Objects from Anonymous Classes<return>"class@anonymous"</return> Anonymous classes
          are those created through the $x = new class { ... } syntax

<comment>See Also:</comment>
   * <strong>gettype()</strong>
   * <strong>get_class()</strong>


id: get_declared_classes
type: function
doc:
<comment>Description:</comment>
  Returns an array with the name of the defined classes
  
  Gets the declared classes.

<comment>Return:</comment>
  <info>array</info>  Returns an array of the names of the declared classes in the current script.
         
         Note that depending on what extensions you have compiled or loaded into PHP, additional
         classes could be present. This means that you will not be able to define your own classes
         using these names. There is a list of predefined classes in the Predefined Classes section
         of the appendices.

<comment>See Also:</comment>
   * <strong>class_exists()</strong>
   * <strong>get_declared_interfaces()</strong>
   * <strong>get_defined_functions()</strong>


id: get_declared_interfaces
type: function
doc:
<comment>Description:</comment>
  Returns an array of all declared interfaces
  
  Gets the declared interfaces.

<comment>Return:</comment>
  <info>array</info>  Returns an array of the names of the declared interfaces in the current script.

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


id: get_declared_traits
type: function
doc:
<comment>Description:</comment>
  Returns an array of all declared traits

<comment>Return:</comment>
  <info>array</info>  Returns an array with names of all declared traits in values.

<comment>See Also:</comment>
   * <strong>class_uses()</strong>
   * <strong>trait_exists()</strong>


id: get_defined_constants
type: function
doc:
<comment>Description:</comment>
  Returns an associative array with the names of all the constants and their values
  
  Returns the names and values of all the constants currently defined. This includes those created
  by extensions as well as those created with the <strong>define()</strong> function.

<comment>Param:</comment>
  <info>bool</info>  <strong>$categorize</strong>  Causing this function to return a multi-dimensional array with categories in
                     the keys of the first dimension and constants and their values in the second
                     dimension.
                     ]]>The above example will output
                     something similar to: Array ( [E_ERROR] => 1 [E_WARNING] => 2 [E_PARSE] => 4
                     [E_NOTICE] => 8 [E_CORE_ERROR] => 16 [E_CORE_WARNING] => 32 [E_COMPILE_ERROR]
                     => 64 [E_COMPILE_WARNING] => 128 [E_USER_ERROR] => 256 [E_USER_WARNING] => 512
                     [E_USER_NOTICE] => 1024 [E_ALL] => 2047 [TRUE] => 1 )
                      [pcre] => Array ( [PREG_PATTERN_ORDER] => 1 [PREG_SET_ORDER] => 2
                     [PREG_OFFSET_CAPTURE] => 256 [PREG_SPLIT_NO_EMPTY] => 1
                     [PREG_SPLIT_DELIM_CAPTURE] => 2 [PREG_SPLIT_OFFSET_CAPTURE] => 4
                     [PREG_GREP_INVERT] => 1 )
                      [user] => Array ( [MY_CONSTANT] => 1 )
                     
                     )
                     ]]>
                     
                     The above example will output
                     something similar to:

<comment>Return:</comment>
  <info>array</info>  Returns an array of constant name =&gt; constant value array, optionally groupped by
         extension name registering the constant.

<comment>See Also:</comment>
   * <strong>defined()</strong>
   * <strong>constant()</strong>
   * <strong>get_loaded_extensions()</strong>
   * <strong>get_defined_functions()</strong>
   * <strong>get_defined_vars()</strong>


id: get_defined_functions
type: function
doc:
<comment>Description:</comment>
  Returns an array of all defined functions
  
  Gets an array of all defined functions.

<comment>Param:</comment>
  <info>bool</info>  <strong>$exclude_disabled</strong>  Whether disabled functions should be excluded from the return value.

<comment>Return:</comment>
  <info>array</info>  Returns a multidimensional array containing a list of all defined functions, both built-in
         (internal) and user-defined. The internal functions will be accessible via
         $arr["internal"], and the user defined ones using $arr["user"] (see example below).

<comment>See Also:</comment>
   * <strong>function_exists()</strong>
   * <strong>get_defined_vars()</strong>
   * <strong>get_defined_constants()</strong>
   * <strong>get_declared_classes()</strong>


id: get_defined_vars
type: function
doc:
<comment>Description:</comment>
  Returns an array of all defined variables
    
  
  This function returns a multidimensional array containing a list of all defined variables, be them
  environment, server or user-defined variables, within the scope that <strong>get_defined_vars()</strong> is called.

<comment>Return:</comment>
  <info>array</info>  A multidimensional array with all the variables.

<comment>See Also:</comment>
   * <strong>isset()</strong>
   * <strong>get_defined_functions()</strong>
   * <strong>get_defined_constants()</strong>


id: get_extension_funcs
type: function
doc:
<comment>Description:</comment>
  Returns an array with the names of the functions of a module
  
  This function returns the names of all the functions defined in the module indicated by
  <strong>$extension</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$extension</strong>  The module name.
                      
                      This parameter must be in lowercase.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array with all the functions, or <info>false</info> if  <strong>$extension</strong> is not a valid
               extension.

<comment>See Also:</comment>
   * <strong>get_loaded_extensions()</strong>
   * ReflectionExtension::getFunctions


id: get_headers
type: function
doc:
<comment>Description:</comment>
  Fetches all the headers sent by the server in response to an HTTP request
  
  <strong>get_headers()</strong> returns an array with the headers sent by the server in response to a HTTP request.

<comment>Param:</comment>
  <info>string</info>         <strong>$url</strong>          The target URL.
  <info>bool</info>           <strong>$associative</strong>  If the optional <strong>$associative</strong> parameter is set to true, <strong>get_headers()</strong>
                               parses the response and sets the  array's keys.
  <info>resource|null</info>  <strong>$context</strong>      A valid context resource created with <strong>stream_context_create()</strong>, or
                               <info>null</info> to use the default context.

<comment>Return:</comment>
  <info>array|false</info>  Returns an indexed or associative array with the headers, or <info>false</info> on failure.

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


id: get_html_translation_table
type: function
doc:
<comment>Description:</comment>
  Returns the translation table used by htmlspecialchars and htmlentities
  
  <strong>get_html_translation_table()</strong> will return the translation table that is used internally for
  <strong>htmlspecialchars()</strong> and <strong>htmlentities()</strong>.
  
  Special characters can be encoded in several ways. E.g. <return>"</return> can be encoded as , <return>&#34;</return> or <return>&#x22</return>.
  <strong>get_html_translation_table()</strong> returns only the form used by <strong>htmlspecialchars()</strong> and <strong>htmlentities()</strong>.

<comment>Param:</comment>
  <info>int</info>     <strong>$table</strong>     Which table to return. Either <info>HTML_ENTITIES</info> or <info>HTML_SPECIALCHARS</info>.
  <info>int</info>     <strong>$flags</strong>     A bitmask of one or more of the following flags, which specify which quotes the
                     table will contain as well as which document type the table is for. The default
                     is <return>ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401</return>. Available <strong>$flags</strong>
                     constantsConstant NameDescription<info>ENT_COMPAT</info>Table will contain entities for
                     double-quotes, but not for single-quotes.<info>ENT_QUOTES</info>Table will contain entities
                     for both double and single quotes.<info>ENT_NOQUOTES</info>Table will neither contain
                     entities for single quotes nor for double quotes.<info>ENT_SUBSTITUTE</info> Replace invalid
                     code unit sequences with a Unicode Replacement Character U+FFFD (UTF-8) or
                     &#xFFFD; (otherwise) instead of returning an empty string. <info>ENT_HTML401</info>Table for
                     HTML 4.01.<info>ENT_XML1</info>Table for XML 1.<info>ENT_XHTML</info>Table for XHTML.<info>ENT_HTML5</info>Table for
                     HTML 5.
  <info>string</info>  <strong>$encoding</strong>  Encoding to use. If omitted, the default value for this argument is UTF-8.
                     
                     The following character sets are supported: Supported
                     charsetsCharsetAliasesDescriptionISO-8859-1ISO8859-1 Western European, Latin-1.
                     ISO-8859-5ISO8859-5 Little used cyrillic charset (Latin/Cyrillic).
                     ISO-8859-15ISO8859-15 Western European, Latin-9. Adds the Euro sign, French and
                     Finnish letters missing in Latin-1 (ISO-8859-1). UTF-8 ASCII compatible
                     multi-byte 8-bit Unicode. cp866ibm866, 866 DOS-specific Cyrillic charset.
                     cp1251Windows-1251, win-1251, 1251 Windows-specific Cyrillic charset.
                     cp1252Windows-1252, 1252 Windows specific charset for Western European.
                     KOI8-Rkoi8-ru, koi8r Russian. BIG5950 Traditional Chinese, mainly used in
                     Taiwan. GB2312936 Simplified Chinese, national standard character set.
                     BIG5-HKSCS Big5 with Hong Kong extensions, Traditional Chinese. Shift_JISSJIS,
                     SJIS-win, cp932, 932 Japanese EUC-JPEUCJP, eucJP-win Japanese MacRoman Charset
                     that was used by Mac OS. <return>''</return> An empty string activates detection from script
                     encoding (Zend multibyte), default_charset and current locale (see
                     <strong>nl_langinfo()</strong> and <strong>setlocale()</strong>), in this order. Not recommended.   Any other
                     character sets are not recognized. The default encoding will be used instead
                     and a warning will be emitted.
                     
                     Any other character sets are not recognized. The default encoding will be used
                     instead and a warning will be emitted.

<comment>Return:</comment>
  <info>array</info>  Returns the translation table as an array, with the original characters as keys and
         entities as values.

<comment>See Also:</comment>
   * <strong>htmlspecialchars()</strong>
   * <strong>htmlentities()</strong>
   * <strong>html_entity_decode()</strong>


id: get_include_path
type: function
doc:
<comment>Description:</comment>
  Gets the current include_path configuration option
  
  Gets the current include_path configuration option value.

<comment>Return:</comment>
  <info>string|false</info>  Returns the path, as a string,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ini_get()</strong>
   * <strong>restore_include_path()</strong>
   * <strong>set_include_path()</strong>
   * <strong>include()</strong>


id: get_included_files
type: function
doc:
<comment>Description:</comment>
  Returns an array with the names of included or required files
  
  Gets the names of all files that have been included using <strong>include()</strong>, <strong>include_once()</strong>, <strong>require()</strong> or
  <strong>require_once()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns an array of the names of all files.
         
         The script originally called is considered an "included file," so it will be listed
         together with the files referenced by  <strong>include()</strong> and family.
         
         Files that are included or required multiple times only show up once in the returned array.

<comment>See Also:</comment>
   * <strong>include()</strong>
   * <strong>include_once()</strong>
   * <strong>require()</strong>
   * <strong>require_once()</strong>
   * <strong>get_required_files()</strong>


id: get_loaded_extensions
type: function
doc:
<comment>Description:</comment>
  Returns an array with the names of all modules compiled and loaded
  
  This function returns the names of all the modules compiled and loaded in the PHP interpreter.

<comment>Param:</comment>
  <info>bool</info>  <strong>$zend_extensions</strong>  Only return Zend extensions, if not then regular extensions, like  mysqli
                          are listed. Defaults to <info>false</info> (return regular extensions).

<comment>Return:</comment>
  <info>array</info>  Returns an indexed array of all the modules names.

<comment>See Also:</comment>
   * <strong>get_extension_funcs()</strong>
   * <strong>extension_loaded()</strong>
   * <strong>dl()</strong>
   * <strong>phpinfo()</strong>


id: get_magic_quotes_gpc
type: function
doc:
<comment>Description:</comment>
  Gets the current configuration setting of magic_quotes_gpc
  
  Always returns <info>false</info>.

<comment>Return:</comment>
  <info>false</info>  Always returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>addslashes()</strong>
   * <strong>stripslashes()</strong>
   * <strong>get_magic_quotes_runtime()</strong>
   * <strong>ini_get()</strong>


id: get_magic_quotes_runtime
type: function
doc:
<comment>Description:</comment>
  Gets the current active configuration setting of magic_quotes_runtime
  
  Always returns <info>false</info>.

<comment>Return:</comment>
  <info>false</info>  Always returns <info>false</info>.

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


id: get_mangled_object_vars
type: function
doc:
<comment>Description:</comment>
  Returns an array of mangled object properties
  
  Returns an <info>array</info> whose elements are the <strong>$object</strong>'s properties. The keys are the member variable
  names, with a few notable exceptions: private variables have the class name prepended to the
  variable name, and protected variables have a <return>*</return> prepended to the variable name. These prepended
  values have <return>NUL</return> bytes on either side. Uninitialized typed properties are silently discarded.

<comment>Param:</comment>
  <info>object</info>  <strong>$object</strong>  An object instance.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> containing all properties, regardless of visibility, of <strong>$object</strong>.

<comment>See Also:</comment>
   * <strong>get_class_vars()</strong>
   * <strong>get_object_vars()</strong>


id: get_meta_tags
type: function
doc:
<comment>Description:</comment>
  Extracts all meta tag content attributes from a file and returns an array
  
  Opens <strong>$filename</strong> and parses it line by line for \<meta&gt; tags in the file. The parsing stops at <return>\</head&gt;</return>.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>          The path to the HTML file, as a string. This can be a local file or an
                             URL.
                             
                             What <strong>get_meta_tags()</strong> parses
                             
                             
                             
                              
                             ]]>
  <info>bool</info>    <strong>$use_include_path</strong>  Setting <strong>$use_include_path</strong> to <info>true</info> will result in PHP trying to open the
                             file along the standard include path as per the include_path directive.
                             This is used for local files, not URLs.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array with all the parsed meta tags.
               
               The value of the name property becomes the key, the value of the content property
               becomes the value of the returned array, so you can easily use standard array
               functions to traverse it or access single values.  Special characters in the value of
               the name property are substituted with '_', the rest is converted to lower case.  If
               two meta tags have the same name, only the last one is returned.
               
               Returns <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>htmlentities()</strong>
   * <strong>urlencode()</strong>


id: get_object_vars
type: function
doc:
<comment>Description:</comment>
  Gets the properties of the given object
  
  Gets the accessible non-static properties of the given  <strong>$object</strong> according to scope.

<comment>Param:</comment>
  <info>object</info>  <strong>$object</strong>  An object instance.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array of defined object accessible non-static properties  for the
         specified <strong>$object</strong> in scope.

<comment>See Also:</comment>
   * <strong>get_class_methods()</strong>
   * <strong>get_class_vars()</strong>


id: get_parent_class
type: function
doc:
<comment>Description:</comment>
  Retrieves the parent class name for object or class
  
  Retrieves the parent class name for object or class.

<comment>Param:</comment>
  <info>object|string</info>  <strong>$object_or_class</strong>  The tested object or class name. This parameter is optional if
                                   called from the object's method.

<comment>Return:</comment>
  <info>string|false</info>  Returns the name of the parent class of the class of which <strong>$object_or_class</strong> is an
                instance or the name.
                
                If the object does not have a parent or the class given does not exist <info>false</info> will be
                returned.
                
                If called without parameter outside object, this function returns <info>false</info>.

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


id: get_required_files
type: function
doc:
<comment>Description:</comment>
  Alias of get_included_files
  
  This function is an alias of:  <strong>get_included_files()</strong>.


id: get_resource_id
type: function
doc:
<comment>Description:</comment>
  Returns an integer identifier for the given resource
    
  
  This function provides a type-safe way for generating the integer identifier for a resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource</strong>  The evaluated resource handle.

<comment>Return:</comment>
  <info>int</info>  The <info>int</info> identifier for the given <strong>$resource</strong>.
       
       This function is essentially an <info>int</info> cast of <strong>$resource</strong> to make it easier to retrieve the
       resource ID.

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


id: get_resource_type
type: function
doc:
<comment>Description:</comment>
  Returns the resource type
    
  
  This function gets the type of the given resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource</strong>  The evaluated resource handle.

<comment>Return:</comment>
  <info>string</info>  If the given <strong>$resource</strong> is a resource, this function will return a string representing its
          type. If the type is not identified by this function, the return value will be the string
          <return>Unknown</return>.
          
          This function will return <info>null</info> and generate an error if  <strong>$resource</strong> is not a <info>resource</info>.

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


id: get_resources
type: function
doc:
<comment>Description:</comment>
  Returns active resources
  
  Returns an array of all currently active <info>resource</info>s, optionally filtered by resource type.
  
  This function is meant for debugging and testing purposes. It is not supposed to be used in
  production environments, especially not to access or even manipulate resources which are normally
  not accessible (e.g. the underlying stream resource of <class>SplFileObject</class> instances).

<comment>Param:</comment>
  <info>string|null</info>  <strong>$type</strong>  If defined, this will cause <strong>get_resources()</strong> to only return resources of the
                      given type. A list of resource types is available.
                      
                      If the <info>string</info> <return>Unknown</return> is provided as the type, then only resources that are of
                      an unknown type will be returned.
                      
                      If omitted, all resources will be returned.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> of currently active resources, indexed by resource number.

<comment>See Also:</comment>
   * <strong>get_loaded_extensions()</strong>
   * <strong>get_defined_constants()</strong>
   * <strong>get_defined_functions()</strong>
   * <strong>get_defined_vars()</strong>


id: getallheaders
type: function
doc:
<comment>Description:</comment>
  Fetch all HTTP request headers
  
  Fetches all HTTP headers from the current request.
  
  This function is an alias for <strong>apache_request_headers()</strong>. Please read the <strong>apache_request_headers()</strong>
  documentation for more information on how this function works.

<comment>Return:</comment>
  <info>array</info>  An associative array of all the HTTP headers in the current request, or <info>false</info> on failure.

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


id: getcwd
type: function
doc:
<comment>Description:</comment>
  Gets the current working directory
  
  Gets the current working directory.

<comment>Return:</comment>
  <info>string|false</info>  Returns the current working directory on success, or <info>false</info> on failure.
                
                On some Unix variants, <strong>getcwd()</strong> will return <info>false</info> if any one of the parent
                directories does not have the readable or search mode set, even if the current
                directory does. See <strong>chmod()</strong> for more information on modes and permissions.

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


id: getdate
type: function
doc:
<comment>Description:</comment>
  Get date/time information
  
  Returns an associative <info>array</info> containing the date information of the <strong>$timestamp</strong>, or the current
  local time if <strong>$timestamp</strong> is omitted or <info>null</info>.

<comment>Param:</comment>
  <info>int|null</info>  <strong>$timestamp</strong>  The optional <strong>$timestamp</strong> parameter is an
                        <info>int</info> Unix timestamp that defaults to the current
                        local time if <strong>$timestamp</strong> is omitted or <info>null</info>. In other
                        words, it defaults to the value of <strong>time()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns an associative <info>array</info> of information related to the <strong>$timestamp</strong>. Elements from the
         returned  associative array are as follows:
         
         Key elements of the returned associative arrayKeyDescriptionExample returned
         values<return>"seconds"</return>Numeric representation of seconds<return>0</return> to <return>59</return><return>"minutes"</return>Numeric representation of
         minutes<return>0</return> to <return>59</return><return>"hours"</return>Numeric representation of hours<return>0</return> to <return>23</return><return>"mday"</return>Numeric representation of
         the day of the month<return>1</return> to <return>31</return><return>"wday"</return>Numeric representation of the day of the week<return>0</return> (for
         Sunday) through <return>6</return> (for Saturday)<return>"mon"</return>Numeric representation of a month<return>1</return> through <return>12</return><return>"year"</return>A
         full numeric representation of a year, 4 digitsExamples: <return>1999</return> or <return>2003</return><return>"yday"</return>Numeric
         representation of the day of the year<return>0</return> through <return>365</return><return>"weekday"</return>A full textual representation of
         the day of the week<return>Sunday</return> through <return>Saturday</return><return>"month"</return>A full textual representation of a month,
         such as January or March<return>January</return> through <return>December</return><return>0</return> Seconds since the Unix Epoch, similar to
         the values returned by <strong>time()</strong> and used by <strong>date()</strong>.  System Dependent, typically <return>-2147483648</return>
         through <return>2147483647</return>.

<comment>See Also:</comment>
   * <strong>date()</strong>
   * <strong>idate()</strong>
   * <strong>localtime()</strong>
   * <strong>time()</strong>
   * <strong>setlocale()</strong>


id: getenv
type: function
doc:
<comment>Description:</comment>
  Gets the value of a single or all environment variables
  
  Gets the value of a single or all environment variables.
  
  You can see a list of all the environmental variables by using <strong>phpinfo()</strong>. Many of these variables
  are listed within RFC 3875, specifically section 4.1, "Request Meta-Variables".

<comment>Param:</comment>
  <info>string|null</info>  <strong>$name</strong>        The variable name as a <info>string</info> or <info>null</info>.
  <info>bool</info>         <strong>$local_only</strong>  When set to <info>true</info>, only local environment variables are returned, set by
                            the operating system or putenv. It only has an effect when <strong>$name</strong> is a
                            <info>string</info>.

<comment>Return:</comment>
  <info>string|array|false</info>  Returns the value of the environment variable <strong>$name</strong>, or <info>false</info> if the
                      environment variable <strong>$name</strong> does not exist. If <strong>$name</strong> is <info>null</info>, all environment
                      variables are returned as an associative <info>array</info>.

<comment>See Also:</comment>
   * <strong>putenv()</strong>
   * <strong>apache_getenv()</strong>
   * Superglobals


id: gethostbyaddr
type: function
doc:
<comment>Description:</comment>
  Get the Internet host name corresponding to a given IP address
    
  
  Returns the host name of the Internet host specified by <strong>$ip</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$ip</strong>  The host IP address.

<comment>Return:</comment>
  <info>string|false</info>  Returns the host name on success, the unmodified <strong>$ip</strong> on failure, or <info>false</info> on
                malformed input.

<comment>See Also:</comment>
   * <strong>gethostbyname()</strong>
   * <strong>gethostbynamel()</strong>


id: gethostbyname
type: function
doc:
<comment>Description:</comment>
  Get the IPv4 address corresponding to a given Internet host name
    
  
  Returns the IPv4 address of the Internet host specified by <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The host name.

<comment>Return:</comment>
  <info>string</info>  Returns the IPv4 address or a string containing the unmodified <strong>$hostname</strong> on failure.

<comment>See Also:</comment>
   * <strong>gethostbyaddr()</strong>
   * <strong>gethostbynamel()</strong>
   * <strong>inet_pton()</strong>
   * <strong>inet_ntop()</strong>


id: gethostbynamel
type: function
doc:
<comment>Description:</comment>
  Get a list of IPv4 addresses corresponding to a given Internet host
     name
    
  
  Returns a list of IPv4 addresses to which the Internet host specified by <strong>$hostname</strong> resolves.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The host name.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array of IPv4 addresses or <info>false</info> if <strong>$hostname</strong> could not be resolved.

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


id: gethostname
type: function
doc:
<comment>Description:</comment>
  Gets the host name
  
  <strong>gethostname()</strong> gets the standard host name for  the local machine.

<comment>Return:</comment>
  <info>string|false</info>  Returns a string with the hostname on success, otherwise <info>false</info> is  returned.

<comment>See Also:</comment>
   * <strong>gethostbyname()</strong>
   * <strong>gethostbyaddr()</strong>
   * <strong>php_uname()</strong>


id: getimagesize
type: function
doc:
<comment>Description:</comment>
  Get the size of an image
  
  The <strong>getimagesize()</strong> function will determine the size of any supported given image file and return
  the dimensions along with the file type and a <return>height/width</return> text string to be used inside a normal
  HTML IMG tag and the correspondent HTTP content type.
  
  <strong>getimagesize()</strong> can also return some more information in <strong>$image_info</strong> parameter.
  
  This function expects <strong>$filename</strong> to be a valid image file. If a non-image file is supplied, it may
  be incorrectly detected as an image and the function will return successfully, but the array may
  contain nonsensical values.
  
  Do not use <strong>getimagesize()</strong> to check that a given file is a valid image. Use a purpose-built
  solution such as the Fileinfo extension instead.
  
  Note that JPC and JP2 are capable of having components with different  bit depths. In this case,
  the value for "bits" is the highest bit depth encountered. Also, JP2 files may contain <return>multiple
  JPEG 2000 codestreams</return>. In this case, <strong>getimagesize()</strong> returns the values for the first codestream it
  encounters in the root of the file.
  
  The information about icons are retrieved from the icon with the highest bitrate.
  
  GIF images consist of one or more frames, where each frame may only occupy part of the image. The
  size of the image which is reported by <strong>getimagesize()</strong> is the overall size (read from the logical
  screen descriptor).

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>    This parameter specifies the file you wish to retrieve information about. It
                       can reference a local file or (configuration permitting) a remote file using
                       one of the supported streams.
  <info>array</info>   <strong>$image_info</strong>  This optional parameter allows you to extract some extended information from
                       the image file. Currently, this will return the different JPG APP markers as
                       an associative array. Some programs use these APP markers to embed text
                       information in  images. A very common one is to embed  IPTC information in
                       the APP13 marker. You can use the <strong>iptcparse()</strong> function to parse the binary
                       APP13 marker into something readable.
                       
                       The <strong>$image_info</strong> only supports JFIF files.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array with up to 7 elements. Not all image types will include the <return>channels</return>
               and <return>bits</return> elements.
               
               Index 0 and 1 contains respectively the width and the height of the image.
               
               Some formats may contain no image or may contain multiple images. In these cases,
               <strong>getimagesize()</strong> might not be able to properly determine the image size. <strong>getimagesize()</strong>
               will return zero for width and height in these cases.
               
               Index 2 is one of the IMAGETYPE_XXX constants indicating  the type of the image.
               
               Index 3 is a text string with the correct  <return>height="yyy" width="xxx"</return> string that can
               be used directly in an IMG tag.
               
               <return>mime</return> is the correspondant MIME type of the image. This information can be used to
               deliver images with the correct HTTP  <return>Content-type</return> header: <strong>getimagesize()</strong> and MIME
               types
               ]]>
               
               <return>channels</return> will be 3 for RGB pictures and 4 for CMYK pictures.
               
               <return>bits</return> is the number of bits for each color.
               
               For some image types, the presence of <return>channels</return> and <return>bits</return> values can be a bit
               confusing. As an example, GIF always uses 3 channels per pixel, but the number of
               bits per pixel cannot be calculated for an animated GIF with a global color table.
               
               On failure, <info>false</info> is returned.

<comment>See Also:</comment>
   * <strong>image_type_to_mime_type()</strong>
   * <strong>exif_imagetype()</strong>
   * <strong>exif_read_data()</strong>
   * <strong>exif_thumbnail()</strong>
   * <strong>imagesx()</strong>
   * <strong>imagesy()</strong>


id: getimagesizefromstring
type: function
doc:
<comment>Description:</comment>
  Get the size of an image from a string
  
  Identical to <strong>getimagesize()</strong> except that <strong>getimagesizefromstring()</strong> accepts a string instead of a
  file name as the first parameter.
  
  See the <strong>getimagesize()</strong> documentation for details on how this function works.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      The image data, as a string.
  <info>array</info>   <strong>$image_info</strong>  See <strong>getimagesize()</strong>.

<comment>Return:</comment>
  <info>array|false</info>  See <strong>getimagesize()</strong>.

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


id: getlastmod
type: function
doc:
<comment>Description:</comment>
  Gets time of last page modification
  
  Gets the time of the last modification of the main script of execution.
  
  If you're interested in getting the last modification time of a different file, consider using
  <strong>filemtime()</strong>.

<comment>Return:</comment>
  <info>int|false</info>  Returns the time of the last modification of the current page. The value returned is a
             Unix timestamp, suitable for feeding to <strong>date()</strong>. Returns <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>date()</strong>
   * <strong>getmyuid()</strong>
   * <strong>getmygid()</strong>
   * <strong>get_current_user()</strong>
   * <strong>getmyinode()</strong>
   * <strong>getmypid()</strong>
   * <strong>filemtime()</strong>


id: getmxrr
type: function
doc:
<comment>Description:</comment>
  Get MX records corresponding to a given Internet host name
  
  Searches DNS for MX records corresponding to  <strong>$hostname</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  The Internet host name.
  <info>array</info>   <strong>$hosts</strong>     A list of the MX records found is placed into the array <strong>$hosts</strong>.
  <info>array</info>   <strong>$weights</strong>   If the <strong>$weights</strong> array is given, it will be filled with the weight information
                     gathered.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if any records are found; returns <info>false</info> if no records were found or if an error
        occurred.

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


id: getmygid
type: function
doc:
<comment>Description:</comment>
  Get PHP script owner's GID
  
  Gets the group ID of the current script.

<comment>Return:</comment>
  <info>int|false</info>  Returns the group ID of the current script, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>getmyuid()</strong>
   * <strong>getmypid()</strong>
   * <strong>get_current_user()</strong>
   * <strong>getmyinode()</strong>
   * <strong>getlastmod()</strong>


id: getmyinode
type: function
doc:
<comment>Description:</comment>
  Gets the inode of the current script
  
  Gets the inode of the current script.

<comment>Return:</comment>
  <info>int|false</info>  Returns the current script's inode as an integer, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>getmygid()</strong>
   * <strong>getmyuid()</strong>
   * <strong>getmypid()</strong>
   * <strong>get_current_user()</strong>
   * <strong>getlastmod()</strong>


id: getmypid
type: function
doc:
<comment>Description:</comment>
  Gets PHP's process ID
  
  Gets the current PHP process ID.

<comment>Return:</comment>
  <info>int|false</info>  Returns the current PHP process ID, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>getmygid()</strong>
   * <strong>getmyuid()</strong>
   * <strong>get_current_user()</strong>
   * <strong>getmyinode()</strong>
   * <strong>getlastmod()</strong>


id: getmyuid
type: function
doc:
<comment>Description:</comment>
  Gets PHP script owner's UID
  
  Gets the user ID of the current script.

<comment>Return:</comment>
  <info>int|false</info>  Returns the user ID of the current script, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>getmygid()</strong>
   * <strong>getmypid()</strong>
   * <strong>get_current_user()</strong>
   * <strong>getmyinode()</strong>
   * <strong>getlastmod()</strong>


id: getopt
type: function
doc:
<comment>Description:</comment>
  Gets options from the command line argument list
  
  Parses options passed to the script.

<comment>Param:</comment>
  <info>string</info>  <strong>$short_options</strong>  Each character in this string will be used as option characters and
                          matched against options passed to the script starting with a single hyphen
                          (<return>-</return>).
                          
                          For example, an option string <return>"x"</return> recognizes an option <return>-x</return>.
                          
                          Only a-z, A-Z and 0-9 are allowed.
  <info>array</info>   <strong>$long_options</strong>   An array of options. Each element in this array will be used as option
                          strings and matched against options passed to the script starting with two
                          hyphens (<return>--</return>).
                          
                          For example, an longopts element <return>"opt"</return> recognizes an option <return>--opt</return>.
  <info>int</info>     <strong>$rest_index</strong>     If the <strong>$rest_index</strong> parameter is present, then the index where argument
                          parsing stopped will be written to this variable.

<comment>Return:</comment>
  <info>array|false</info>  This function will return an array of option / argument pairs,  or <info>false</info> on failure.
               
               The parsing of options will end at the first non-option found, anything that follows
               is discarded.

<comment>See Also:</comment>
   * $argv


id: getprotobyname
type: function
doc:
<comment>Description:</comment>
  Get protocol number associated with protocol name
  
  <strong>getprotobyname()</strong> returns the protocol number associated with the protocol <strong>$protocol</strong> as per
  /etc/protocols.

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

<comment>Return:</comment>
  <info>int|false</info>  Returns the protocol number,  or <info>false</info> on failure.

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


id: getprotobynumber
type: function
doc:
<comment>Description:</comment>
  Get protocol name associated with protocol number
  
  <strong>getprotobynumber()</strong> returns the protocol name associated with protocol <strong>$protocol</strong> as per
  /etc/protocols.

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

<comment>Return:</comment>
  <info>string|false</info>  Returns the protocol name as a string,  or <info>false</info> on failure.

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


id: getrandmax
type: function
doc:
<comment>Description:</comment>
  Show largest possible random value
  
  Returns the maximum value that can be returned by a call to <strong>rand()</strong>.

<comment>Return:</comment>
  <info>int</info>  The largest possible random value returned by <strong>rand()</strong>

<comment>See Also:</comment>
   * <strong>rand()</strong>
   * <strong>srand()</strong>
   * <strong>mt_getrandmax()</strong>


id: getrusage
type: function
doc:
<comment>Description:</comment>
  Gets the current resource usages
  
  This is an interface to getrusage(2). It gets data returned from the system call.

<comment>Param:</comment>
  <info>int</info>  <strong>$mode</strong>  If <strong>$mode</strong> is 1, getrusage will be called with <info>RUSAGE_CHILDREN</info>.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array containing the data returned from the system call. All
               entries are accessible by using their documented field names. Returns <info>false</info> on
               failure.

<comment>See Also:</comment>
   * Your system's man page on getrusage(2)


id: getservbyname
type: function
doc:
<comment>Description:</comment>
  Get port number associated with an Internet service and protocol
  
  <strong>getservbyname()</strong> returns the Internet port which corresponds to <strong>$service</strong> for the specified
  <strong>$protocol</strong> as per /etc/services.

<comment>Param:</comment>
  <info>string</info>  <strong>$service</strong>   The Internet service name, as a string.
  <info>string</info>  <strong>$protocol</strong>  <strong>$protocol</strong> is either <return>"tcp"</return> or <return>"udp"</return> (in lowercase).

<comment>Return:</comment>
  <info>int|false</info>  Returns the port number, or <info>false</info> if <strong>$service</strong> or <strong>$protocol</strong> is not found.

<comment>See Also:</comment>
   * <strong>getservbyport()</strong>
   * http://www.iana.org/assignments/port-numbers
     for a complete list of port numbers.
    


id: getservbyport
type: function
doc:
<comment>Description:</comment>
  Get Internet service which corresponds to port and protocol
  
  <strong>getservbyport()</strong> returns the Internet service associated with <strong>$port</strong> for the specified <strong>$protocol</strong> as
  per /etc/services.

<comment>Param:</comment>
  <info>int</info>     <strong>$port</strong>      The port number.
  <info>string</info>  <strong>$protocol</strong>  <strong>$protocol</strong> is either <return>"tcp"</return> or <return>"udp"</return> (in lowercase).

<comment>Return:</comment>
  <info>string|false</info>  Returns the Internet service name as a string,  or <info>false</info> on failure.

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


id: gettext
type: function
doc:
<comment>Description:</comment>
  Lookup a message in the current domain
  
  Looks up a message in the current domain.

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>  The message being translated.

<comment>Return:</comment>
  <info>string</info>  Returns a translated <info>string</info> if one is found in the  translation table, or the submitted
          message if not found.

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


id: gettimeofday
type: function
doc:
<comment>Description:</comment>
  Get current time
  
  This is an interface to gettimeofday(2). It returns an associative array containing the data
  returned from the system call.

<comment>Param:</comment>
  <info>bool</info>  <strong>$as_float</strong>  When set to <info>true</info>, a float instead of an array is returned.

<comment>Return:</comment>
  <info>array|float</info>  By default an <info>array</info> is returned. If <strong>$as_float</strong> is set, then a <info>float</info> is returned.
               
               Array keys:  "sec" - seconds since the Unix Epoch  "usec" - microseconds
               "minuteswest" - minutes west of Greenwich  "dsttime" - type of dst correction
               
               "sec" - seconds since the Unix Epoch
               
               "usec" - microseconds
               
               "minuteswest" - minutes west of Greenwich
               
               "dsttime" - type of dst correction


id: gettype
type: function
doc:
<comment>Description:</comment>
  Get the type of a variable
  
  Returns the type of the PHP variable <strong>$value</strong>. For type checking, use <return>is_*</return> functions.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The variable being type checked.

<comment>Return:</comment>
  <info>string</info>  Possible values for the returned string are: <return>"boolean"</return><return>"integer"</return><return>"double"</return> (for historical
          reasons <return>"double"</return> is returned in case of a <info>float</info>, and not simply <return>"float"</return>)
          <return>"string"</return><return>"array"</return><return>"object"</return><return>"resource"</return><return>"resource (closed)"</return> as of PHP 7.2.0 <return>"NULL"</return><return>"unknown type"</return>

<comment>See Also:</comment>
   * <strong>get_debug_type()</strong>
   * <strong>settype()</strong>
   * <strong>get_class()</strong>
   * <strong>is_array()</strong>
   * <strong>is_bool()</strong>
   * <strong>is_callable()</strong>
   * <strong>is_float()</strong>
   * <strong>is_int()</strong>
   * <strong>is_null()</strong>
   * <strong>is_numeric()</strong>
   * <strong>is_object()</strong>
   * <strong>is_resource()</strong>
   * <strong>is_scalar()</strong>
   * <strong>is_string()</strong>
   * <strong>function_exists()</strong>
   * <strong>method_exists()</strong>


id: glob
type: function
doc:
<comment>Description:</comment>
  Find pathnames matching a pattern
  
  The <strong>glob()</strong> function searches for all the pathnames matching <strong>$pattern</strong> according to the rules used
  by the libc glob() function, which is similar to the rules used by common shells.

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  The pattern. No tilde expansion or parameter substitution is done.
                    
                    Special characters: <return>*</return> - Matches zero or more characters. <return>?</return> - Matches exactly one
                    character (any character). <return>[...]</return> - Matches one character from a group of
                    characters. If the first character is <return>!</return>, matches any character not in the group.
                    <return>\</return> - Escapes the following character, except when the <info>GLOB_NOESCAPE</info> flag is used.
                    
                    <return>*</return> - Matches zero or more characters.
                    
                    <return>?</return> - Matches exactly one character (any character).
                    
                    <return>[...]</return> - Matches one character from a group of characters. If the first character
                    is <return>!</return>, matches any character not in the group.
                    
                    <return>\</return> - Escapes the following character, except when the <info>GLOB_NOESCAPE</info> flag is used.
  <info>int</info>     <strong>$flags</strong>    Valid flags: <info>GLOB_MARK</info> - Adds a slash (a backslash on Windows) to each directory
                    returned <info>GLOB_NOSORT</info> - Return files as they appear in the directory (no
                    sorting). When this flag is not used, the pathnames are sorted alphabetically
                    <info>GLOB_NOCHECK</info> - Return the search pattern if no files matching it were found
                    <info>GLOB_NOESCAPE</info> - Backslashes do not quote metacharacters <info>GLOB_BRACE</info> - Expands
                    {a,b,c} to match 'a', 'b', or 'c' <info>GLOB_ONLYDIR</info> - Return only directory entries
                    which match the pattern <info>GLOB_ERR</info> - Stop on read errors (like unreadable
                    directories), by default errors are ignored.   The <info>GLOB_BRACE</info> flag is not
                    available on some non GNU systems, like Solaris or Alpine Linux.
                    
                    <info>GLOB_MARK</info> - Adds a slash (a backslash on Windows) to each directory returned
                    
                    <info>GLOB_NOSORT</info> - Return files as they appear in the directory (no sorting). When
                    this flag is not used, the pathnames are sorted alphabetically
                    
                    <info>GLOB_NOCHECK</info> - Return the search pattern if no files matching it were found
                    
                    <info>GLOB_NOESCAPE</info> - Backslashes do not quote metacharacters
                    
                    <info>GLOB_BRACE</info> - Expands {a,b,c} to match 'a', 'b', or 'c'
                    
                    <info>GLOB_ONLYDIR</info> - Return only directory entries which match the pattern
                    
                    <info>GLOB_ERR</info> - Stop on read errors (like unreadable directories), by default errors
                    are ignored.
                    
                    The <info>GLOB_BRACE</info> flag is not available on some non GNU systems, like Solaris or
                    Alpine Linux.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array containing the matched files/directories, an empty array if no file
               matched or <info>false</info> on error.
               
               On some systems it is impossible to distinguish between empty match and an error.

<comment>See Also:</comment>
   * <strong>opendir()</strong>
   * <strong>readdir()</strong>
   * <strong>closedir()</strong>
   * <strong>fnmatch()</strong>


id: gmdate
type: function
doc:
<comment>Description:</comment>
  Format a GMT/UTC date/time
  
  Identical to the <strong>date()</strong> function except that the time returned is Greenwich Mean Time (GMT).

<comment>Param:</comment>
  <info>string</info>    <strong>$format</strong>     The format of the outputted date <info>string</info>. See the formatting options for the
                        <strong>date()</strong> function.
  <info>int|null</info>  <strong>$timestamp</strong>  The optional <strong>$timestamp</strong> parameter is an
                        <info>int</info> Unix timestamp that defaults to the current
                        local time if <strong>$timestamp</strong> is omitted or <info>null</info>. In other
                        words, it defaults to the value of <strong>time()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns a formatted date string.

<comment>See Also:</comment>
   * DateTimeImmutable::__construct
   * DateTimeInterface::format
   * <strong>date()</strong>
   * <strong>mktime()</strong>
   * <strong>gmmktime()</strong>
   * IntlDateFormatter::format


id: gmmktime
type: function
doc:
<comment>Description:</comment>
  Get Unix timestamp for a GMT date
  
  Identical to <strong>mktime()</strong> except the passed parameters represents a  GMT date. <strong>gmmktime()</strong> internally
  uses <strong>mktime()</strong> so only times valid in derived local time can be used.
  
  Like <strong>mktime()</strong>, optional arguments may be left out in order from right to left, with any omitted
  arguments being set to the current corresponding GMT value.
  
  Calling <strong>gmmktime()</strong> without any arguments is not supported, and will result in an
  <class>ArgumentCountError</class>. <strong>time()</strong> can be used to get the current timestamp.

<comment>Param:</comment>
  <info>int</info>       <strong>$hour</strong>    The number of the hour relative to the start of the day determined by <strong>$month</strong>,
                     <strong>$day</strong> and <strong>$year</strong>. Negative values reference the hour before midnight of the day
                     in question. Values greater than 23 reference the appropriate hour in the
                     following day(s).
  <info>int|null</info>  <strong>$minute</strong>  The number of the minute relative to the start of the <strong>$hour</strong>. Negative values
                     reference the minute in the previous hour. Values greater than 59 reference the
                     appropriate minute in the following hour(s).
  <info>int|null</info>  <strong>$second</strong>  The number of seconds relative to the start of the <strong>$minute</strong>. Negative values
                     reference the second in the previous minute. Values greater than 59 reference
                     the appropriate second in the following minute(s).
  <info>int|null</info>  <strong>$month</strong>   The number of the month relative to the end of the previous year. Values 1 to
                     12 reference the normal calendar months of the year in question. Values less
                     than 1 (including negative values) reference the months in the previous year in
                     reverse order, so 0 is December, -1 is November, etc. Values greater than 12
                     reference the appropriate month in the following year(s).
  <info>int|null</info>  <strong>$day</strong>     The number of the day relative to the end of the previous month. Values 1 to
                     28, 29, 30 or 31 (depending upon the month) reference the normal days in the
                     relevant month. Values less than 1 (including negative values) reference the
                     days in the previous month, so 0 is the last day of the previous month, -1 is
                     the day before that, etc. Values greater than the number of days in the
                     relevant month reference the appropriate day in the following month(s).
  <info>int|null</info>  <strong>$year</strong>    The year

<comment>Return:</comment>
  <info>int|false</info>  Returns a <info>int</info> Unix timestamp on success, or <info>false</info> if the timestamp doesn't fit in a PHP
             integer.

<comment>See Also:</comment>
   * The <class>DateTimeImmutable</class> class
   * <strong>mktime()</strong>
   * <strong>date()</strong>
   * <strong>time()</strong>


id: gmp_abs
type: function
doc:
<comment>Description:</comment>
  Absolute value
  
  Get the absolute value of a number.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  Returns the absolute value of <strong>$num</strong>, as a GMP number.


id: gmp_add
type: function
doc:
<comment>Description:</comment>
  Add numbers
  
  Add two numbers.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  The first summand (augent).
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  The second summand (addend).
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A GMP number representing the sum of the arguments.


id: gmp_and
type: function
doc:
<comment>Description:</comment>
  Bitwise AND
  
  Calculates bitwise AND of two GMP numbers.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A GMP number representing the bitwise <return>AND</return> comparison.


id: gmp_binomial
type: function
doc:
<comment>Description:</comment>
  Calculates binomial coefficient
  
  Calculates the binomial coefficient C(n, k).

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$n</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$k</strong>  

<comment>Return:</comment>
  <info>GMP</info>  Returns the binomial coefficient C(n, k).


id: gmp_clrbit
type: function
doc:
<comment>Description:</comment>
  Clear bit
  
  Clears (sets to 0) bit <strong>$index</strong> in <strong>$num</strong>. The index starts at 0.

<comment>Param:</comment>
  <info>GMP</info>  <strong>$num</strong>    A <class>GMP</class> object.
  <info>int</info>  <strong>$index</strong>  The index of the bit to clear.  Index 0 represents the least significant bit.

<comment>Return:</comment>
  <info>void</info>  A <class>GMP</class> object.

<comment>See Also:</comment>
   * <strong>gmp_setbit()</strong>
   * <strong>gmp_testbit()</strong>


id: gmp_cmp
type: function
doc:
<comment>Description:</comment>
  Compare numbers
  
  Compares two numbers.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>int</info>  Returns a positive value if <return>a &gt; b</return>, zero if <return>a = b</return> and a negative value if <return>a \< b</return>.


id: gmp_com
type: function
doc:
<comment>Description:</comment>
  Calculates one's complement
  
  Returns the one's complement of <strong>$num</strong>.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  Returns the one's complement of <strong>$num</strong>, as a GMP number.


id: gmp_div
type: function
doc:
<comment>Description:</comment>
  Alias of gmp_div_q
  
  This function is an alias of:  <strong>gmp_div_q()</strong>.


id: gmp_div_q
type: function
doc:
<comment>Description:</comment>
  Divide numbers
  
  Divides <strong>$num1</strong> by <strong>$num2</strong> and returns the integer result.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>           The number being divided.
                                  
                                  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>           The number that <strong>$num1</strong> is being divided by.
                                  
                                  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$rounding_mode</strong>  The result rounding is defined by the <strong>$rounding_mode</strong>, which can
                                  have the following values: <info>GMP_ROUND_ZERO</info>: The result is truncated
                                  towards 0. <info>GMP_ROUND_PLUSINF</info>: The result is rounded towards
                                  <return>+infinity</return>. <info>GMP_ROUND_MINUSINF</info>: The result is rounded towards
                                  <return>-infinity</return>.
                                  
                                  <info>GMP_ROUND_ZERO</info>: The result is truncated towards 0.
                                  
                                  <info>GMP_ROUND_PLUSINF</info>: The result is rounded towards <return>+infinity</return>.
                                  
                                  <info>GMP_ROUND_MINUSINF</info>: The result is rounded towards <return>-infinity</return>.
                                  
                                  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.

<comment>See Also:</comment>
   * <strong>gmp_div_r()</strong>
   * <strong>gmp_div_qr()</strong>


id: gmp_div_qr
type: function
doc:
<comment>Description:</comment>
  Divide numbers and get quotient and remainder
  
  The function divides <strong>$num1</strong> by <strong>$num2</strong>.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>           The number being divided.
                                  
                                  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>           The number that <strong>$num1</strong> is being divided by.
                                  
                                  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$rounding_mode</strong>  See the <strong>gmp_div_q()</strong> function for description of the <strong>$rounding_mode</strong>
                                  argument.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info>, with the first element being <return>[n/d]</return> (the integer result of the division)
         and the second being <return>(n - [n/d] * d)</return> (the remainder of the division).

<comment>See Also:</comment>
   * <strong>gmp_div_q()</strong>
   * <strong>gmp_div_r()</strong>


id: gmp_div_r
type: function
doc:
<comment>Description:</comment>
  Remainder of the division of numbers
  
  Calculates remainder of the integer division of <strong>$num1</strong> by <strong>$num2</strong>. The remainder has the sign of the
  <strong>$num1</strong> argument, if not zero.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>           The number being divided.
                                  
                                  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>           The number that <strong>$num1</strong> is being divided by.
                                  
                                  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$rounding_mode</strong>  See the <strong>gmp_div_q()</strong> function for description of the <strong>$rounding_mode</strong>
                                  argument.

<comment>Return:</comment>
  <info>GMP</info>  The remainder, as a GMP number.

<comment>See Also:</comment>
   * <strong>gmp_div_q()</strong>
   * <strong>gmp_div_qr()</strong>


id: gmp_divexact
type: function
doc:
<comment>Description:</comment>
  Exact division of numbers
  
  Divides <strong>$num1</strong> by <strong>$num2</strong>, using fast "exact division" algorithm. This function produces correct
  results only when it is known in advance that <strong>$num2</strong> divides <strong>$num1</strong>.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  The number being divided.
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  The number that <strong>$num1</strong> is being divided by.
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.


id: gmp_export
type: function
doc:
<comment>Description:</comment>
  Export to a binary string
  
  Export a GMP number to a binary string

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>        The GMP number being exported
  <info>int</info>             <strong>$word_size</strong>  Default value is 1. The number of bytes in each chunk of binary data.
                              This is mainly used in conjunction with the options parameter.
  <info>int</info>             <strong>$flags</strong>      Default value is <info>GMP_MSW_FIRST</info> | <info>GMP_NATIVE_ENDIAN</info>.

<comment>Return:</comment>
  <info>string</info>  Returns a string.

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


id: gmp_fact
type: function
doc:
<comment>Description:</comment>
  Factorial
  
  Calculates factorial (<return>num!</return>) of <strong>$num</strong>.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  The factorial number.
                        
                        A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.


id: gmp_gcd
type: function
doc:
<comment>Description:</comment>
  Calculate GCD
  
  Calculate greatest common divisor of <strong>$num1</strong> and <strong>$num2</strong>. The result is always positive even if either
  of, or both, input operands are negative.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A positive GMP number that divides into both <strong>$num1</strong> and <strong>$num2</strong>.

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


id: gmp_gcdext
type: function
doc:
<comment>Description:</comment>
  Calculate GCD and multipliers
  
  Calculates g, s, and t, such that <return>a*s + b*t = g = gcd(a,b)</return>, where gcd is the greatest common
  divisor. Returns an array with respective elements g, s and t.
  
  This function can be used to solve linear Diophantine equations in two variables. These are
  equations that allow only integer solutions and have the form: <return>a*x + b*y = c</return>. For more
  information, go to the "Diophantine Equation" page at MathWorld

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> of GMP numbers.


id: gmp_hamdist
type: function
doc:
<comment>Description:</comment>
  Hamming distance
  
  Returns the hamming distance between <strong>$num1</strong> and <strong>$num2</strong>. Both operands should be non-negative.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
                         
                         It should be positive.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
                         
                         It should be positive.

<comment>Return:</comment>
  <info>int</info>  The hamming distance between <strong>$num1</strong> and <strong>$num2</strong>, as an <info>int</info>.

<comment>See Also:</comment>
   * <strong>gmp_popcount()</strong>
   * <strong>gmp_xor()</strong>


id: gmp_import
type: function
doc:
<comment>Description:</comment>
  Import from a binary string
  
  Import a GMP number from a binary string

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>       The binary string being imported
  <info>int</info>     <strong>$word_size</strong>  Default value is 1. The number of bytes in each chunk of binary data. This is
                      mainly used in conjunction with the options parameter.
  <info>int</info>     <strong>$flags</strong>      Default value is <info>GMP_MSW_FIRST</info> | <info>GMP_NATIVE_ENDIAN</info>.

<comment>Return:</comment>
  <info>GMP</info>  Returns a GMP number.

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


id: gmp_init
type: function
doc:
<comment>Description:</comment>
  Create GMP number
  
  Creates a GMP number from an integer or string.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$num</strong>   An integer or a string. The string representation can be decimal,  hexadecimal
                     or octal.
  <info>int</info>         <strong>$base</strong>  The base.
                     
                     The base may vary from 2 to 62. If base is 0 (default value), the actual base
                     is determined from the leading characters: if the first two characters are <return>0x</return>
                     or <return>0X</return>, hexadecimal is assumed, if the first two characters are <return>0b</return> or <return>0B</return>, binary
                     is assumed, otherwise if the first character is <return>0</return>, octal is assumed, otherwise
                     decimal is assumed. For bases up to 36, case is ignored; upper-case and
                     lower-case letters have the same value. For bases 37 to 62, upper-case letter
                     represent the usual 10 to 35 while lower-case letter represent 36 to 61.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.

<comment>See Also:</comment>
   * GMP::__construct


id: gmp_intval
type: function
doc:
<comment>Description:</comment>
  Convert GMP number to integer
  
  This function converts GMP number into native PHP <info>int</info>s.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>int</info>  The <info>int</info> value of <strong>$num</strong>.


id: gmp_invert
type: function
doc:
<comment>Description:</comment>
  Inverse by modulo
  
  Computes the inverse of <strong>$num1</strong> modulo <strong>$num2</strong>.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP|false</info>  A GMP number on success or <info>false</info> if an inverse does not exist.


id: gmp_jacobi
type: function
doc:
<comment>Description:</comment>
  Jacobi symbol
  
  Computes Jacobi symbol of <strong>$num1</strong> and <strong>$num2</strong>. <strong>$num2</strong> should be odd and must be positive.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
                         
                         Should be odd and must be positive.

<comment>Return:</comment>
  <info>int</info>  A <class>GMP</class> object.

<comment>See Also:</comment>
   * <strong>gmp_kronecker()</strong>
   * <strong>gmp_legendre()</strong>


id: gmp_kronecker
type: function
doc:
<comment>Description:</comment>
  Kronecker symbol
  
  This function computes the Kronecker symbol of <strong>$num1</strong> and <strong>$num2</strong>.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>int</info>  Returns the Kronecker symbol of <strong>$num1</strong> and <strong>$num2</strong>

<comment>See Also:</comment>
   * <strong>gmp_jacobi()</strong>
   * <strong>gmp_legendre()</strong>


id: gmp_lcm
type: function
doc:
<comment>Description:</comment>
  Calculate LCM
  
  This function computes the least common multiple (lcm) of <strong>$num1</strong> and <strong>$num2</strong>.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.

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


id: gmp_legendre
type: function
doc:
<comment>Description:</comment>
  Legendre symbol
  
  Compute the  Legendre symbol of <strong>$num1</strong> and <strong>$num2</strong>. <strong>$num2</strong> should be odd and must be positive.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
                         
                         Should be odd and must be positive.

<comment>Return:</comment>
  <info>int</info>  A <class>GMP</class> object.

<comment>See Also:</comment>
   * <strong>gmp_jacobi()</strong>
   * <strong>gmp_kronecker()</strong>


id: gmp_mod
type: function
doc:
<comment>Description:</comment>
  Modulo operation
  
  Calculates <strong>$num1</strong> modulo <strong>$num2</strong>. The result is always non-negative, the sign of <strong>$num2</strong> is ignored.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  The modulo that is being evaluated.
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.


id: gmp_mul
type: function
doc:
<comment>Description:</comment>
  Multiply numbers
  
  Multiplies <strong>$num1</strong> by <strong>$num2</strong> and returns the result.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A number that will be multiplied by <strong>$num2</strong>.
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A number that will be multiplied by <strong>$num1</strong>.
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.


id: gmp_neg
type: function
doc:
<comment>Description:</comment>
  Negate number
  
  Returns the negative value of a number.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  Returns -<strong>$num</strong>, as a GMP number.


id: gmp_nextprime
type: function
doc:
<comment>Description:</comment>
  Find next prime number
  
  Find next prime number

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  Return the next prime number greater than <strong>$num</strong>, as a GMP number.


id: gmp_or
type: function
doc:
<comment>Description:</comment>
  Bitwise OR
  
  Calculates bitwise inclusive OR of two GMP numbers.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.


id: gmp_perfect_power
type: function
doc:
<comment>Description:</comment>
  Perfect power check
  
  Checks whether <strong>$num</strong> is a perfect power.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$num</strong> is a perfect power, <info>false</info> otherwise.

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


id: gmp_perfect_square
type: function
doc:
<comment>Description:</comment>
  Perfect square check
  
  Check if a number is a perfect square.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  The number being checked as a perfect square.
                        
                        A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if <strong>$num</strong> is a perfect square, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>gmp_perfect_power()</strong>
   * <strong>gmp_sqrt()</strong>
   * <strong>gmp_sqrtrem()</strong>


id: gmp_popcount
type: function
doc:
<comment>Description:</comment>
  Population count
  
  Get the population count.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>int</info>  The population count of <strong>$num</strong>, as an <info>int</info>.


id: gmp_pow
type: function
doc:
<comment>Description:</comment>
  Raise number into power
  
  Raise <strong>$num</strong> into power <strong>$exponent</strong>.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>       The base number.
                             
                             A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$exponent</strong>  The positive power to raise the <strong>$num</strong>.

<comment>Return:</comment>
  <info>GMP</info>  The new (raised) number, as a GMP number. The case of  <return>0^0</return> yields 1.


id: gmp_powm
type: function
doc:
<comment>Description:</comment>
  Raise number into power with modulo
  
  Calculate (<strong>$num</strong> raised into power <strong>$exponent</strong>) modulo <strong>$modulus</strong>. If <strong>$exponent</strong> is negative, result is
  undefined.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>       The base number.
                             
                             A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$exponent</strong>  The positive power to raise the <strong>$num</strong>.
                             
                             A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$modulus</strong>   The modulo.
                             
                             A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  The new (raised) number, as a GMP number.


id: gmp_prob_prime
type: function
doc:
<comment>Description:</comment>
  Check if number is "probably prime"
  
  The function uses Miller-Rabin's probabilistic test to check if a number is a prime.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>          The number being checked as a prime.
                                
                                A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$repetitions</strong>  Reasonable values of <strong>$repetitions</strong> vary from 5 to 10 (default being
                                10); a higher value lowers the probability for a non-prime to pass
                                as a "probable" prime.
                                
                                A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>int</info>  If this function returns 0, <strong>$num</strong> is definitely not prime. If it returns 1, then <strong>$num</strong> is
       "probably" prime.  If it returns 2, then <strong>$num</strong> is surely prime.


id: gmp_random
type: function
doc:
<comment>Description:</comment>
  Random number
  
  Generate a random number. The number will be between 0 and (2 ** n) - 1, where n is the number of
  bits per limb multiplied by <strong>$limiter</strong>. If <strong>$limiter</strong> is negative, negative numbers are generated.
  
  A limb is an internal GMP mechanism. The number of bits in a limb is not static, and can vary from
  system to system. Generally, the number of bits in a limb is either 32 or 64, but this is not
  guaranteed.
  
  This function does not generate cryptographically secure values, and must not be used for
  cryptographic purposes, or purposes that require returned values to be unguessable.
  
  If cryptographically secure randomness is required, the <class>Random\Randomizer</class> may be used with the
  <class>Random\Engine\Secure</class> engine. For simple use cases, the <strong>random_int()</strong> and <strong>random_bytes()</strong> functions
  provide a convenient and secure API that is backed by the operating system’s CSPRNG.

<comment>Param:</comment>
  <info>int</info>  <strong>$limiter</strong>  The limiter.
                 
                 A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A random GMP number.


id: gmp_random_bits
type: function
doc:
<comment>Description:</comment>
  Random number
  
  Generate a random number. The number will be between <return>0</return> and <return>2$bits - 1</return>.
  
  <strong>$bits</strong> must greater than 0, and the maximum value is restricted by available memory.
  
  This function does not generate cryptographically secure values, and must not be used for
  cryptographic purposes, or purposes that require returned values to be unguessable.
  
  If cryptographically secure randomness is required, the <class>Random\Randomizer</class> may be used with the
  <class>Random\Engine\Secure</class> engine. For simple use cases, the <strong>random_int()</strong> and <strong>random_bytes()</strong> functions
  provide a convenient and secure API that is backed by the operating system’s CSPRNG.

<comment>Param:</comment>
  <info>int</info>  <strong>$bits</strong>  The number of bits to generate.

<comment>Return:</comment>
  <info>GMP</info>  A random GMP number.


id: gmp_random_range
type: function
doc:
<comment>Description:</comment>
  Get a uniformly selected integer
  
  Generate a random number. The number will be between <strong>$min</strong> and <strong>$max</strong>.
  
  <strong>$min</strong> and <strong>$max</strong> can both be negative, but <strong>$min</strong> must always be less than <strong>$max</strong>.
  
  This function does not generate cryptographically secure values, and must not be used for
  cryptographic purposes, or purposes that require returned values to be unguessable.
  
  If cryptographically secure randomness is required, the <class>Random\Randomizer</class> may be used with the
  <class>Random\Engine\Secure</class> engine. For simple use cases, the <strong>random_int()</strong> and <strong>random_bytes()</strong> functions
  provide a convenient and secure API that is backed by the operating system’s CSPRNG.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$min</strong>  A GMP number representing the lower bound for the random number
  <info>GMP|int|string</info>  <strong>$max</strong>  A GMP number representing the upper bound for the random number

<comment>Return:</comment>
  <info>GMP</info>  Returns a <class>GMP</class> object which contains a uniformly selected integer from the closed interval
       [<strong>$min</strong>, <strong>$max</strong>]. Both <strong>$min</strong> and <strong>$max</strong> are possible return values.


id: gmp_random_seed
type: function
doc:
<comment>Description:</comment>
  Sets the RNG seed

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$seed</strong>  The seed to be set for the <strong>gmp_random()</strong>, <strong>gmp_random_bits()</strong>, and
                         <strong>gmp_random_range()</strong> functions.
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>gmp_init()</strong>
   * <strong>gmp_random()</strong>
   * <strong>gmp_random_bits()</strong>
   * <strong>gmp_random_range()</strong>


id: gmp_root
type: function
doc:
<comment>Description:</comment>
  Take the integer part of nth root
  
  Takes the <strong>$nth</strong> root of <strong>$num</strong> and returns the integer component of the result.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$nth</strong>  The positive root to take of <strong>$num</strong>.

<comment>Return:</comment>
  <info>GMP</info>  The integer component of the resultant root, as a GMP number.


id: gmp_rootrem
type: function
doc:
<comment>Description:</comment>
  Take the integer part and remainder of nth root
  
  Takes the <strong>$nth</strong> root of <strong>$num</strong> and returns the integer component and remainder of the result.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$nth</strong>  The positive root to take of <strong>$num</strong>.

<comment>Return:</comment>
  <info>array</info>  A two element array, where the first element is the integer component of the root, and the
         second element is the remainder, both represented as GMP numbers.


id: gmp_scan0
type: function
doc:
<comment>Description:</comment>
  Scan for 0
  
  Scans <strong>$num1</strong>, starting with bit <strong>$start</strong>, towards more significant bits, until the first clear bit is
  found.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>   The number to scan.
                          
                          A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$start</strong>  The starting bit.

<comment>Return:</comment>
  <info>int</info>  Returns the index of the found bit, as an <info>int</info>. The index starts from 0.


id: gmp_scan1
type: function
doc:
<comment>Description:</comment>
  Scan for 1
  
  Scans <strong>$num1</strong>, starting with bit <strong>$start</strong>, towards more significant bits, until the first set bit is
  found.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>   The number to scan.
                          
                          A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$start</strong>  The starting bit.

<comment>Return:</comment>
  <info>int</info>  Returns the index of the found bit, as an <info>int</info>. If no set bit is found, -1 is returned.


id: gmp_setbit
type: function
doc:
<comment>Description:</comment>
  Set bit
  
  Sets bit <strong>$index</strong> in <strong>$num</strong>.

<comment>Param:</comment>
  <info>GMP</info>   <strong>$num</strong>    A <class>GMP</class> object.
  <info>int</info>   <strong>$index</strong>  The index of the bit to set.  Index 0 represents the least significant bit.
  <info>bool</info>  <strong>$value</strong>  True to set the bit (set it to 1/on); false to clear the bit (set it to 0/off).

<comment>Return:</comment>
  <info>void</info>  A <class>GMP</class> object.

<comment>See Also:</comment>
   * <strong>gmp_clrbit()</strong>
   * <strong>gmp_testbit()</strong>


id: gmp_sign
type: function
doc:
<comment>Description:</comment>
  Sign of number
  
  Checks the sign of a number.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  Either a <class>GMP</class> object, or a numeric string provided that it is possible to
                        convert the latter to an <info>int</info>.

<comment>Return:</comment>
  <info>int</info>  Returns 1 if <strong>$num</strong> is positive, -1 if <strong>$num</strong> is negative, and 0 if <strong>$num</strong> is zero.

<comment>See Also:</comment>
   * <strong>gmp_abs()</strong>
   * <strong>abs()</strong>


id: gmp_sqrt
type: function
doc:
<comment>Description:</comment>
  Calculate square root
  
  Calculates square root of <strong>$num</strong>.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  The integer portion of the square root, as a GMP number.


id: gmp_sqrtrem
type: function
doc:
<comment>Description:</comment>
  Square root with remainder
  
  Calculate the square root of a number, with remainder.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>  The number being square rooted.
                        
                        A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>array</info>  Returns array where first element is the integer square root of <strong>$num</strong> and the second is the
         remainder (i.e., the difference between <strong>$num</strong> and the first element squared).


id: gmp_strval
type: function
doc:
<comment>Description:</comment>
  Convert GMP number to string
  
  Convert GMP number to string representation in base <strong>$base</strong>. The default base is 10.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>   The GMP number that will be converted to a string.
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$base</strong>  The base of the returned number. The default base is 10.  Allowed values
                         for the base are from 2 to 62 and -2 to -36.

<comment>Return:</comment>
  <info>string</info>  The number, as a <info>string</info>.


id: gmp_sub
type: function
doc:
<comment>Description:</comment>
  Subtract numbers
  
  Subtracts <strong>$num2</strong> from <strong>$num1</strong> and returns the result.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  The number being subtracted from.
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  The number subtracted from <strong>$num1</strong>.
                         
                         A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.


id: gmp_testbit
type: function
doc:
<comment>Description:</comment>
  Tests if a bit is set
  
  Tests if the specified bit is set.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num</strong>    A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>int</info>             <strong>$index</strong>  The bit to test

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the bit is set in <strong>$num</strong>,  otherwise <info>false</info>.

<comment>See Also:</comment>
   * <strong>gmp_setbit()</strong>
   * <strong>gmp_clrbit()</strong>


id: gmp_xor
type: function
doc:
<comment>Description:</comment>
  Bitwise XOR
  
  Calculates bitwise exclusive OR (XOR) of two GMP numbers.

<comment>Param:</comment>
  <info>GMP|int|string</info>  <strong>$num1</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.
  <info>GMP|int|string</info>  <strong>$num2</strong>  A <class>GMP</class> object, an <info>int</info> or a numeric <info>string</info>.

<comment>Return:</comment>
  <info>GMP</info>  A <class>GMP</class> object.


id: gmstrftime
type: function
doc:
<comment>Description:</comment>
  Format a GMT/UTC time/date according to locale settings
  
  Behaves the same as <strong>strftime()</strong> except that the time returned is Greenwich Mean Time (GMT). For
  example, when run in Eastern Standard Time (GMT -0500), the first line below prints "Dec 31 1998
  20:00:00", while the second prints "Jan 01 1999 01:00:00".
  
  This function depends on operating system locale information, which might be inconsistent with
  each other, or not available at all. Instead use the IntlDateFormatter::format method.

<comment>Param:</comment>
  <info>string</info>    <strong>$format</strong>     See description in <strong>strftime()</strong>.
  <info>int|null</info>  <strong>$timestamp</strong>  The optional <strong>$timestamp</strong> parameter is an
                        <info>int</info> Unix timestamp that defaults to the current
                        local time if <strong>$timestamp</strong> is omitted or <info>null</info>. In other
                        words, it defaults to the value of <strong>time()</strong>.

<comment>Return:</comment>
  <info>string|false</info>  Returns a string formatted according to the given format string using the given
                <strong>$timestamp</strong> or the current local time if no timestamp is given.  Month and weekday
                names and other language dependent strings respect the current locale set with
                <strong>setlocale()</strong>. On failure, <info>false</info> is returned.

<comment>See Also:</comment>
   * IntlDateFormatter::format
   * DateTimeInterface::format
   * <strong>strftime()</strong>


id: gnupg_adddecryptkey
type: function
doc:
<comment>Description:</comment>
  Add a key for decryption

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>   The gnupg identifier, from a call to
                          <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$fingerprint</strong>  The fingerprint key.
  <info>string</info>    <strong>$passphrase</strong>   The pass phrase.

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


id: gnupg_addencryptkey
type: function
doc:
<comment>Description:</comment>
  Add a key for encryption

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>   The gnupg identifier, from a call to
                          <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$fingerprint</strong>  The fingerprint key.

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


id: gnupg_addsignkey
type: function
doc:
<comment>Description:</comment>
  Add a key for signing

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>   The gnupg identifier, from a call to
                          <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$fingerprint</strong>  The fingerprint key.
  <info>string</info>    <strong>$passphrase</strong>   The pass phrase.

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


id: gnupg_cleardecryptkeys
type: function
doc:
<comment>Description:</comment>
  Removes all keys which were set for decryption before

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.

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


id: gnupg_clearencryptkeys
type: function
doc:
<comment>Description:</comment>
  Removes all keys which were set for encryption before

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.

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


id: gnupg_clearsignkeys
type: function
doc:
<comment>Description:</comment>
  Removes all keys which were set for signing before

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.

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


id: gnupg_decrypt
type: function
doc:
<comment>Description:</comment>
  Decrypts a given text
  
  Decrypts the given text with the keys, which were set with gnupg_adddecryptkey before.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$text</strong>        The text being decrypted.

<comment>Return:</comment>
  <info>string|false</info>  On success, this function returns the decrypted text. On failure, this function
                returns <info>false</info>.


id: gnupg_decryptverify
type: function
doc:
<comment>Description:</comment>
  Decrypts and verifies a given text
  
  Decrypts and verifies a given text and returns information about the signature.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$text</strong>        The text being decrypted.
  <info>string</info>    <strong>$plaintext</strong>   The parameter <strong>$plaintext</strong> gets filled with the decrypted text.

<comment>Return:</comment>
  <info>array|false</info>  On success, this function returns information about the signature and fills the
               <strong>$plaintext</strong> parameter with the decrypted text. On failure, this function returns
               <info>false</info>.


id: gnupg_deletekey
type: function
doc:
<comment>Description:</comment>
  Delete a key from the keyring

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>    The gnupg identifier, from a call to
                           <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$key</strong>           The key to delete.
  <info>bool</info>      <strong>$allow_secret</strong>  It specifies whether to delete secret keys as well.

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


id: gnupg_encrypt
type: function
doc:
<comment>Description:</comment>
  Encrypts a given text
  
  Encrypts the given <strong>$plaintext</strong> with the keys, which were set with gnupg_addencryptkey before and
  returns the encrypted text.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$plaintext</strong>   The text being encrypted.

<comment>Return:</comment>
  <info>string|false</info>  On success, this function returns the encrypted text. On failure, this function
                returns <info>false</info>.


id: gnupg_encryptsign
type: function
doc:
<comment>Description:</comment>
  Encrypts and signs a given text
  
  Encrypts and signs the given <strong>$plaintext</strong> with the keys, which were set with gnupg_addsignkey and
  gnupg_addencryptkey before and returns the encrypted and signed text.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$plaintext</strong>   The text being encrypted.

<comment>Return:</comment>
  <info>string|false</info>  On success, this function returns the encrypted and signed text. On failure, this
                function returns <info>false</info>.


id: gnupg_export
type: function
doc:
<comment>Description:</comment>
  Exports a key
  
  Exports the key <strong>$fingerprint</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>   The gnupg identifier, from a call to
                          <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$fingerprint</strong>  The fingerprint key.

<comment>Return:</comment>
  <info>string|false</info>  On success, this function returns the keydata. On failure, this function returns
                <info>false</info>.


id: gnupg_getengineinfo
type: function
doc:
<comment>Description:</comment>
  Returns the engine info

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.

<comment>Return:</comment>
  <info>array</info>  Returns an array with engine info consting of <return>protocol</return>, <return>file_name</return> and <return>home_dir</return>.


id: gnupg_geterror
type: function
doc:
<comment>Description:</comment>
  Returns the errortext, if a function fails

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.

<comment>Return:</comment>
  <info>string|false</info>  Returns an errortext, if an error has occurred, otherwise <info>false</info>.


id: gnupg_geterrorinfo
type: function
doc:
<comment>Description:</comment>
  Returns the error info

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.

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


id: gnupg_getprotocol
type: function
doc:
<comment>Description:</comment>
  Returns the currently active protocol for all operations

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.

<comment>Return:</comment>
  <info>int</info>  Returns the currently active protocol, which can be one of <info>GNUPG_PROTOCOL_OpenPGP</info> or
       <info>GNUPG_PROTOCOL_CMS</info>.


id: gnupg_gettrustlist
type: function
doc:
<comment>Description:</comment>
  Search the trust items

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$pattern</strong>     Expression to limit the list of trust items to only the ones matching the
                         pattern.

<comment>Return:</comment>
  <info>array|null</info>  On success, this function returns an array of trust items. On failure, this function
              returns <info>null</info>.


id: gnupg_import
type: function
doc:
<comment>Description:</comment>
  Imports a key
  
  Imports the key <strong>$keydata</strong> and returns an array with information about the importprocess.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$keydata</strong>     The data key that is being imported.

<comment>Return:</comment>
  <info>array|false</info>  On success, this function returns and info-array about the importprocess. On failure,
               this function returns <info>false</info>.


id: gnupg_init
type: function
doc:
<comment>Description:</comment>
  Initialize a connection

<comment>Param:</comment>
  <info>array|null</info>  <strong>$options</strong>  Must be an associative array. It is used to change the default configuration
                        of the crypto engine. Configuration
                        overrideskeytypedescriptionfile_name<info>string</info> It is the file name of the
                        executable program implementing this protocol which is usually path of the
                        <return>gpg</return> executable. home_dir<info>string</info> It is the directory name of the configuration
                        directory. It also overrides <return>GNUPGHOME</return> environment variable that is used for
                        the same purpose.

<comment>Return:</comment>
  <info>resource</info>  A GnuPG <info>resource</info> connection used by other GnuPG functions.


id: gnupg_keyinfo
type: function
doc:
<comment>Description:</comment>
  Returns an array with information about all keys that matches the given pattern

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$pattern</strong>     The pattern being checked against the keys.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array with information about all keys that matches the given pattern or
               <info>false</info>, if an error has occurred.


id: gnupg_listsignatures
type: function
doc:
<comment>Description:</comment>
  List key signatures

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$keyid</strong>       The key ID to list signatures for.

<comment>Return:</comment>
  <info>array|null</info>  On success, this function returns an array of key signatures. On failure, this
              function returns <info>null</info>.


id: gnupg_setarmor
type: function
doc:
<comment>Description:</comment>
  Toggle armored output
  
  Toggle the armored output.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>int</info>       <strong>$armor</strong>       Pass a non-zero integer-value to this function to enable armored-output
                         (default). Pass 0 to disable armored output.

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


id: gnupg_seterrormode
type: function
doc:
<comment>Description:</comment>
  Sets the mode for error_reporting
  
  Sets the mode for error_reporting.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>int</info>       <strong>$errormode</strong>   The error mode.
                         
                         <strong>$errormode</strong> takes a constant indicating what type of error_reporting should
                         be used. The possible values are <info>GNUPG_ERROR_WARNING</info>, <info>GNUPG_ERROR_EXCEPTION</info>
                         and <info>GNUPG_ERROR_SILENT</info>. By default <info>GNUPG_ERROR_SILENT</info> is used.

<comment>Return:</comment>
  <info>void</info>  No value is returned.


id: gnupg_setsignmode
type: function
doc:
<comment>Description:</comment>
  Sets the mode for signing
  
  Sets the mode for signing.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info></info>          <strong>$sigmode</strong>     The mode for signing.
                         
                         <strong>$signmode</strong> takes a constant indicating what type of signature should be
                         produced. The possible values are <info>GNUPG_SIG_MODE_NORMAL</info>,
                         <info>GNUPG_SIG_MODE_DETACH</info> and <info>GNUPG_SIG_MODE_CLEAR</info>. By default
                         <info>GNUPG_SIG_MODE_CLEAR</info> is used.

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


id: gnupg_sign
type: function
doc:
<comment>Description:</comment>
  Signs a given text
  
  Signs the given <strong>$plaintext</strong> with the keys, which were set with gnupg_addsignkey before and returns
  the signed text or the signature, depending on what was set with gnupg_setsignmode.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>  The gnupg identifier, from a call to
                         <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$plaintext</strong>   The plain text being signed.

<comment>Return:</comment>
  <info>string|false</info>  On success, this function returns the signed text or the signature. On failure, this
                function returns <info>false</info>.


id: gnupg_verify
type: function
doc:
<comment>Description:</comment>
  Verifies a signed text
  
  Verifies the given <strong>$signed_text</strong> and returns information about the signature.

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>   The gnupg identifier, from a call to
                          <strong>gnupg_init()</strong> or <class>gnupg</class>.
  <info>string</info>    <strong>$signed_text</strong>  The signed text.
  <info>string</info>    <strong>$signature</strong>    The signature. To verify a clearsigned text, set signature to <info>false</info>.
  <info>string</info>    <strong>$plaintext</strong>    The plain text. If this optional parameter is passed, it is filled with
                          the plain text.

<comment>Return:</comment>
  <info>array|false</info>  On success, this function returns information about the signature. On failure, this
               function returns <info>false</info>.


id: grapheme_extract
type: function
doc:
<comment>Description:</comment>
  Function to extract a sequence of default grapheme clusters from a text buffer, which must be
  encoded in UTF-8
  
  Procedural style
  
  Function to extract a sequence of default grapheme clusters from a text buffer, which must be
  encoded in UTF-8.

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  String to search.
  <info>int</info>     <strong>$size</strong>      Maximum number items - based on the <strong>$type</strong> - to return.
  <info>int</info>     <strong>$type</strong>      Defines the type of units referred to by the <strong>$size</strong> parameter:
                     
                     GRAPHEME_EXTR_COUNT (default) -<strong>$size</strong> is the number of default grapheme clusters
                     to extract.GRAPHEME_EXTR_MAXBYTES -<strong>$size</strong> is the maximum number of bytes
                     returned.GRAPHEME_EXTR_MAXCHARS - <strong>$size</strong> is the maximum number of UTF-8
                     characters returned.
  <info>int</info>     <strong>$offset</strong>    Starting position in <strong>$haystack</strong> in bytes - if given, it must be zero or a
                     positive value that is less than or equal to the length of <strong>$haystack</strong> in bytes,
                     or a negative value that counts from the end of <strong>$haystack</strong>. If <strong>$offset</strong> does not
                     point to the first byte of a UTF-8 character, the start position is moved to
                     the next character boundary.
  <info>int</info>     <strong>$next</strong>      Reference to a value that will be set to the next starting position. When the
                     call returns, this may point to the first byte position past the end of the
                     string.

<comment>Return:</comment>
  <info>string|false</info>  A string starting at offset <strong>$offset</strong> and ending on a default grapheme cluster
                boundary that conforms to the <strong>$size</strong> and <strong>$type</strong> specified, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>grapheme_substr()</strong>
   * 
       Unicode Text Segmentation: Grapheme Cluster Boundaries
      


id: grapheme_stripos
type: function
doc:
<comment>Description:</comment>
  Find position (in grapheme units) of first occurrence of a case-insensitive string
  
  Procedural style
  
  Find position (in grapheme units) of first occurrence of a case-insensitive string

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  The string to look in. Must be valid UTF-8.
  <info>string</info>  <strong>$needle</strong>    The string to look for. Must be valid UTF-8.
  <info>int</info>     <strong>$offset</strong>    The optional <strong>$offset</strong> parameter allows you to specify where in <strong>$haystack</strong> to
                     start searching as an offset in grapheme units (not bytes or characters). If
                     the offset is negative, it is treated relative to the end of the string. The
                     position returned is still relative to the beginning of <strong>$haystack</strong> regardless of
                     the value of <strong>$offset</strong>.

<comment>Return:</comment>
  <info>int|false</info>  Returns the position as an integer. If <strong>$needle</strong> is not found, <strong>grapheme_stripos()</strong> will
             return <info>false</info>.

<comment>See Also:</comment>
   * <strong>grapheme_stristr()</strong>
   * <strong>grapheme_strpos()</strong>
   * <strong>grapheme_strripos()</strong>
   * <strong>grapheme_strrpos()</strong>
   * <strong>grapheme_strstr()</strong>
   * 
      Unicode Text Segmentation: Grapheme Cluster Boundaries
     


id: grapheme_stristr
type: function
doc:
<comment>Description:</comment>
  Returns part of haystack string from the first occurrence of case-insensitive needle to the end of
  haystack
  
  Procedural style
  
  Returns part of <strong>$haystack</strong> string starting from and including the first occurrence of
  case-insensitive needle to the end of <strong>$haystack</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>      The input string. Must be valid UTF-8.
  <info>string</info>  <strong>$needle</strong>        The string to look for. Must be valid UTF-8.
  <info>bool</info>    <strong>$beforeNeedle</strong>  If <info>true</info>, <strong>grapheme_strstr()</strong> returns the part of the <strong>$haystack</strong> before the
                         first occurrence of the needle (excluding <strong>$needle</strong>).

<comment>Return:</comment>
  <info>string|false</info>  Returns the portion of <strong>$haystack</strong>, or <info>false</info> if <strong>$needle</strong> is not found.

<comment>See Also:</comment>
   * <strong>grapheme_stripos()</strong>
   * <strong>grapheme_strpos()</strong>
   * <strong>grapheme_strripos()</strong>
   * <strong>grapheme_strrpos()</strong>
   * <strong>grapheme_strstr()</strong>
   * 
      Unicode Text Segmentation: Grapheme Cluster Boundaries
     


id: grapheme_strlen
type: function
doc:
<comment>Description:</comment>
  Get string length in grapheme units
  
  Procedural style
  
  Get string length in grapheme units (not bytes or characters)

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The string being measured for length. It must be a valid UTF-8 string.

<comment>Return:</comment>
  <info>int|false|null</info>  The length of the string on success,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * 
      Unicode Text Segmentation: Grapheme Cluster Boundaries
     
   * <strong>iconv_strlen()</strong>
   * <strong>mb_strlen()</strong>
   * <strong>strlen()</strong>


id: grapheme_strpos
type: function
doc:
<comment>Description:</comment>
  Find position (in grapheme units) of first occurrence of a string
  
  Procedural style
  
  Find position (in grapheme units) of first occurrence of a string

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  The string to look in. Must be valid UTF-8.
  <info>string</info>  <strong>$needle</strong>    The string to look for. Must be valid UTF-8.
  <info>int</info>     <strong>$offset</strong>    The optional <strong>$offset</strong> parameter allows you to specify where in <strong>$haystack</strong> to
                     start searching as an offset in grapheme units (not bytes or characters). If
                     the offset is negative, it is treated relative to the end of the string. The
                     position returned is still relative to the beginning of <strong>$haystack</strong> regardless of
                     the value of <strong>$offset</strong>.

<comment>Return:</comment>
  <info>int|false</info>  Returns the position as an integer. If <strong>$needle</strong> is not found, <strong>grapheme_strpos()</strong> will
             return <info>false</info>.

<comment>See Also:</comment>
   * <strong>grapheme_stripos()</strong>
   * <strong>grapheme_stristr()</strong>
   * <strong>grapheme_strripos()</strong>
   * <strong>grapheme_strrpos()</strong>
   * <strong>grapheme_strstr()</strong>
   * 
      Unicode Text Segmentation: Grapheme Cluster Boundaries
     


id: grapheme_strripos
type: function
doc:
<comment>Description:</comment>
  Find position (in grapheme units) of last occurrence of a case-insensitive string
  
  Procedural style
  
  Find position (in grapheme units) of last occurrence of a case-insensitive string

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  The string to look in. Must be valid UTF-8.
  <info>string</info>  <strong>$needle</strong>    The string to look for. Must be valid UTF-8.
  <info>int</info>     <strong>$offset</strong>    The optional <strong>$offset</strong> parameter allows you to specify where in <strong>$haystack</strong> to
                     start searching as an offset in grapheme units (not bytes or characters). The
                     position returned is still relative to the beginning of <strong>$haystack</strong> regardless of
                     the value of <strong>$offset</strong>.

<comment>Return:</comment>
  <info>int|false</info>  Returns the position as an integer. If <strong>$needle</strong> is not found, <strong>grapheme_strripos()</strong> will
             return <info>false</info>.

<comment>See Also:</comment>
   * <strong>grapheme_stripos()</strong>
   * <strong>grapheme_stristr()</strong>
   * <strong>grapheme_strpos()</strong>
   * <strong>grapheme_strrpos()</strong>
   * <strong>grapheme_strstr()</strong>
   * 
      Unicode Text Segmentation: Grapheme Cluster Boundaries
     


id: grapheme_strrpos
type: function
doc:
<comment>Description:</comment>
  Find position (in grapheme units) of last occurrence of a string
  
  Procedural style
  
  Find position (in grapheme units) of last occurrence of a string

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  The string to look in. Must be valid UTF-8.
  <info>string</info>  <strong>$needle</strong>    The string to look for. Must be valid UTF-8.
  <info>int</info>     <strong>$offset</strong>    The optional <strong>$offset</strong> parameter allows you to specify where in <strong>$haystack</strong> to
                     start searching as an offset in grapheme units (not bytes or characters). The
                     position returned is still relative to the beginning of <strong>$haystack</strong> regardless of
                     the value of <strong>$offset</strong>.

<comment>Return:</comment>
  <info>int|false</info>  Returns the position as an integer. If <strong>$needle</strong> is not found, <strong>grapheme_strrpos()</strong> will
             return <info>false</info>.

<comment>See Also:</comment>
   * <strong>grapheme_stripos()</strong>
   * <strong>grapheme_stristr()</strong>
   * <strong>grapheme_strpos()</strong>
   * <strong>grapheme_strripos()</strong>
   * <strong>grapheme_strstr()</strong>
   * 
      Unicode Text Segmentation: Grapheme Cluster Boundaries
     


id: grapheme_strstr
type: function
doc:
<comment>Description:</comment>
  Returns part of haystack string from the first occurrence of needle to the end of haystack
  
  Procedural style
  
  Returns part of haystack string from the first occurrence of needle to the end of haystack
  (including the needle).

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>      The input string. Must be valid UTF-8.
  <info>string</info>  <strong>$needle</strong>        The string to look for. Must be valid UTF-8.
  <info>bool</info>    <strong>$beforeNeedle</strong>  If <info>true</info>, <strong>grapheme_strstr()</strong> returns the part of the <strong>$haystack</strong> before the
                         first occurrence of the <strong>$needle</strong> (excluding the <strong>$needle</strong>).

<comment>Return:</comment>
  <info>string|false</info>  Returns the portion of <strong>$haystack</strong>, or <info>false</info> if <strong>$needle</strong> is not found.

<comment>See Also:</comment>
   * <strong>grapheme_stristr()</strong>
   * <strong>grapheme_stripos()</strong>
   * <strong>grapheme_strpos()</strong>
   * <strong>grapheme_strripos()</strong>
   * <strong>grapheme_strrpos()</strong>
   * 
      Unicode Text Segmentation: Grapheme Cluster Boundaries
     


id: grapheme_substr
type: function
doc:
<comment>Description:</comment>
  Return part of a string
  
  Procedural style
  
  Return part of a string

<comment>Param:</comment>
  <info>string</info>    <strong>$string</strong>  The input string. Must be valid UTF-8.
  <info>int</info>       <strong>$offset</strong>  Start position in default grapheme units. If <strong>$offset</strong> is non-negative, the
                     returned string will start at the <strong>$offset</strong>'th position in <strong>$string</strong>, counting from
                     zero. If <strong>$offset</strong> is negative, the returned string will start at the <strong>$offset</strong>'th
                     grapheme unit from the  end of string.
  <info>int|null</info>  <strong>$length</strong>  Length in grapheme units. If <strong>$length</strong> is given and is positive, the string
                     returned will contain at most <strong>$length</strong> grapheme units beginning from <strong>$offset</strong>
                     (depending on the  length of string). If <strong>$length</strong> is given and is negative, then
                     that many grapheme units will be omitted from the end of string (after the
                     start position has been calculated when <strong>$offset</strong> is negative). If <strong>$offset</strong>
                     denotes a position beyond this truncation, an empty string will be returned.

<comment>Return:</comment>
  <info>string|false</info>  Returns the extracted part of <strong>$string</strong>,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>grapheme_extract()</strong>
   * 
      Unicode Text Segmentation: Grapheme Cluster Boundaries
     


id: gregoriantojd
type: function
doc:
<comment>Description:</comment>
  Converts a Gregorian date to Julian Day Count
  
  The valid range for the Gregorian calendar is from November 25, 4714 B.C. to at least December 31,
  9999 A.D.
  
  Although this function can handle dates all the way back to 4714 B.C., such use may not be
  meaningful. The Gregorian calendar was not instituted until October 15, 1582 (or October 5, 1582
  in the Julian calendar). Some countries did not accept it until much later. For example, Britain
  converted in 1752, The USSR in 1918 and Greece in 1923. Most European countries used the Julian
  calendar prior to the Gregorian.

<comment>Param:</comment>
  <info>int</info>  <strong>$month</strong>  The month as a number from 1 (for January) to 12 (for December)
  <info>int</info>  <strong>$day</strong>    The day as a number from 1 to 31. If the month has less days then given, overflow
               occurs; see the example below.
  <info>int</info>  <strong>$year</strong>   The year as a number between -4714 and 9999. Negative numbers mean years B.C.,
               positive numbers mean years A.D. Note that there is no year <return>0</return>; December 31, 1 B.C. is
               immediately followed by January 1, 1 A.D.

<comment>Return:</comment>
  <info>int</info>  The julian day for the given gregorian date as an integer. Dates outside the valid range
       return <return>0</return>.

<comment>See Also:</comment>
   * <strong>jdtogregorian()</strong>
   * <strong>cal_to_jd()</strong>


id: gzclose
type: function
doc:
<comment>Description:</comment>
  Close an open gz-file pointer
  
  Closes the given gz-file pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.

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

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


id: gzcompress
type: function
doc:
<comment>Description:</comment>
  Compress a string
  
  This function compresses the given string using the <return>ZLIB</return> data format.
  
  For details on the ZLIB compression algorithm see the document "ZLIB Compressed Data Format
  Specification version 3.3" (RFC 1950).
  
  This is not the same as gzip compression, which includes some header data. See <strong>gzencode()</strong> for gzip
  compression.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>      The data to compress.
  <info>int</info>     <strong>$level</strong>     The level of compression. Can be given as 0 for no compression up to 9 for
                     maximum compression.
                     
                     If -1 is used, the default compression of the zlib library is used which is 6.
  <info>int</info>     <strong>$encoding</strong>  One of <info>ZLIB_ENCODING_*</info> constants.

<comment>Return:</comment>
  <info>string|false</info>  The compressed string or <info>false</info> if an error occurred.

<comment>See Also:</comment>
   * <strong>gzdeflate()</strong>
   * <strong>gzinflate()</strong>
   * <strong>gzuncompress()</strong>
   * <strong>gzencode()</strong>


id: gzdecode
type: function
doc:
<comment>Description:</comment>
  Decodes a gzip compressed string
  
  This function returns a decoded version of the input <strong>$data</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>        The data to decode, encoded by <strong>gzencode()</strong>.
  <info>int</info>     <strong>$max_length</strong>  The maximum length of data to decode.

<comment>Return:</comment>
  <info>string|false</info>  The decoded string, or  or <info>false</info> on failure.

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


id: gzdeflate
type: function
doc:
<comment>Description:</comment>
  Deflate a string
  
  This function compresses the given string using the <return>DEFLATE</return> data format.
  
  For details on the DEFLATE compression algorithm see the document "DEFLATE Compressed Data Format
  Specification version 1.3" (RFC 1951).

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>      The data to deflate.
  <info>int</info>     <strong>$level</strong>     The level of compression. Can be given as 0 for no compression up to 9 for
                     maximum compression. If not given, the default compression level will be the
                     default compression level of the zlib library.
  <info>int</info>     <strong>$encoding</strong>  One of <info>ZLIB_ENCODING_*</info> constants.

<comment>Return:</comment>
  <info>string|false</info>  The deflated string or <info>false</info> if an error occurred.

<comment>See Also:</comment>
   * <strong>gzinflate()</strong>
   * <strong>gzcompress()</strong>
   * <strong>gzuncompress()</strong>
   * <strong>gzencode()</strong>


id: gzencode
type: function
doc:
<comment>Description:</comment>
  Create a gzip compressed string
  
  This function returns a compressed version of the input <strong>$data</strong> compatible with the output of the
  gzip program.
  
  For more information on the GZIP file format, see the document: GZIP file format specification
  version 4.3 (RFC 1952).

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>      The data to encode.
  <info>int</info>     <strong>$level</strong>     The level of compression. Can be given as 0 for no compression up to 9 for
                     maximum compression. If not given, the default compression level will be the
                     default compression level of the zlib library.
  <info>int</info>     <strong>$encoding</strong>  The encoding mode. Can be <info>FORCE_GZIP</info> (the default) or <info>FORCE_DEFLATE</info>.
                     
                     <info>FORCE_DEFLATE</info> generates RFC 1950 compliant output, consisting of a zlib header,
                     the deflated data, and an Adler checksum.

<comment>Return:</comment>
  <info>string|false</info>  The encoded string, or <info>false</info> if an error occurred.

<comment>See Also:</comment>
   * <strong>gzdecode()</strong>
   * <strong>gzdeflate()</strong>
   * <strong>gzinflate()</strong>
   * <strong>gzuncompress()</strong>
   * <strong>gzcompress()</strong>
   * 
      ZLIB Compressed Data Format Specification (RFC 1950)
     


id: gzeof
type: function
doc:
<comment>Description:</comment>
  Test for EOF on a gz-file pointer
  
  Tests the given GZ file pointer for EOF.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the gz-file pointer is at EOF or an error occurs; otherwise returns <info>false</info>.


id: gzfile
type: function
doc:
<comment>Description:</comment>
  Read entire gz-file into an array
  
  This function is identical to <strong>readgzfile()</strong>, except that it returns the file in an array.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>          The file name.
  <info>int</info>     <strong>$use_include_path</strong>  You can set this optional parameter to <return>1</return>, if you want to search for the
                             file in the include_path too.

<comment>Return:</comment>
  <info>array|false</info>  An array containing the file, one line per cell, empty lines included, and with
               newlines still attached, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>readgzfile()</strong>
   * <strong>gzopen()</strong>


id: gzgetc
type: function
doc:
<comment>Description:</comment>
  Get character from gz-file pointer
  
  Returns a string containing a single (uncompressed) character read from the given gz-file pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.

<comment>Return:</comment>
  <info>string|false</info>  The uncompressed character or <info>false</info> on EOF (unlike <strong>gzeof()</strong>).

<comment>See Also:</comment>
   * <strong>gzopen()</strong>
   * <strong>gzgets()</strong>


id: gzgets
type: function
doc:
<comment>Description:</comment>
  Get line from file pointer
  
  Gets a (uncompressed) string of up to length - 1 bytes read from the given file pointer. Reading
  ends when length - 1 bytes have been read, on a  newline, or on EOF (whichever comes first).

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.
  <info>int|null</info>  <strong>$length</strong>  The length of data to get.

<comment>Return:</comment>
  <info>string|false</info>  The uncompressed string, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>gzopen()</strong>
   * <strong>gzgetc()</strong>
   * <strong>gzwrite()</strong>


id: gzgetss
type: function
doc:
<comment>Description:</comment>
  Get line from gz-file pointer and strip HTML tags
    
  
  Identical to <strong>gzgets()</strong>, except that <strong>gzgetss()</strong> attempts to strip any HTML and PHP tags from the text
  it reads.

<comment>Param:</comment>
  <info>resource</info>  <strong>$zp</strong>              The gz-file pointer. It must be valid, and must point to a file
                             successfully opened by <strong>gzopen()</strong>.
  <info>int</info>       <strong>$length</strong>          The length of data to get.
  <info>string</info>    <strong>$allowable_tags</strong>  You can use this optional parameter to specify tags which should not
                             be stripped.

<comment>Return:</comment>
  <info>string</info>  The uncompressed and stripped string, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>gzopen()</strong>
   * <strong>gzgets()</strong>
   * <strong>strip_tags()</strong>


id: gzinflate
type: function
doc:
<comment>Description:</comment>
  Inflate a deflated string
  
  This function inflates a deflated string.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>        The data compressed by <strong>gzdeflate()</strong>.
  <info>int</info>     <strong>$max_length</strong>  The maximum length of decoded data.

<comment>Return:</comment>
  <info>string|false</info>  The original uncompressed data or <info>false</info> on error.
                
                The function will return an error if the uncompressed data is more than 32768 times
                the length of the compressed input <strong>$data</strong>  or, unless <strong>$max_length</strong> is <return>0</return>, more than the
                optional parameter <strong>$max_length</strong>.

<comment>See Also:</comment>
   * <strong>gzdeflate()</strong>
   * <strong>gzcompress()</strong>
   * <strong>gzuncompress()</strong>
   * <strong>gzencode()</strong>


id: gzopen
type: function
doc:
<comment>Description:</comment>
  Open gz-file
  
  Opens a gzip (.gz) file for reading or writing.
  
  <strong>gzopen()</strong> can be used to read a file which is not in gzip format; in this case <strong>gzread()</strong> will
  directly read from the file without decompression.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>          The file name.
  <info>string</info>  <strong>$mode</strong>              As in <strong>fopen()</strong> (<return>rb</return> or  <return>wb</return>) but can also include a compression level
                             (<return>wb9</return>) or a strategy: <return>f</return> for filtered data as in <return>wb6f</return>, <return>h</return> for <return>Huffman only
                             compression</return> as in <return>wb1h</return>. (See the description of <return>deflateInit2</return> in zlib.h
                             for  more information about the strategy parameter.)
  <info>int</info>     <strong>$use_include_path</strong>  You can set this optional parameter to <return>1</return>, if you want to search for the
                             file in the include_path too.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a file pointer to the file opened, after that, everything you read from
                  this file descriptor will be transparently decompressed and what you  write gets
                  compressed.
                  
                  If the open fails, the function returns <info>false</info>.

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


id: gzpassthru
type: function
doc:
<comment>Description:</comment>
  Output all remaining data on a gz-file pointer
    
  
  Reads to EOF on the given gz-file pointer from the current position and writes the (uncompressed)
  results to standard output.
  
  You may need to call <strong>gzrewind()</strong> to reset the file pointer to the beginning of the file if you have
  already written data  to it.
  
  If you just want to dump the contents of a file to the output buffer,  without first modifying it
  or seeking to a particular offset, you may  want to use the <strong>readgzfile()</strong> function, which saves
  you the <strong>gzopen()</strong> call.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.

<comment>Return:</comment>
  <info>int</info>  The number of uncompressed characters read from <strong>$gz</strong> and passed through to the input.


id: gzputs
type: function
doc:
<comment>Description:</comment>
  Alias of gzwrite
  
  This function is an alias of:  <strong>gzwrite()</strong>.


id: gzread
type: function
doc:
<comment>Description:</comment>
  Binary-safe gz-file read
  
  <strong>gzread()</strong> reads up to <strong>$length</strong> bytes from the given gz-file pointer. Reading stops when <strong>$length</strong>
  (uncompressed) bytes have been read or EOF is reached, whichever comes first.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.
  <info>int</info>       <strong>$length</strong>  The number of bytes to read.

<comment>Return:</comment>
  <info>string|false</info>  The data that have been read,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>gzwrite()</strong>
   * <strong>gzopen()</strong>
   * <strong>gzgets()</strong>
   * <strong>gzgetss()</strong>
   * <strong>gzfile()</strong>
   * <strong>gzpassthru()</strong>


id: gzrewind
type: function
doc:
<comment>Description:</comment>
  Rewind the position of a gz-file pointer
  
  Sets the file position indicator of the given gz-file pointer to the  beginning of the file
  stream.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.

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

<comment>See Also:</comment>
   * <strong>gzseek()</strong>
   * <strong>gztell()</strong>


id: gzseek
type: function
doc:
<comment>Description:</comment>
  Seek on a gz-file pointer
  
  Sets the file position indicator for the given file pointer to the given offset byte into the file
  stream. Equivalent to calling (in C) <return>gzseek(zp, offset, SEEK_SET)</return>.
  
  If the file is opened for reading, this function is emulated but can be extremely slow. If the
  file is opened for writing, only forward seeks are supported; <strong>gzseek()</strong> then compresses a sequence
  of zeroes up to the new starting position.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.
  <info>int</info>       <strong>$offset</strong>  The seeked offset.
  <info>int</info>       <strong>$whence</strong>  <strong>$whence</strong> values are: <info>SEEK_SET</info> - Set position equal to <strong>$offset</strong> bytes.<info>SEEK_CUR</info> -
                     Set position to current location plus <strong>$offset</strong>.
                     
                     If <strong>$whence</strong> is not specified, it is assumed to be <info>SEEK_SET</info>.

<comment>Return:</comment>
  <info>int</info>  Upon success, returns 0; otherwise, returns -1. Note that seeking past EOF is not considered
       an error.

<comment>See Also:</comment>
   * <strong>gztell()</strong>
   * <strong>gzrewind()</strong>


id: gztell
type: function
doc:
<comment>Description:</comment>
  Tell gz-file pointer read/write position
  
  Gets the position of the given file pointer; i.e., its offset into the uncompressed file stream.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.

<comment>Return:</comment>
  <info>int|false</info>  The position of the file pointer or <info>false</info> if an error occurs.

<comment>See Also:</comment>
   * <strong>gzopen()</strong>
   * <strong>gzseek()</strong>
   * <strong>gzrewind()</strong>


id: gzuncompress
type: function
doc:
<comment>Description:</comment>
  Uncompress a compressed string
  
  This function uncompress a compressed string.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>        The data compressed by <strong>gzcompress()</strong>.
  <info>int</info>     <strong>$max_length</strong>  The maximum length of data to decode.

<comment>Return:</comment>
  <info>string|false</info>  The original uncompressed data or <info>false</info> on error.
                
                The function will return an error if the uncompressed data is more than 32768 times
                the length of the compressed input <strong>$data</strong>  or more than the optional parameter
                <strong>$max_length</strong>.

<comment>See Also:</comment>
   * <strong>gzcompress()</strong>
   * <strong>gzinflate()</strong>
   * <strong>gzdeflate()</strong>
   * <strong>gzencode()</strong>


id: gzwrite
type: function
doc:
<comment>Description:</comment>
  Binary-safe gz-file write
  
  <strong>gzwrite()</strong> writes the contents of <strong>$data</strong> to the given gz-file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The gz-file pointer. It must be valid, and must point to a file successfully
                     opened by <strong>gzopen()</strong>.
  <info>string</info>    <strong>$data</strong>    The string to write.
  <info>int|null</info>  <strong>$length</strong>  The number of uncompressed bytes to write. If supplied, writing will  stop
                     after <strong>$length</strong> (uncompressed) bytes have been written or the end of <strong>$data</strong> is
                     reached, whichever comes first.

<comment>Return:</comment>
  <info>int|false</info>  Returns the number of (uncompressed) bytes written to the given gz-file  stream,  or
             <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>gzread()</strong>
   * <strong>gzopen()</strong>


id: hash
type: function
doc:
<comment>Description:</comment>
  Generate a hash value (message digest)

<comment>Param:</comment>
  <info>string</info>  <strong>$algo</strong>     Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..).
                    For a list of supported algorithms see <strong>hash_algos()</strong>.
  <info>string</info>  <strong>$data</strong>     Message to be hashed.
  <info>bool</info>    <strong>$binary</strong>   When set to <info>true</info>, outputs raw binary data. <info>false</info> outputs lowercase hexits.
  <info>array</info>   <strong>$options</strong>  An array of options for the various hashing algorithms.  Currently, only the
                    "seed" parameter is supported by the MurmurHash variants.

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

<comment>See Also:</comment>
   * <strong>hash_file()</strong>
   * <strong>hash_hmac()</strong>
   * <strong>hash_init()</strong>
   * <strong>md5()</strong>
   * <strong>sha1()</strong>


id: hash_algos
type: function
doc:
<comment>Description:</comment>
  Return a list of registered hashing algorithms

<comment>Return:</comment>
  <info>array</info>  Returns a numerically indexed array containing the list of supported hashing algorithms.

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


id: hash_copy
type: function
doc:
<comment>Description:</comment>
  Copy hashing context

<comment>Param:</comment>
  <info>HashContext</info>  <strong>$context</strong>  Hashing context returned by <strong>hash_init()</strong>.

<comment>Return:</comment>
  <info>HashContext</info>  Returns a copy of Hashing Context.


id: hash_equals
type: function
doc:
<comment>Description:</comment>
  Timing attack safe string comparison
  
  Checks whether two strings are equal without leaking information about the contents of
  <strong>$known_string</strong> via the execution time.
  
  This function can be used to mitigate timing attacks. Performing a regular comparison with ===
  will take more or less time to execute depending on whether the two values are different or not
  and at which position the first difference can be found, thus leaking information about the
  contents of the secret <strong>$known_string</strong>.
  
  It is important to provide the user-supplied string as the second parameter, rather than the
  first.

<comment>Param:</comment>
  <info>string</info>  <strong>$known_string</strong>  The known <info>string</info> that must be kept secret.
  <info>string</info>  <strong>$user_string</strong>   The user-supplied <info>string</info> to compare against.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> when the two strings are equal, <info>false</info> otherwise.

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


id: hash_file
type: function
doc:
<comment>Description:</comment>
  Generate a hash value using the contents of a given file

<comment>Param:</comment>
  <info>string</info>  <strong>$algo</strong>      Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..).
                     For a list of supported algorithms see <strong>hash_algos()</strong>.
  <info>string</info>  <strong>$filename</strong>  URL describing location of file to be hashed; Supports fopen wrappers.
  <info>bool</info>    <strong>$binary</strong>    When set to <info>true</info>, outputs raw binary data. <info>false</info> outputs lowercase hexits.
  <info>array</info>   <strong>$options</strong>   An array of options for the various hashing algorithms.  Currently, only the
                     "seed" parameter is supported by the MurmurHash variants.

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

<comment>See Also:</comment>
   * <strong>hash()</strong>
   * <strong>hash_hmac_file()</strong>
   * <strong>hash_update_file()</strong>
   * <strong>md5_file()</strong>
   * <strong>sha1_file()</strong>


id: hash_final
type: function
doc:
<comment>Description:</comment>
  Finalize an incremental hash and return resulting digest

<comment>Param:</comment>
  <info>HashContext</info>  <strong>$context</strong>  Hashing context returned by <strong>hash_init()</strong>.
  <info>bool</info>         <strong>$binary</strong>   When set to <info>true</info>, outputs raw binary data. <info>false</info> outputs lowercase hexits.

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

<comment>See Also:</comment>
   * <strong>hash_init()</strong>
   * <strong>hash_update()</strong>
   * <strong>hash_update_stream()</strong>
   * <strong>hash_update_file()</strong>


id: hash_hkdf
type: function
doc:
<comment>Description:</comment>
  Generate a HKDF key derivation of a supplied key input

<comment>Param:</comment>
  <info>string</info>  <strong>$algo</strong>    Name of selected hashing algorithm (i.e. "sha256", "sha512", "haval160,4", etc..)
                   See <strong>hash_algos()</strong> for a list of supported algorithms.  Non-cryptographic hash
                   functions are not allowed.
                   
                   Non-cryptographic hash functions are not allowed.
  <info>string</info>  <strong>$key</strong>     Input keying material (raw binary). Cannot be empty.
  <info>int</info>     <strong>$length</strong>  Desired output length in bytes. Cannot be greater than 255 times the chosen hash
                   function size.
                   
                   If <strong>$length</strong> is <return>0</return>, the output length will default to the chosen hash function size.
  <info>string</info>  <strong>$info</strong>    Application/context-specific info string.
  <info>string</info>  <strong>$salt</strong>    Salt to use during derivation.
                   
                   While optional, adding random salt significantly improves the strength of HKDF.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing a raw binary representation of the derived key (also known as
          output keying material - OKM).

<comment>See Also:</comment>
   * <strong>hash_pbkdf2()</strong>
   * RFC 5869
   * userland implementation


id: hash_hmac
type: function
doc:
<comment>Description:</comment>
  Generate a keyed hash value using the HMAC method

<comment>Param:</comment>
  <info>string</info>  <strong>$algo</strong>    Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)
                   See <strong>hash_hmac_algos()</strong> for a list of supported algorithms.
  <info>string</info>  <strong>$data</strong>    Message to be hashed.
  <info>string</info>  <strong>$key</strong>     Shared secret key used for generating the HMAC variant of the message digest.
  <info>bool</info>    <strong>$binary</strong>  When set to <info>true</info>, outputs raw binary data. <info>false</info> outputs lowercase hexits.

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

<comment>See Also:</comment>
   * <strong>hash()</strong>
   * <strong>hash_hmac_algos()</strong>
   * <strong>hash_init()</strong>
   * <strong>hash_hmac_file()</strong>
   * <strong>hash_equals()</strong>


id: hash_hmac_algos
type: function
doc:
<comment>Description:</comment>
  Return a list of registered hashing algorithms suitable for hash_hmac

<comment>Return:</comment>
  <info>array</info>  Returns a numerically indexed array containing the list of supported hashing algorithms
         suitable for <strong>hash_hmac()</strong>.

<comment>See Also:</comment>
   * <strong>hash_hmac()</strong>
   * <strong>hash_algos()</strong>


id: hash_hmac_file
type: function
doc:
<comment>Description:</comment>
  Generate a keyed hash value using the HMAC method and the contents of a given file

<comment>Param:</comment>
  <info>string</info>  <strong>$algo</strong>      Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..)
                     See <strong>hash_hmac_algos()</strong> for a list of supported algorithms.
  <info>string</info>  <strong>$filename</strong>  URL describing location of file to be hashed; Supports fopen wrappers.
  <info>string</info>  <strong>$key</strong>       Shared secret key used for generating the HMAC variant of the message digest.
  <info>bool</info>    <strong>$binary</strong>    When set to <info>true</info>, outputs raw binary data. <info>false</info> outputs lowercase hexits.

<comment>Return:</comment>
  <info>string|false</info>  Returns a string containing the calculated message digest as lowercase hexits unless
                <strong>$binary</strong> is set to true in which case the raw binary representation of the message
                digest is returned. Returns <info>false</info> if the file <strong>$filename</strong> cannot be read.

<comment>See Also:</comment>
   * <strong>hash_hmac_algos()</strong>
   * <strong>hash_hmac()</strong>
   * <strong>hash_file()</strong>


id: hash_init
type: function
doc:
<comment>Description:</comment>
  Initialize an incremental hashing context

<comment>Param:</comment>
  <info>string</info>  <strong>$algo</strong>     Name of selected hashing algorithm (i.e. "md5", "sha256", "haval160,4", etc..).
                    For a list of supported algorithms see <strong>hash_algos()</strong>.
  <info>int</info>     <strong>$flags</strong>    Optional settings for hash generation, currently supports only one option:
                    <info>HASH_HMAC</info>.  When specified, the <strong>$key</strong> must be specified.
  <info>string</info>  <strong>$key</strong>      When <info>HASH_HMAC</info> is specified for <strong>$flags</strong>, a shared secret key to be used with the
                    HMAC hashing method must be supplied in this parameter.
  <info>array</info>   <strong>$options</strong>  An array of options for the various hashing algorithms.  Currently, only the
                    "seed" parameter is supported by the MurmurHash variants.

<comment>Return:</comment>
  <info>HashContext</info>  Returns a Hashing Context for use with <strong>hash_update()</strong>, <strong>hash_update_stream()</strong>,
               <strong>hash_update_file()</strong>, and <strong>hash_final()</strong>.

<comment>See Also:</comment>
   * <strong>hash()</strong>
   * <strong>hash_algos()</strong>
   * <strong>hash_file()</strong>
   * <strong>hash_hmac()</strong>
   * <strong>hash_hmac_file()</strong>


id: hash_pbkdf2
type: function
doc:
<comment>Description:</comment>
  Generate a PBKDF2 key derivation of a supplied password

<comment>Param:</comment>
  <info>string</info>  <strong>$algo</strong>        Name of selected hashing algorithm (i.e. <return>md5</return>, <return>sha256</return>, <return>haval160,4</return>, etc..) See
                       <strong>hash_algos()</strong> for a list of supported algorithms.
  <info>string</info>  <strong>$password</strong>    The password to use for the derivation.
  <info>string</info>  <strong>$salt</strong>        The salt to use for the derivation. This value should be generated randomly.
  <info>int</info>     <strong>$iterations</strong>  The number of internal iterations to perform for the derivation.
  <info>int</info>     <strong>$length</strong>      The length of the output string. If <strong>$binary</strong> is <info>true</info> this corresponds to the
                       byte-length of the derived key, if <strong>$binary</strong> is <info>false</info> this corresponds to twice
                       the byte-length of the derived key (as every byte of the key is returned as
                       two hexits).
                       
                       If <return>0</return> is passed, the entire output of the supplied algorithm is used.
  <info>bool</info>    <strong>$binary</strong>      When set to <info>true</info>, outputs raw binary data. <info>false</info> outputs lowercase hexits.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the derived key as lowercase hexits unless <strong>$binary</strong> is set to
          <info>true</info> in which case the raw binary representation of the derived key is returned.

<comment>See Also:</comment>
   * <strong>password_hash()</strong>
   * <strong>hash_hkdf()</strong>
   * <strong>sodium_crypto_pwhash()</strong>


id: hash_update
type: function
doc:
<comment>Description:</comment>
  Pump data into an active hashing context

<comment>Param:</comment>
  <info>HashContext</info>  <strong>$context</strong>  Hashing context returned by <strong>hash_init()</strong>.
  <info>string</info>       <strong>$data</strong>     Message to be included in the hash digest.

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

<comment>See Also:</comment>
   * <strong>hash_init()</strong>
   * <strong>hash_update_file()</strong>
   * <strong>hash_update_stream()</strong>
   * <strong>hash_final()</strong>


id: hash_update_file
type: function
doc:
<comment>Description:</comment>
  Pump data into an active hashing context from a file

<comment>Param:</comment>
  <info>HashContext</info>    <strong>$context</strong>         Hashing context returned by <strong>hash_init()</strong>.
  <info>string</info>         <strong>$filename</strong>        URL describing location of file to be hashed; Supports fopen
                                  wrappers.
  <info>resource|null</info>  <strong>$stream_context</strong>  Stream context as returned by <strong>stream_context_create()</strong>.

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

<comment>See Also:</comment>
   * <strong>hash_init()</strong>
   * <strong>hash_update()</strong>
   * <strong>hash_update_stream()</strong>
   * <strong>hash_final()</strong>
   * <strong>hash()</strong>
   * <strong>hash_file()</strong>


id: hash_update_stream
type: function
doc:
<comment>Description:</comment>
  Pump data into an active hashing context from an open stream

<comment>Param:</comment>
  <info>HashContext</info>  <strong>$context</strong>  Hashing context returned by <strong>hash_init()</strong>.
  <info>resource</info>     <strong>$stream</strong>   Open file handle as returned by any stream creation function.
  <info>int</info>          <strong>$length</strong>   Maximum number of characters to copy from <strong>$stream</strong> into the hashing context.

<comment>Return:</comment>
  <info>int</info>  Actual number of bytes added to the hashing context from <strong>$stream</strong>.

<comment>See Also:</comment>
   * <strong>hash_init()</strong>
   * <strong>hash_update()</strong>
   * <strong>hash_final()</strong>
   * <strong>hash()</strong>
   * <strong>hash_file()</strong>


id: header
type: function
doc:
<comment>Description:</comment>
  Send a raw HTTP header
  
  <strong>header()</strong> is used to send a raw HTTP header. See the HTTP/1.1 specification for more information on
  HTTP headers.
  
  Remember that <strong>header()</strong> must be called before any actual output is sent, either by normal HTML
  tags, blank lines in a file, or from PHP. It is a very common error to read code with <strong>include()</strong>,
  or <strong>require()</strong>,  functions, or another file access function, and have spaces or empty lines that are
  output before <strong>header()</strong> is called. The same problem exists when using a single PHP/HTML file.
  
  ]]>

<comment>Param:</comment>
  <info>string</info>  <strong>$header</strong>         The header string.
                          
                          There are two special-case header calls.  The first is a header that
                          starts with the string "<return>HTTP/</return>" (case is not significant), which will be
                          used to figure out the HTTP status code to send. For example, if you have
                          configured Apache to use a PHP script to handle requests for missing files
                          (using the <return>ErrorDocument</return> directive), you may want to make sure that your
                          script generates the proper status code.
                          
                          
                          ]]>
                          
                          The second special case is the "Location:" header.  Not only does it send
                          this header back to the browser, but it also returns a <return>REDIRECT</return> (302)
                          status code to the browser unless the <return>201</return> or a <return>3xx</return> status code has already
                          been set.
                          
                          
                          ]]>
  <info>bool</info>    <strong>$replace</strong>        The optional <strong>$replace</strong> parameter indicates whether the header should
                          replace a previous similar header, or add a second header of the same
                          type.  By default it will replace, but if you pass in <info>false</info> as the second
                          argument you can force multiple headers of the same type.  For example:
                          
                          
                          ]]>
  <info>int</info>     <strong>$response_code</strong>  Forces the HTTP response code to the specified value. Note that this
                          parameter only has an effect if the <strong>$header</strong> is  not empty.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>headers_sent()</strong>
   * <strong>setcookie()</strong>
   * <strong>http_response_code()</strong>
   * <strong>header_remove()</strong>
   * <strong>headers_list()</strong>
   * 
     The section on HTTP
     authentication
    


id: header_register_callback
type: function
doc:
<comment>Description:</comment>
  Call a header function
  
  Registers a function that will be called when PHP starts sending output.
  
  The <strong>$callback</strong> is executed just after PHP prepares all headers to be sent, and before any other
  output is sent, creating a window to manipulate the outgoing headers before being sent.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  Function called just before the headers are sent. It gets no parameters and
                       the return value is ignored.

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

<comment>See Also:</comment>
   * <strong>headers_list()</strong>
   * <strong>header_remove()</strong>
   * <strong>header()</strong>


id: header_remove
type: function
doc:
<comment>Description:</comment>
  Remove previously set headers
  
  Removes an HTTP header previously set using <strong>header()</strong>.

<comment>Param:</comment>
  <info>string|null</info>  <strong>$name</strong>  The header name to be removed. When <info>null</info>, all previously set headers are
                      removed.
                      
                      This parameter is case-insensitive.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>header()</strong>
   * <strong>headers_sent()</strong>


id: headers_list
type: function
doc:
<comment>Description:</comment>
  Returns a list of response headers sent (or ready to send)
  
  <strong>headers_list()</strong> will return a list of headers to be sent to the browser / client.  To determine
  whether or not these headers have been sent yet, use <strong>headers_sent()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns a numerically indexed array of headers.

<comment>See Also:</comment>
   * <strong>headers_sent()</strong>
   * <strong>header()</strong>
   * <strong>setcookie()</strong>
   * <strong>apache_response_headers()</strong>
   * <strong>http_response_code()</strong>


id: headers_sent
type: function
doc:
<comment>Description:</comment>
  Checks if or where headers have been sent
  
  Checks if or where headers have been sent.
  
  You can't add any more header lines using the <strong>header()</strong> function once the header block has already
  been sent. Using this function you can at least prevent getting HTTP header related error
  messages. Another option is to use Output Buffering.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  If the optional <strong>$filename</strong> and <strong>$line</strong> parameters are set,  <strong>headers_sent()</strong> will
                     put the PHP source file name and line number where output started in the
                     <strong>$filename</strong> and <strong>$line</strong> variables.
                     
                     If the output has started before executing the PHP source file (for example due
                     to a startup error), the <strong>$filename</strong> parameter will be set to an empty string.
  <info>int</info>     <strong>$line</strong>      The line number where the output started.

<comment>Return:</comment>
  <info>bool</info>  <strong>headers_sent()</strong> will return <info>false</info> if no HTTP headers have already been sent or <info>true</info>
        otherwise.

<comment>See Also:</comment>
   * <strong>ob_start()</strong>
   * <strong>trigger_error()</strong>
   * <strong>headers_list()</strong>
   * <strong>header()</strong> for a more detailed discussion of the
     matters involved.
    


id: hebrev
type: function
doc:
<comment>Description:</comment>
  Convert logical Hebrew text to visual text
  
  Converts logical Hebrew text to visual text.
  
  The function tries to avoid breaking words.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>              A Hebrew input string.
  <info>int</info>     <strong>$max_chars_per_line</strong>  This optional parameter indicates maximum number of characters per
                               line that will be returned.

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

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


id: hebrevc
type: function
doc:
<comment>Description:</comment>
  Convert logical Hebrew text to visual text with newline conversion
  
  This function is similar to <strong>hebrev()</strong> with the difference that it converts newlines (\n) to "\<br&gt;\n".
  
  The function tries to avoid breaking words.

<comment>Param:</comment>
  <info>string</info>  <strong>$hebrew_text</strong>         A Hebrew input string.
  <info>int</info>     <strong>$max_chars_per_line</strong>  This optional parameter indicates maximum number of characters per
                               line that will be returned.

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

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


id: hex2bin
type: function
doc:
<comment>Description:</comment>
  Decodes a hexadecimally encoded binary string
  
  Decodes a hexadecimally encoded binary string.
  
  This function does NOT convert a hexadecimal number to a binary number. This can be done using the
  <strong>base_convert()</strong> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  Hexadecimal representation of data.

<comment>Return:</comment>
  <info>string|false</info>  Returns the binary representation of the given data  or <info>false</info> on failure.

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


id: hexdec
type: function
doc:
<comment>Description:</comment>
  Hexadecimal to decimal
  
  Returns the decimal equivalent of the hexadecimal number represented by the <strong>$hex_string</strong> argument.
  <strong>hexdec()</strong> converts a hexadecimal string to a decimal number.
  
  <strong>hexdec()</strong> will ignore any non-hexadecimal  characters it encounters. As of PHP 7.4.0 supplying any
  invalid characters is deprecated.

<comment>Param:</comment>
  <info>string</info>  <strong>$hex_string</strong>  The hexadecimal string to convert

<comment>Return:</comment>
  <info>int|float</info>  The decimal representation of <strong>$hex_string</strong>

<comment>See Also:</comment>
   * <strong>dechex()</strong>
   * <strong>bindec()</strong>
   * <strong>octdec()</strong>
   * <strong>base_convert()</strong>


id: highlight_file
type: function
doc:
<comment>Description:</comment>
  Syntax highlighting of a file
  
  Prints out or returns a syntax highlighted version of the code contained in <strong>$filename</strong> using the
  colors defined in the built-in syntax highlighter for PHP.
  
  Many servers are configured to automatically highlight files with a phps extension. For example,
  example.phps when viewed will show the syntax highlighted source of the file. To enable this, add
  this line to the httpd.conf:

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the PHP file to be highlighted.
  <info>bool</info>    <strong>$return</strong>    Set this parameter to <info>true</info> to make this function return the highlighted code.

<comment>Return:</comment>
  <info>string|bool</info>  If <strong>$return</strong> is set to <info>true</info>, returns the highlighted code as a string instead of
               printing it out. Otherwise, it will return <info>true</info> on success, <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>highlight_string()</strong>
   * Highlighting INI directives


id: highlight_string
type: function
doc:
<comment>Description:</comment>
  Syntax highlighting of a string
  
  Outputs or returns html markup for a syntax highlighted version of the given PHP code using the
  colors defined in the built-in syntax highlighter for PHP.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The PHP code to be highlighted. This should include the opening tag.
  <info>bool</info>    <strong>$return</strong>  Set this parameter to <info>true</info> to make this function return the highlighted code.

<comment>Return:</comment>
  <info>string|bool</info>  If <strong>$return</strong> is set to <info>true</info>, returns the highlighted code as a string instead of
               printing it out. Otherwise, it will return <info>true</info> on success, <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>highlight_file()</strong>
   * Highlighting INI directives


id: hrtime
type: function
doc:
<comment>Description:</comment>
  Get the system's high resolution time
  
  Returns the system's high resolution time, counted from an arbitrary point in time. The delivered
  timestamp is monotonic and can not be adjusted.

<comment>Param:</comment>
  <info>bool</info>  <strong>$as_number</strong>  Whether the high resolution time should be returned as <info>array</info> or number.

<comment>Return:</comment>
  <info>array|int|float|false</info>  Returns an array of integers in the form [seconds, nanoseconds], if the
                         parameter <strong>$as_number</strong> is false. Otherwise the nanoseconds are returned as
                         <info>int</info> (64bit platforms) or <info>float</info> (32bit platforms). Returns <info>false</info> on failure.

<comment>See Also:</comment>
   * The High resolution timing extension
   * <strong>microtime()</strong>


id: html_entity_decode
type: function
doc:
<comment>Description:</comment>
  Convert HTML entities to their corresponding characters
  
  <strong>html_entity_decode()</strong> is the opposite of <strong>htmlentities()</strong> in that it converts HTML entities in the
  <strong>$string</strong> to their corresponding characters.
  
  More precisely, this function decodes all the entities (including all numeric entities) that a)
  are necessarily valid for the chosen document type — i.e., for XML, this function does not decode
  named entities that might be defined in some DTD — and b) whose character or characters are in the
  coded character set associated with the chosen encoding and are permitted in the chosen document
  type. All other entities are left as is.

<comment>Param:</comment>
  <info>string</info>       <strong>$string</strong>    The input string.
  <info>int</info>          <strong>$flags</strong>     A bitmask of one or more of the following flags, which specify how to
                          handle quotes and which document type to use. The default is <return>ENT_QUOTES |
                          ENT_SUBSTITUTE | ENT_HTML401</return>. Available <strong>$flags</strong> constantsConstant
                          NameDescription<info>ENT_COMPAT</info>Will convert double-quotes and leave
                          single-quotes alone.<info>ENT_QUOTES</info>Will convert both double and single
                          quotes.<info>ENT_NOQUOTES</info>Will leave both double and single quotes
                          unconverted.<info>ENT_SUBSTITUTE</info> Replace invalid code unit sequences with a
                          Unicode Replacement Character U+FFFD (UTF-8) or &#xFFFD; (otherwise)
                          instead of returning an empty string. <info>ENT_HTML401</info> Handle code as HTML
                          4.01. <info>ENT_XML1</info> Handle code as XML 1. <info>ENT_XHTML</info> Handle code as XHTML.
                          <info>ENT_HTML5</info> Handle code as HTML 5.
  <info>string|null</info>  <strong>$encoding</strong>  An optional argument defining the encoding used when converting
                          characters.
                          
                          If omitted, <strong>$encoding</strong> defaults to the value of the default_charset
                          configuration option.
                          
                          Although this argument is technically optional, you are highly encouraged
                          to specify the correct value for your code if the default_charset
                          configuration option may be set incorrectly for the given input.
                          
                          The following character sets are supported: Supported
                          charsetsCharsetAliasesDescriptionISO-8859-1ISO8859-1 Western European,
                          Latin-1. ISO-8859-5ISO8859-5 Little used cyrillic charset
                          (Latin/Cyrillic). ISO-8859-15ISO8859-15 Western European, Latin-9. Adds
                          the Euro sign, French and Finnish letters missing in Latin-1 (ISO-8859-1).
                          UTF-8 ASCII compatible multi-byte 8-bit Unicode. cp866ibm866, 866
                          DOS-specific Cyrillic charset. cp1251Windows-1251, win-1251, 1251
                          Windows-specific Cyrillic charset. cp1252Windows-1252, 1252 Windows
                          specific charset for Western European. KOI8-Rkoi8-ru, koi8r Russian.
                          BIG5950 Traditional Chinese, mainly used in Taiwan. GB2312936 Simplified
                          Chinese, national standard character set. BIG5-HKSCS Big5 with Hong Kong
                          extensions, Traditional Chinese. Shift_JISSJIS, SJIS-win, cp932, 932
                          Japanese EUC-JPEUCJP, eucJP-win Japanese MacRoman Charset that was used by
                          Mac OS. <return>''</return> An empty string activates detection from script encoding (Zend
                          multibyte), default_charset and current locale (see <strong>nl_langinfo()</strong> and
                          <strong>setlocale()</strong>), in this order. Not recommended.   Any other character sets
                          are not recognized. The default encoding will be used instead and a
                          warning will be emitted.
                          
                          Any other character sets are not recognized. The default encoding will be
                          used instead and a warning will be emitted.

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

<comment>See Also:</comment>
   * <strong>htmlentities()</strong>
   * <strong>htmlspecialchars()</strong>
   * <strong>get_html_translation_table()</strong>
   * <strong>urldecode()</strong>


id: htmlentities
type: function
doc:
<comment>Description:</comment>
  Convert all applicable characters to HTML entities
  
  This function is identical to <strong>htmlspecialchars()</strong> in all ways, except with <strong>htmlentities()</strong>, all
  characters which have HTML character entity equivalents are translated into these entities. The
  <strong>get_html_translation_table()</strong> function can be used to return the translation table used dependent
  upon the provided <strong>$flags</strong> constants.
  
  If you want to decode instead (the reverse) you can use <strong>html_entity_decode()</strong>.

<comment>Param:</comment>
  <info>string</info>       <strong>$string</strong>         The input string.
  <info>int</info>          <strong>$flags</strong>          A bitmask of one or more of the following flags, which specify how to
                               handle quotes, invalid code unit sequences and the used document
                               type. The default is <return>ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401</return>.
                               Available <strong>$flags</strong> constantsConstant NameDescription<info>ENT_COMPAT</info>Will
                               convert double-quotes and leave single-quotes alone.<info>ENT_QUOTES</info>Will
                               convert both double and single quotes.<info>ENT_NOQUOTES</info>Will leave both
                               double and single quotes unconverted.<info>ENT_IGNORE</info> Silently discard
                               invalid code unit sequences instead of returning an empty string.
                               Using this flag is discouraged as it may have security implications.
                               <info>ENT_SUBSTITUTE</info> Replace invalid code unit sequences with a Unicode
                               Replacement Character U+FFFD (UTF-8) or &#FFFD; (otherwise) instead
                               of returning an empty string. <info>ENT_DISALLOWED</info> Replace invalid code
                               points for the given document type with a Unicode Replacement
                               Character U+FFFD (UTF-8) or &#FFFD; (otherwise) instead of leaving
                               them as is. This may be useful, for instance, to ensure the
                               well-formedness of XML documents with embedded external content.
                               <info>ENT_HTML401</info> Handle code as HTML 4.01. <info>ENT_XML1</info> Handle code as XML 1.
                               <info>ENT_XHTML</info> Handle code as XHTML. <info>ENT_HTML5</info> Handle code as HTML 5.
  <info>string|null</info>  <strong>$encoding</strong>       An optional argument defining the encoding used when converting
                               characters.
                               
                               If omitted, <strong>$encoding</strong> defaults to the value of the default_charset
                               configuration option.
                               
                               Although this argument is technically optional, you are highly
                               encouraged to specify the correct value for your code if the
                               default_charset configuration option may be set incorrectly for the
                               given input.
                               
                               The following character sets are supported: Supported
                               charsetsCharsetAliasesDescriptionISO-8859-1ISO8859-1 Western
                               European, Latin-1. ISO-8859-5ISO8859-5 Little used cyrillic charset
                               (Latin/Cyrillic). ISO-8859-15ISO8859-15 Western European, Latin-9.
                               Adds the Euro sign, French and Finnish letters missing in Latin-1
                               (ISO-8859-1). UTF-8 ASCII compatible multi-byte 8-bit Unicode.
                               cp866ibm866, 866 DOS-specific Cyrillic charset. cp1251Windows-1251,
                               win-1251, 1251 Windows-specific Cyrillic charset. cp1252Windows-1252,
                               1252 Windows specific charset for Western European. KOI8-Rkoi8-ru,
                               koi8r Russian. BIG5950 Traditional Chinese, mainly used in Taiwan.
                               GB2312936 Simplified Chinese, national standard character set.
                               BIG5-HKSCS Big5 with Hong Kong extensions, Traditional Chinese.
                               Shift_JISSJIS, SJIS-win, cp932, 932 Japanese EUC-JPEUCJP, eucJP-win
                               Japanese MacRoman Charset that was used by Mac OS. <return>''</return> An empty string
                               activates detection from script encoding (Zend multibyte),
                               default_charset and current locale (see <strong>nl_langinfo()</strong> and
                               <strong>setlocale()</strong>), in this order. Not recommended.   Any other character
                               sets are not recognized. The default encoding will be used instead
                               and a warning will be emitted.
                               
                               Any other character sets are not recognized. The default encoding
                               will be used instead and a warning will be emitted.
  <info>bool</info>         <strong>$double_encode</strong>  When <strong>$double_encode</strong> is turned off PHP will not encode existing html
                               entities. The default is to convert everything.

<comment>Return:</comment>
  <info>string</info>  Returns the encoded string.
          
          If the input <strong>$string</strong> contains an invalid code unit sequence within the given <strong>$encoding</strong> an
          empty string will be returned, unless either the <info>ENT_IGNORE</info> or <info>ENT_SUBSTITUTE</info> flags are
          set.

<comment>See Also:</comment>
   * <strong>html_entity_decode()</strong>
   * <strong>get_html_translation_table()</strong>
   * <strong>htmlspecialchars()</strong>
   * <strong>nl2br()</strong>
   * <strong>urlencode()</strong>


id: htmlspecialchars
type: function
doc:
<comment>Description:</comment>
  Convert special characters to HTML entities
  
  Certain characters have special significance in HTML, and should be represented by HTML entities
  if they are to preserve their meanings. This function returns a string with these conversions
  made. If you require all input substrings that have associated named entities to be translated,
  use <strong>htmlentities()</strong> instead.
  
  If the input string passed to this function and the final document share the same character set,
  this function is sufficient to prepare input for inclusion in most contexts of an HTML document.
  If, however, the input can represent characters that are not coded in the final document character
  set and you wish to retain those characters (as numeric or named entities), both this function and
  <strong>htmlentities()</strong> (which only encodes substrings that have named entity equivalents) may be
  insufficient. You may have to use <strong>mb_encode_numericentity()</strong> instead.
  
  Performed translationsCharacterReplacement<return>&</return> (ampersand)<return>&amp;</return><return>"</return> (double quote)<return>&quot;</return>, unless
  <info>ENT_NOQUOTES</info> is set<return>'</return> (single quote)<return>&#039;</return> (for <info>ENT_HTML401</info>) or <return>&apos;</return> (for <info>ENT_XML1</info>, <info>ENT_XHTML</info> or
  <info>ENT_HTML5</info>), but only when <info>ENT_QUOTES</info> is set <return>\<</return> (less than)<return>&lt;</return><return>&gt;</return> (greater than)<return>&gt;</return>

<comment>Param:</comment>
  <info>string</info>       <strong>$string</strong>         The <info>string</info> being converted.
  <info>int</info>          <strong>$flags</strong>          A bitmask of one or more of the following flags, which specify how to
                               handle quotes, invalid code unit sequences and the used document
                               type. The default is <return>ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401</return>.
                               Available <strong>$flags</strong> constantsConstant NameDescription<info>ENT_COMPAT</info>Will
                               convert double-quotes and leave single-quotes alone.<info>ENT_QUOTES</info>Will
                               convert both double and single quotes.<info>ENT_NOQUOTES</info>Will leave both
                               double and single quotes unconverted.<info>ENT_IGNORE</info> Silently discard
                               invalid code unit sequences instead of returning an empty string.
                               Using this flag is discouraged as it may have security implications.
                               <info>ENT_SUBSTITUTE</info> Replace invalid code unit sequences with a Unicode
                               Replacement Character U+FFFD (UTF-8) or &#xFFFD; (otherwise) instead
                               of returning an empty string. <info>ENT_DISALLOWED</info> Replace invalid code
                               points for the given document type with a Unicode Replacement
                               Character U+FFFD (UTF-8) or &#xFFFD; (otherwise) instead of leaving
                               them as is. This may be useful, for instance, to ensure the
                               well-formedness of XML documents with embedded external content.
                               <info>ENT_HTML401</info> Handle code as HTML 4.01. <info>ENT_XML1</info> Handle code as XML 1.
                               <info>ENT_XHTML</info> Handle code as XHTML. <info>ENT_HTML5</info> Handle code as HTML 5.
  <info>string|null</info>  <strong>$encoding</strong>       An optional argument defining the encoding used when converting
                               characters.
                               
                               If omitted, <strong>$encoding</strong> defaults to the value of the default_charset
                               configuration option.
                               
                               Although this argument is technically optional, you are highly
                               encouraged to specify the correct value for your code if the
                               default_charset configuration option may be set incorrectly for the
                               given input.
                               
                               For the purposes of this function, the encodings <return>ISO-8859-1</return>,
                               <return>ISO-8859-15</return>, <return>UTF-8</return>, <return>cp866</return>, <return>cp1251</return>, <return>cp1252</return>, and <return>KOI8-R</return> are effectively
                               equivalent, provided the <strong>$string</strong> itself is valid for the encoding, as
                               the characters affected by <strong>htmlspecialchars()</strong> occupy the same
                               positions in all of these encodings.
                               
                               The following character sets are supported: Supported
                               charsetsCharsetAliasesDescriptionISO-8859-1ISO8859-1 Western
                               European, Latin-1. ISO-8859-5ISO8859-5 Little used cyrillic charset
                               (Latin/Cyrillic). ISO-8859-15ISO8859-15 Western European, Latin-9.
                               Adds the Euro sign, French and Finnish letters missing in Latin-1
                               (ISO-8859-1). UTF-8 ASCII compatible multi-byte 8-bit Unicode.
                               cp866ibm866, 866 DOS-specific Cyrillic charset. cp1251Windows-1251,
                               win-1251, 1251 Windows-specific Cyrillic charset. cp1252Windows-1252,
                               1252 Windows specific charset for Western European. KOI8-Rkoi8-ru,
                               koi8r Russian. BIG5950 Traditional Chinese, mainly used in Taiwan.
                               GB2312936 Simplified Chinese, national standard character set.
                               BIG5-HKSCS Big5 with Hong Kong extensions, Traditional Chinese.
                               Shift_JISSJIS, SJIS-win, cp932, 932 Japanese EUC-JPEUCJP, eucJP-win
                               Japanese MacRoman Charset that was used by Mac OS. <return>''</return> An empty string
                               activates detection from script encoding (Zend multibyte),
                               default_charset and current locale (see <strong>nl_langinfo()</strong> and
                               <strong>setlocale()</strong>), in this order. Not recommended.   Any other character
                               sets are not recognized. The default encoding will be used instead
                               and a warning will be emitted.
                               
                               Any other character sets are not recognized. The default encoding
                               will be used instead and a warning will be emitted.
  <info>bool</info>         <strong>$double_encode</strong>  When <strong>$double_encode</strong> is turned off PHP will not encode existing html
                               entities, the default is to convert everything.

<comment>Return:</comment>
  <info>string</info>  The converted <info>string</info>.
          
          If the input <strong>$string</strong> contains an invalid code unit sequence within the given <strong>$encoding</strong> an
          empty string will be returned, unless either the <info>ENT_IGNORE</info> or <info>ENT_SUBSTITUTE</info> flags are
          set.

<comment>See Also:</comment>
   * <strong>get_html_translation_table()</strong>
   * <strong>htmlspecialchars_decode()</strong>
   * <strong>strip_tags()</strong>
   * <strong>htmlentities()</strong>
   * <strong>nl2br()</strong>


id: htmlspecialchars_decode
type: function
doc:
<comment>Description:</comment>
  Convert special HTML entities back to characters
    
  
  This function is the opposite of <strong>htmlspecialchars()</strong>. It converts special HTML entities back to
  characters.
  
  The converted entities are: , (when <info>ENT_NOQUOTES</info> is not set), <return>&#039;</return> (when <info>ENT_QUOTES</info> is set), and
  .

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  The string to decode.
  <info>int</info>     <strong>$flags</strong>   A bitmask of one or more of the following flags, which specify how to handle
                   quotes and which document type to use. The default is <return>ENT_QUOTES | ENT_SUBSTITUTE
                   | ENT_HTML401</return>. Available <strong>$flags</strong> constantsConstant NameDescription<info>ENT_COMPAT</info>Will
                   convert double-quotes and leave single-quotes alone.<info>ENT_QUOTES</info>Will convert both
                   double and single quotes.<info>ENT_NOQUOTES</info>Will leave both double and single quotes
                   unconverted.<info>ENT_SUBSTITUTE</info> Replace invalid code unit sequences with a Unicode
                   Replacement Character U+FFFD (UTF-8) or &#xFFFD; (otherwise) instead of returning
                   an empty string. <info>ENT_HTML401</info> Handle code as HTML 4.01. <info>ENT_XML1</info> Handle code as
                   XML 1. <info>ENT_XHTML</info> Handle code as XHTML. <info>ENT_HTML5</info> Handle code as HTML 5.

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

<comment>See Also:</comment>
   * <strong>htmlspecialchars()</strong>
   * <strong>html_entity_decode()</strong>
   * <strong>get_html_translation_table()</strong>


id: http_build_query
type: function
doc:
<comment>Description:</comment>
  Generate URL-encoded query string
  
  Generates a URL-encoded query string from the associative (or indexed) array provided.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$data</strong>            May be an array or object containing properties.
                                 
                                 If <strong>$data</strong> is an array, it may be a simple one-dimensional structure,
                                 or an array of arrays (which in turn may contain other arrays).
                                 
                                 If <strong>$data</strong> is an object, then only public properties will be
                                 incorporated into the result.
  <info>string</info>        <strong>$numeric_prefix</strong>  If numeric indices are used in the base array and this parameter is
                                 provided, it will be prepended to the numeric index for elements in
                                 the base array only.
                                 
                                 This is meant to allow for legal variable names when the data is
                                 decoded by PHP or another CGI application later on.
  <info>string|null</info>   <strong>$arg_separator</strong>   The argument separator. If not set or <info>null</info>,  arg_separator.output
                                 is used to separate arguments.
  <info>int</info>           <strong>$encoding_type</strong>   By default, <info>PHP_QUERY_RFC1738</info>.
                                 
                                 If <strong>$encoding_type</strong> is <info>PHP_QUERY_RFC1738</info>, then encoding is performed
                                 per RFC 1738 and the <return>application/x-www-form-urlencoded</return> media type,
                                 which implies that spaces are encoded as plus (<return>+</return>) signs.
                                 
                                 If <strong>$encoding_type</strong> is <info>PHP_QUERY_RFC3986</info>, then encoding is performed
                                 according to RFC 3986, and spaces will be percent encoded (<return>%20</return>).

<comment>Return:</comment>
  <info>string</info>  Returns a URL-encoded string.

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


id: http_response_code
type: function
doc:
<comment>Description:</comment>
  Get or Set the HTTP response code
  
  Gets or sets the HTTP response status code.

<comment>Param:</comment>
  <info>int</info>  <strong>$response_code</strong>  The optional <strong>$response_code</strong> will set the response code.

<comment>Return:</comment>
  <info>int|bool</info>  If <strong>$response_code</strong> is provided, then the previous status code will be returned. If
            <strong>$response_code</strong> is not provided, then the current status code will be returned. Both of
            these values will default to a <return>200</return> status code if used in a web server environment.
            
            <info>false</info> will be returned if <strong>$response_code</strong> is not provided and it is not invoked in a web
            server environment (such as from a CLI application). <info>true</info> will be returned if
            <strong>$response_code</strong> is provided and it is not invoked in a web server environment (but only
            when no previous response status has been set).

<comment>See Also:</comment>
   * <strong>header()</strong>
   * <strong>headers_list()</strong>


id: hypot
type: function
doc:
<comment>Description:</comment>
  Calculate the length of the hypotenuse of a right-angle triangle
    
  
  <strong>hypot()</strong> returns the length of the hypotenuse of a right-angle triangle with sides of length <strong>$x</strong> and
  <strong>$y</strong>, or the distance of the point (<strong>$x</strong>, <strong>$y</strong>) from the origin. This is equivalent to sqrt($x*$x +
  $y*$y).

<comment>Param:</comment>
  <info>float</info>  <strong>$x</strong>  Length of first side
  <info>float</info>  <strong>$y</strong>  Length of second side

<comment>Return:</comment>
  <info>float</info>  Calculated length of the hypotenuse


id: ibase_add_user
type: function
doc:
<comment>Description:</comment>
  Add a user to a security database

<comment>Param:</comment>
  <info>resource</info>  <strong>$service_handle</strong>  The handle on the database server service.
  <info>string</info>    <strong>$user_name</strong>       The login name of the new database user.
  <info>string</info>    <strong>$password</strong>        The password of the new user.
  <info>string</info>    <strong>$first_name</strong>      The first name of the new database user.
  <info>string</info>    <strong>$middle_name</strong>     The middle name of the new database user.
  <info>string</info>    <strong>$last_name</strong>       The last name of the new database user.

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

<comment>See Also:</comment>
   * <strong>ibase_modify_user()</strong>
   * <strong>ibase_delete_user()</strong>


id: ibase_affected_rows
type: function
doc:
<comment>Description:</comment>
  Return the number of rows that were affected by the previous query
  
  This function returns the number of rows that were affected by the previous query (INSERT, UPDATE
  or DELETE) that was executed from within the specified transaction context.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_identifier</strong>  A transaction context. If <strong>$link_identifier</strong> is a connection resource,
                              its default transaction is used.

<comment>Return:</comment>
  <info>int</info>  Returns the number of rows as an integer.

<comment>See Also:</comment>
   * <strong>ibase_query()</strong>
   * <strong>ibase_execute()</strong>


id: ibase_backup
type: function
doc:
<comment>Description:</comment>
  Initiates a backup task in the service manager and returns immediately
  
  This function passes the arguments to the (remote) database server. There it starts a new backup
  process. Therefore you won't get any responses.

<comment>Param:</comment>
  <info>resource</info>  <strong>$service_handle</strong>  A previously opened connection to the database server.
  <info>string</info>    <strong>$source_db</strong>       The absolute file path to the database on the database server. You can
                             also use a database alias.
  <info>string</info>    <strong>$dest_file</strong>       The path to the backup file on the database server.
  <info>int</info>       <strong>$options</strong>         Additional options to pass to the database server for backup. The
                             <strong>$options</strong> parameter can be a combination  of the following constants:
                             <info>IBASE_BKP_IGNORE_CHECKSUMS</info>, <info>IBASE_BKP_IGNORE_LIMBO</info>,
                             <info>IBASE_BKP_METADATA_ONLY</info>, <info>IBASE_BKP_NO_GARBAGE_COLLECT</info>,
                             <info>IBASE_BKP_OLD_DESCRIPTIONS</info>, <info>IBASE_BKP_NON_TRANSPORTABLE</info> or
                             <info>IBASE_BKP_CONVERT</info>. Read the section about  for further information.
  <info>bool</info>      <strong>$verbose</strong>         Since the backup process is done on the database server, you don't have
                             any chance to get its output. This argument is useless.

<comment>Return:</comment>
  <info>mixed</info>  Returns <info>true</info> on success or <info>false</info> on failure.
         
         Since the backup process is done on the (remote) server, this function just passes the
         arguments to it. While the arguments are legal, you won't get <info>false</info>.

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


id: ibase_blob_add
type: function
doc:
<comment>Description:</comment>
  Add data into a newly created blob
  
  <strong>ibase_blob_add()</strong> adds data into a blob created with <strong>ibase_blob_create()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$blob_handle</strong>  A blob handle opened with <strong>ibase_blob_create()</strong>.
  <info>string</info>    <strong>$data</strong>         The data to be added.

<comment>Return:</comment>
  <info>void</info>  No value is returned.

<comment>See Also:</comment>
   * <strong>ibase_blob_cancel()</strong>
   * <strong>ibase_blob_close()</strong>
   * <strong>ibase_blob_create()</strong>
   * <strong>ibase_blob_import()</strong>


id: ibase_blob_cancel
type: function
doc:
<comment>Description:</comment>
  Cancel creating blob
  
  This function will discard a BLOB if it has not yet been closed by <strong>ibase_blob_close()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$blob_handle</strong>  A BLOB handle opened with <strong>ibase_blob_create()</strong>.

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

<comment>See Also:</comment>
   * <strong>ibase_blob_close()</strong>
   * <strong>ibase_blob_create()</strong>
   * <strong>ibase_blob_import()</strong>


id: ibase_blob_close
type: function
doc:
<comment>Description:</comment>
  Close blob
  
  This function closes a BLOB that has either been opened for reading by <strong>ibase_blob_open()</strong> or has
  been opened for writing by <strong>ibase_blob_create()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$blob_handle</strong>  A BLOB handle opened with <strong>ibase_blob_create()</strong> or <strong>ibase_blob_open()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  If the BLOB was being read, this function returns <info>true</info> on success, if the BLOB was being
         written to, this function returns a string containing the BLOB id that has been assigned to
         it by the database. On failure, this function returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>ibase_blob_cancel()</strong>
   * <strong>ibase_blob_open()</strong>


id: ibase_blob_create
type: function
doc:
<comment>Description:</comment>
  Create a new blob for adding data
  
  <strong>ibase_blob_create()</strong> creates a new BLOB for filling with data.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_identifier</strong>  An InterBase link identifier. If omitted, the last opened link is
                              assumed.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a BLOB handle for later use with <strong>ibase_blob_add()</strong> or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ibase_blob_add()</strong>
   * <strong>ibase_blob_cancel()</strong>
   * <strong>ibase_blob_close()</strong>
   * <strong>ibase_blob_import()</strong>


id: ibase_blob_echo
type: function
doc:
<comment>Description:</comment>
  Output blob contents to browser
  
  This function opens a BLOB for reading and sends its contents directly to standard output (the
  browser, in most cases).

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_identifier</strong>  An InterBase link identifier. If omitted, the last opened link is
                              assumed.
  <info>string</info>    <strong>$blob_id</strong>          

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

<comment>See Also:</comment>
   * <strong>ibase_blob_open()</strong>
   * <strong>ibase_blob_close()</strong>
   * <strong>ibase_blob_get()</strong>


id: ibase_blob_get
type: function
doc:
<comment>Description:</comment>
  Get len bytes data from open blob
  
  This function returns at most <strong>$len</strong> bytes from a BLOB that has been opened for reading by
  <strong>ibase_blob_open()</strong>.
  
  It is not possible to read from a BLOB that has been opened for writing by <strong>ibase_blob_create()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$blob_handle</strong>  A BLOB handle opened with <strong>ibase_blob_open()</strong>.
  <info>int</info>       <strong>$len</strong>          Size of returned data.

<comment>Return:</comment>
  <info>string</info>  Returns at most <strong>$len</strong> bytes from the BLOB, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ibase_blob_open()</strong>
   * <strong>ibase_blob_close()</strong>
   * <strong>ibase_blob_echo()</strong>


id: ibase_blob_import
type: function
doc:
<comment>Description:</comment>
  Create blob, copy file in it, and close it
  
  This function creates a BLOB, reads an entire file into it, closes it and returns the assigned
  BLOB id.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_identifier</strong>  An InterBase link identifier. If omitted, the last opened link is
                              assumed.
  <info>resource</info>  <strong>$file_handle</strong>      The file handle is a handle returned by <strong>fopen()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the BLOB id on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>ibase_blob_add()</strong>
   * <strong>ibase_blob_cancel()</strong>
   * <strong>ibase_blob_close()</strong>
   * <strong>ibase_blob_create()</strong>


id: ibase_blob_info
type: function
doc:
<comment>Description:</comment>
  Return blob length and other useful info
  
  Returns the BLOB length and other useful information.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_identifier</strong>  An InterBase link identifier. If omitted, the last opened link is
                              assumed.
  <info>string</info>    <strong>$blob_id</strong>          A BLOB id.

<comment>Return:</comment>
  <info>array</info>  Returns an array containing information about a BLOB. The information returned consists of
         the length of the BLOB, the number of segments it contains, the size of the largest
         segment, and whether it is a stream BLOB or a segmented BLOB.


id: ibase_blob_open
type: function
doc:
<comment>Description:</comment>
  Open blob for retrieving data parts
  
  Opens an existing BLOB for reading.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_identifier</strong>  An InterBase link identifier. If omitted, the last opened link is
                              assumed.
  <info>string</info>    <strong>$blob_id</strong>          A BLOB id.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a BLOB handle for later use with  <strong>ibase_blob_get()</strong> or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>ibase_blob_close()</strong>
   * <strong>ibase_blob_echo()</strong>
   * <strong>ibase_blob_get()</strong>


id: ibase_close
type: function
doc:
<comment>Description:</comment>
  Close a connection to an InterBase database
  
  Closes the link to an InterBase database that's associated with a connection id returned from
  <strong>ibase_connect()</strong>. Default transaction on link is committed, other transactions are rolled back.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection_id</strong>  An InterBase link identifier returned from <strong>ibase_connect()</strong>. If omitted,
                            the last opened link is assumed.

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

<comment>See Also:</comment>
   * <strong>ibase_connect()</strong>
   * <strong>ibase_pconnect()</strong>


id: ibase_commit
type: function
doc:
<comment>Description:</comment>
  Commit a transaction
  
  Commits a transaction.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_or_trans_identifier</strong>  If called without an argument, this function commits the
                                       default transaction of the default link. If the argument is a
                                       connection identifier, the default transaction of the
                                       corresponding connection will be committed. If the argument
                                       is a transaction identifier, the corresponding transaction
                                       will be committed.

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


id: ibase_commit_ret
type: function
doc:
<comment>Description:</comment>
  Commit a transaction without closing it
  
  Commits a transaction without closing it.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_or_trans_identifier</strong>  If called without an argument, this function commits the
                                       default transaction of the default link. If the argument is a
                                       connection identifier, the default transaction of the
                                       corresponding connection will be committed. If the argument
                                       is a transaction identifier, the corresponding transaction
                                       will be committed. The transaction context will be retained,
                                       so statements executed from within this transaction will not
                                       be invalidated.

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


id: ibase_connect
type: function
doc:
<comment>Description:</comment>
  Open a connection to a database
  
  Establishes a connection to an Firebird/InterBase server.
  
  In case a second call is made to <strong>ibase_connect()</strong> with the same arguments, no new link will be
  established, but instead, the link identifier of the already opened link will be returned. The
  link to the server will be closed as soon as the execution of the script ends, unless it's closed
  earlier by explicitly calling <strong>ibase_close()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$database</strong>  The <strong>$database</strong> argument has to be a valid path to database file on the server it
                     resides on. If the server is not local, it must be prefixed with either
                     'hostname:' (TCP/IP), 'hostname/port:' (TCP/IP with interbase server on custom
                     TCP port), '//hostname/' (NetBEUI), depending on the connection protocol used.
  <info>string</info>  <strong>$username</strong>  The user name. Can be set with the <return>ibase.default_user</return> php.ini directive.
  <info>string</info>  <strong>$password</strong>  The password for <strong>$username</strong>. Can be set with the <return>ibase.default_password</return> php.ini
                     directive.
  <info>string</info>  <strong>$charset</strong>   <strong>$charset</strong> is the default character set for a database.
  <info>int</info>     <strong>$buffers</strong>   <strong>$buffers</strong> is the number of database buffers to allocate for the server-side
                     cache. If 0 or omitted, server chooses its own default.
  <info>int</info>     <strong>$dialect</strong>   <strong>$dialect</strong> selects the default SQL dialect for any statement executed within a
                     connection, and it defaults to the highest one supported by client libraries.
  <info>string</info>  <strong>$role</strong>      Functional only with InterBase 5 and up.
  <info>int</info>     <strong>$sync</strong>      

<comment>Return:</comment>
  <info>resource</info>  Returns an Firebird/InterBase link identifier on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>ibase_pconnect()</strong>
   * <strong>ibase_close()</strong>


id: ibase_db_info
type: function
doc:
<comment>Description:</comment>
  Request statistics about a database
  
  This function is
  currently not documented; only its argument list is available.

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


id: ibase_delete_user
type: function
doc:
<comment>Description:</comment>
  Delete a user from a security database

<comment>Param:</comment>
  <info>resource</info>  <strong>$service_handle</strong>  The handle on the database server service.
  <info>string</info>    <strong>$user_name</strong>       The login name of the user you want to delete from the database.

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

<comment>See Also:</comment>
   * <strong>ibase_add_user()</strong>
   * <strong>ibase_modify_user()</strong>


id: ibase_drop_db
type: function
doc:
<comment>Description:</comment>
  Drops a database
  
  This functions drops a database that was opened by either <strong>ibase_connect()</strong> or <strong>ibase_pconnect()</strong>. The
  database is closed and deleted from the server.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  An InterBase link identifier. If omitted, the last opened link is assumed.

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

<comment>See Also:</comment>
   * <strong>ibase_connect()</strong>
   * <strong>ibase_pconnect()</strong>


id: ibase_errcode
type: function
doc:
<comment>Description:</comment>
  Return an error code
  
  Returns the error code that resulted from the most recent InterBase function call.

<comment>Return:</comment>
  <info>int</info>  Returns the error code as an integer, or <info>false</info> if no error occurred.

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


id: ibase_errmsg
type: function
doc:
<comment>Description:</comment>
  Return error messages
  
  Returns the error message that resulted from the most recent InterBase function call.

<comment>Return:</comment>
  <info>string</info>  Returns the error message as a string, or <info>false</info> if no error occurred.

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


id: ibase_execute
type: function
doc:
<comment>Description:</comment>
  Execute a previously prepared query
  
  Execute a query prepared by <strong>ibase_prepare()</strong>.
  
  This is a lot more effective than using <strong>ibase_query()</strong> if you are repeating a same kind of query
  several times with only some parameters changing.

<comment>Param:</comment>
  <info>resource</info>  <strong>$query</strong>   An InterBase query prepared by <strong>ibase_prepare()</strong>.
  <info>mixed</info>     <strong>$values</strong>  

<comment>Return:</comment>
  <info>resource</info>  If the query raises an error, returns <info>false</info>. If it is successful and there is a
            (possibly empty) result set (such as with a SELECT query), returns a result identifier.
            If the query was successful and there were no results, returns <info>true</info>.
            
            This function returns the number of rows affected by the query (if &gt; 0 and applicable
            to the statement type). A query that succeeded, but did not affect any rows (e.g. an
            UPDATE of a non-existent record) will return <info>true</info>.

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


id: ibase_fetch_assoc
type: function
doc:
<comment>Description:</comment>
  Fetch a result row from a query as an associative array
  
  Fetch a result row from a query as an associative array.
  
  <strong>ibase_fetch_assoc()</strong> fetches one row of data from the <strong>$result</strong>.  If two or more columns of the
  result have the same field names, the last column will take precedence. To access the other
  column(s) of the same name, you either need to access the result with numeric indices by using
  <strong>ibase_fetch_row()</strong> or use alias names in your query.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>      The result handle.
  <info>int</info>       <strong>$fetch_flag</strong>  <strong>$fetch_flag</strong> is a combination of the constants <info>IBASE_TEXT</info> and <info>IBASE_UNIXTIME</info>
                         ORed together. Passing <info>IBASE_TEXT</info> will cause this function to return BLOB
                         contents instead of BLOB ids. Passing <info>IBASE_UNIXTIME</info> will cause this
                         function to return date/time values as Unix timestamps instead of as
                         formatted strings.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array that corresponds to the fetched row. Subsequent calls will
         return the next row in the result set, or <info>false</info> if there are no more rows.

<comment>See Also:</comment>
   * <strong>ibase_fetch_row()</strong>
   * <strong>ibase_fetch_object()</strong>


id: ibase_fetch_object
type: function
doc:
<comment>Description:</comment>
  Get an object from a InterBase database
  
  Fetches a row as a pseudo-object from a given result identifier.
  
  Subsequent calls to <strong>ibase_fetch_object()</strong> return the next row in the result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result_id</strong>   An InterBase result identifier obtained either by <strong>ibase_query()</strong> or
                         <strong>ibase_execute()</strong>.
  <info>int</info>       <strong>$fetch_flag</strong>  <strong>$fetch_flag</strong> is a combination of the constants <info>IBASE_TEXT</info> and <info>IBASE_UNIXTIME</info>
                         ORed together. Passing <info>IBASE_TEXT</info> will cause this function to return BLOB
                         contents instead of BLOB ids. Passing <info>IBASE_UNIXTIME</info> will cause this
                         function to return date/time values as Unix timestamps instead of as
                         formatted strings.

<comment>Return:</comment>
  <info>object</info>  Returns an object with the next row information, or <info>false</info> if there are no more rows.

<comment>See Also:</comment>
   * <strong>ibase_fetch_row()</strong>
   * <strong>ibase_fetch_assoc()</strong>


id: ibase_fetch_row
type: function
doc:
<comment>Description:</comment>
  Fetch a row from an InterBase database
  
  <strong>ibase_fetch_row()</strong> fetches one row of data from the given result set.
  
  Subsequent calls to <strong>ibase_fetch_row()</strong> return the next row in the result set, or <info>false</info> if there are
  no more rows.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result_identifier</strong>  An InterBase result identifier.
  <info>int</info>       <strong>$fetch_flag</strong>         <strong>$fetch_flag</strong> is a combination of the constants <info>IBASE_TEXT</info> and
                                <info>IBASE_UNIXTIME</info> ORed together. Passing <info>IBASE_TEXT</info> will cause this
                                function to return BLOB contents instead of BLOB ids. Passing
                                <info>IBASE_UNIXTIME</info> will cause this function to return date/time values
                                as Unix timestamps instead of as formatted strings.

<comment>Return:</comment>
  <info>array</info>  Returns an array that corresponds to the fetched row, or <info>false</info> if there are no more rows.
         Each result column is stored in an array offset, starting at offset 0.

<comment>See Also:</comment>
   * <strong>ibase_fetch_assoc()</strong>
   * <strong>ibase_fetch_object()</strong>


id: ibase_field_info
type: function
doc:
<comment>Description:</comment>
  Get information about a field
  
  Returns an array with information about a field after a select query has been run.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>        An InterBase result identifier.
  <info>int</info>       <strong>$field_number</strong>  Field offset.

<comment>Return:</comment>
  <info>array</info>  Returns an array with the following keys: <return>name</return>, <return>alias</return>, <return>relation</return>, <return>length</return> and <return>type</return>.

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


id: ibase_free_event_handler
type: function
doc:
<comment>Description:</comment>
  Cancels a registered event handler
  
  This function causes the registered event handler specified by <strong>$event</strong> to be cancelled. The
  callback function will no longer be called for the events it was registered to handle.

<comment>Param:</comment>
  <info>resource</info>  <strong>$event</strong>  An event resource, created by <strong>ibase_set_event_handler()</strong>.

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

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


id: ibase_free_query
type: function
doc:
<comment>Description:</comment>
  Free memory allocated by a prepared query
  
  Frees a prepared query.

<comment>Param:</comment>
  <info>resource</info>  <strong>$query</strong>  A query prepared with <strong>ibase_prepare()</strong>.

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


id: ibase_free_result
type: function
doc:
<comment>Description:</comment>
  Free a result set
  
  Frees a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result_identifier</strong>  A result set created by <strong>ibase_query()</strong> or <strong>ibase_execute()</strong>.

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


id: ibase_gen_id
type: function
doc:
<comment>Description:</comment>
  Increments the named generator and returns its new value
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>mixed</info>  Returns new generator value as integer, or as string if the value is too big.


id: ibase_maintain_db
type: function
doc:
<comment>Description:</comment>
  Execute a maintenance command on the database server
  
  This function is
  currently not documented; only its argument list is available.

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


id: ibase_modify_user
type: function
doc:
<comment>Description:</comment>
  Modify a user to a security database

<comment>Param:</comment>
  <info>resource</info>  <strong>$service_handle</strong>  The handle on the database server service.
  <info>string</info>    <strong>$user_name</strong>       The login name of the database user to modify.
  <info>string</info>    <strong>$password</strong>        The user's new password.
  <info>string</info>    <strong>$first_name</strong>      The user's new first name.
  <info>string</info>    <strong>$middle_name</strong>     The user's new middle name.
  <info>string</info>    <strong>$last_name</strong>       The user's new last name.

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

<comment>See Also:</comment>
   * <strong>ibase_add_user()</strong>
   * <strong>ibase_delete_user()</strong>


id: ibase_name_result
type: function
doc:
<comment>Description:</comment>
  Assigns a name to a result set
  
  This function assigns a name to a result set. This name can be used later in UPDATE|DELETE ...
  WHERE CURRENT OF <strong>$name</strong> statements.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result</strong>  An InterBase result set.
  <info>string</info>    <strong>$name</strong>    The name to be assigned.

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

<comment>See Also:</comment>
   * <strong>ibase_prepare()</strong>
   * <strong>ibase_execute()</strong>


id: ibase_num_fields
type: function
doc:
<comment>Description:</comment>
  Get the number of fields in a result set
  
  Get the number of fields in a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$result_id</strong>  An InterBase result identifier.

<comment>Return:</comment>
  <info>int</info>  Returns the number of fields as an integer.

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


id: ibase_num_params
type: function
doc:
<comment>Description:</comment>
  Return the number of parameters in a prepared query
  
  This function returns the number of parameters in the prepared query specified by <strong>$query</strong>. This is
  the number of binding arguments that must be present when calling <strong>ibase_execute()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$query</strong>  The prepared query handle.

<comment>Return:</comment>
  <info>int</info>  Returns the number of parameters as an integer.

<comment>See Also:</comment>
   * <strong>ibase_prepare()</strong>
   * <strong>ibase_param_info()</strong>


id: ibase_param_info
type: function
doc:
<comment>Description:</comment>
  Return information about a parameter in a prepared query
  
  Returns an array with information about a parameter after a query has been prepared.

<comment>Param:</comment>
  <info>resource</info>  <strong>$query</strong>         An InterBase prepared query handle.
  <info>int</info>       <strong>$param_number</strong>  Parameter offset.

<comment>Return:</comment>
  <info>array</info>  Returns an array with the following keys: <return>name</return>, <return>alias</return>, <return>relation</return>, <return>length</return> and <return>type</return>.

<comment>See Also:</comment>
   * <strong>ibase_field_info()</strong>
   * <strong>ibase_num_params()</strong>


id: ibase_pconnect
type: function
doc:
<comment>Description:</comment>
  Open a persistent connection to an InterBase database
  
  Opens a persistent connection to an InterBase database.
  
  <strong>ibase_pconnect()</strong> acts very much like <strong>ibase_connect()</strong> with two major differences.
  
  First, when connecting, the function will first try to find a (persistent) link that's already
  opened with the same parameters. If one is found, an identifier for it will be returned instead of
  opening a new connection.
  
  Second, the connection to the InterBase server will not be closed when the execution of the script
  ends. Instead, the link will remain open for future use (<strong>ibase_close()</strong> will not close links
  established by <strong>ibase_pconnect()</strong>). This type of link is therefore called 'persistent'.

<comment>Param:</comment>
  <info>string</info>  <strong>$database</strong>  The <strong>$database</strong> argument has to be a valid path to database file on the server it
                     resides on. If the server is not local, it must be prefixed with either
                     'hostname:' (TCP/IP), '//hostname/' (NetBEUI) or 'hostname@' (IPX/SPX),
                     depending on the connection protocol used.
  <info>string</info>  <strong>$username</strong>  The user name. Can be set with the <return>ibase.default_user</return> php.ini directive.
  <info>string</info>  <strong>$password</strong>  The password for <strong>$username</strong>. Can be set with the <return>ibase.default_password</return> php.ini
                     directive.
  <info>string</info>  <strong>$charset</strong>   <strong>$charset</strong> is the default character set for a database.
  <info>int</info>     <strong>$buffers</strong>   <strong>$buffers</strong> is the number of database buffers to allocate for the server-side
                     cache. If 0 or omitted, server chooses its own default.
  <info>int</info>     <strong>$dialect</strong>   <strong>$dialect</strong> selects the default SQL dialect for any statement executed within a
                     connection, and it defaults to the highest one supported by client libraries.
                     Functional only with InterBase 6 and up.
  <info>string</info>  <strong>$role</strong>      Functional only with InterBase 5 and up.
  <info>int</info>     <strong>$sync</strong>      

<comment>Return:</comment>
  <info>resource</info>  Returns an InterBase link identifier on success, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>ibase_close()</strong>
   * <strong>ibase_connect()</strong>


id: ibase_prepare
type: function
doc:
<comment>Description:</comment>
  Prepare a query for later binding of parameter placeholders and execution
  
  Prepare a query for later binding of parameter placeholders and execution (via <strong>ibase_execute()</strong>).

<comment>Param:</comment>
  <info>string</info>    <strong>$query</strong>            An InterBase query.
  <info>resource</info>  <strong>$link_identifier</strong>  An InterBase link identifier returned from <strong>ibase_connect()</strong>. If
                              omitted, the last opened link is assumed.
  <info>string</info>    <strong>$trans</strong>            An InterBase transaction handle the query should be associated with.
                              If omitted, the default transaction of the connection is assumed.

<comment>Return:</comment>
  <info>resource</info>  Returns a prepared query handle, or <info>false</info> on error.


id: ibase_query
type: function
doc:
<comment>Description:</comment>
  Execute a query on an InterBase database
  
  Performs a query on an InterBase database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_identifier</strong>  An InterBase link identifier. If omitted, the last opened link is
                              assumed.
  <info>string</info>    <strong>$query</strong>            An InterBase query.
  <info>int</info>       <strong>$bind_args</strong>        

<comment>Return:</comment>
  <info>resource</info>  If the query raises an error, returns <info>false</info>. If it is successful and there is a
            (possibly empty) result set (such as with a SELECT query), returns a result identifier.
            If the query was successful and there were no results, returns <info>true</info>.
            
            In PHP 5.0.0 and up, this function will return the number of rows affected by the query
            for INSERT, UPDATE and DELETE statements. In order to retain backward compatibility, it
            will return <info>true</info> for these statements if the query succeeded without affecting any rows.

<comment>See Also:</comment>
   * <strong>ibase_errmsg()</strong>
   * <strong>ibase_fetch_row()</strong>
   * <strong>ibase_fetch_object()</strong>
   * <strong>ibase_free_result()</strong>


id: ibase_restore
type: function
doc:
<comment>Description:</comment>
  Initiates a restore task in the service manager and returns immediately
  
  This function passes the arguments to the (remote) database server. There it starts a new restore
  process. Therefore you won't get any responses.

<comment>Param:</comment>
  <info>resource</info>  <strong>$service_handle</strong>  A previously opened connection to the database server.
  <info>string</info>    <strong>$source_file</strong>     The absolute path on the server where the backup file is located.
  <info>string</info>    <strong>$dest_db</strong>         The path to create the new database on the server. You can also use
                             database alias.
  <info>int</info>       <strong>$options</strong>         Additional options to pass to the database server for restore. The
                             <strong>$options</strong> parameter can be a combination  of the following constants:
                             <info>IBASE_RES_DEACTIVATE_IDX</info>, <info>IBASE_RES_NO_SHADOW</info>,  <info>IBASE_RES_NO_VALIDITY</info>,
                             <info>IBASE_RES_ONE_AT_A_TIME</info>, <info>IBASE_RES_REPLACE</info>, <info>IBASE_RES_CREATE</info>,
                             <info>IBASE_RES_USE_ALL_SPACE</info>, <info>IBASE_PRP_PAGE_BUFFERS</info>,
                             <info>IBASE_PRP_SWEEP_INTERVAL</info>, <info>IBASE_RES_CREATE</info>. Read the section about  for
                             further information.
  <info>bool</info>      <strong>$verbose</strong>         Since the restore process is done on the database server, you don't
                             have any chance to get its output. This argument is useless.

<comment>Return:</comment>
  <info>mixed</info>  Returns <info>true</info> on success or <info>false</info> on failure.
         
         Since the restore process is done on the (remote) server, this function just passes the
         arguments to it. While the arguments are legal, you won't get <info>false</info>.

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


id: ibase_rollback
type: function
doc:
<comment>Description:</comment>
  Roll back a transaction
  
  Rolls back a transaction.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_or_trans_identifier</strong>  If called without an argument, this function rolls back the
                                       default transaction of the default link. If the argument is a
                                       connection identifier, the default transaction of the
                                       corresponding connection will be rolled back. If the argument
                                       is a transaction identifier, the corresponding transaction
                                       will be rolled back.

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


id: ibase_rollback_ret
type: function
doc:
<comment>Description:</comment>
  Roll back a transaction without closing it
  
  Rolls back a transaction without closing it.

<comment>Param:</comment>
  <info>resource</info>  <strong>$link_or_trans_identifier</strong>  If called without an argument, this function rolls back the
                                       default transaction of the default link. If the argument is a
                                       connection identifier, the default transaction of the
                                       corresponding connection will be rolled back. If the argument
                                       is a transaction identifier, the corresponding transaction
                                       will be rolled back. The transaction context will be
                                       retained, so statements executed from within this transaction
                                       will not be invalidated.

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


id: ibase_server_info
type: function
doc:
<comment>Description:</comment>
  Request information about a database server

<comment>Param:</comment>
  <info>resource</info>  <strong>$service_handle</strong>  A previously created connection to the database server.
  <info>int</info>       <strong>$action</strong>          A valid constant.

<comment>Return:</comment>
  <info>string</info>  Returns mixed types depending on context.


id: ibase_service_attach
type: function
doc:
<comment>Description:</comment>
  Connect to the service manager

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>          The name or ip address of the database host. You can define the port by
                         adding  '/' and port number. If no port is specified, port 3050 will be
                         used.
  <info>string</info>  <strong>$dba_username</strong>  The name of any valid user.
  <info>string</info>  <strong>$dba_password</strong>  The user's password.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a Interbase / Firebird link identifier on success or <info>false</info> on failure.

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


id: ibase_service_detach
type: function
doc:
<comment>Description:</comment>
  Disconnect from the service manager

<comment>Param:</comment>
  <info>resource</info>  <strong>$service_handle</strong>  A previously created connection to the database server.

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


id: ibase_set_event_handler
type: function
doc:
<comment>Description:</comment>
  Register a callback function to be called when events are posted
  
  This function registers a PHP user function as event handler for the specified events.

<comment>Param:</comment>
  <info>callable</info>  <strong>$event_handler</strong>  The callback is called with the event name and the link resource as
                            arguments whenever one of the specified events is posted by the
                            database.
                            
                            The callback must return <info>false</info> if the event handler should be canceled.
                            Any other return value is ignored. This function accepts up to 15 event
                            arguments.
  <info>string</info>    <strong>$event_name</strong>     An event name.
  <info>string</info>    <strong>$event_names</strong>    At most 15 events allowed.

<comment>Return:</comment>
  <info>resource</info>  The return value is an event resource. This resource can be used to free the event
            handler using <strong>ibase_free_event_handler()</strong>.

<comment>See Also:</comment>
   * <strong>ibase_free_event_handler()</strong>
   * <strong>ibase_wait_event()</strong>


id: ibase_trans
type: function
doc:
<comment>Description:</comment>
  Begin a transaction
  
  Begins a transaction.
  
  The first call to <strong>ibase_trans()</strong> will not return the default transaction of a connection. All
  transactions started by <strong>ibase_trans()</strong> will be rolled back at the end of the script if they were
  not committed or rolled back by either <strong>ibase_commit()</strong> or <strong>ibase_rollback()</strong>.
  
  This function will accept multiple <strong>$trans_args</strong> and <strong>$link_identifier</strong> arguments. This allows
  transactions over multiple database connections, which are committed using a 2-phase commit
  algorithm. This means you can rely on the updates to either succeed in every database, or fail in
  every database. It does NOT mean you can use tables from different databases in the same query!
  
  If you use transactions over multiple databases, you will have to specify both the <strong>$link_id</strong> and
  <strong>$transaction_id</strong> in calls to <strong>ibase_query()</strong> and <strong>ibase_prepare()</strong>.

<comment>Param:</comment>
  <info>int</info>       <strong>$trans_args</strong>       <strong>$trans_args</strong> can be a combination of <info>IBASE_READ</info>, <info>IBASE_WRITE</info>,
                              <info>IBASE_COMMITTED</info>,  <info>IBASE_CONSISTENCY</info>, <info>IBASE_CONCURRENCY</info>,
                              <info>IBASE_REC_VERSION</info>,  <info>IBASE_REC_NO_VERSION</info>, <info>IBASE_WAIT</info> and
                              <info>IBASE_NOWAIT</info>.
  <info>resource</info>  <strong>$link_identifier</strong>  An InterBase link identifier. If omitted, the last opened link is
                              assumed.

<comment>Return:</comment>
  <info>resource</info>  Returns a transaction handle, or <info>false</info> on error.


id: ibase_wait_event
type: function
doc:
<comment>Description:</comment>
  Wait for an event to be posted by the database
  
  This function suspends execution of the script until one of the specified events is posted by the
  database. The name of the event that was posted is returned. This function accepts up to 15 event
  arguments.

<comment>Param:</comment>
  <info>string</info>  <strong>$event_name</strong>   The event name.
  <info>string</info>  <strong>$event_names</strong>  

<comment>Return:</comment>
  <info>string</info>  Returns the name of the event that was posted.

<comment>See Also:</comment>
   * <strong>ibase_set_event_handler()</strong>
   * <strong>ibase_free_event_handler()</strong>


id: iconv
type: function
doc:
<comment>Description:</comment>
  Convert a string from one character encoding to another
  
  Converts <strong>$string</strong> from <strong>$from_encoding</strong> to <strong>$to_encoding</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$from_encoding</strong>  The current encoding used to interpret <strong>$string</strong>.
  <info>string</info>  <strong>$to_encoding</strong>    The desired encoding of the result.
                          
                          If the string <return>//TRANSLIT</return> is appended to <strong>$to_encoding</strong>, then transliteration
                          is activated. This means that when a character can't be represented in the
                          target charset, it may be approximated through one or several similarly
                          looking characters. If the string <return>//IGNORE</return> is appended, characters that
                          cannot be represented in the target charset are silently discarded.
                          Otherwise, <info>E_NOTICE</info> is generated and the function will return <info>false</info>.
                          
                          If and how <return>//TRANSLIT</return> works exactly depends on the system's iconv()
                          implementation (cf. <info>ICONV_IMPL</info>). Some implementations are known to ignore
                          <return>//TRANSLIT</return>, so the conversion is likely to fail for characters which are
                          illegal for the <strong>$to_encoding</strong>.
  <info>string</info>  <strong>$string</strong>         The <info>string</info> to be converted.

<comment>Return:</comment>
  <info>string|false</info>  Returns the converted string, or <info>false</info> on failure.

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


id: iconv_get_encoding
type: function
doc:
<comment>Description:</comment>
  Retrieve internal configuration variables of iconv extension
  
  Retrieve internal configuration variables of iconv extension.

<comment>Param:</comment>
  <info>string</info>  <strong>$type</strong>  The value of the optional <strong>$type</strong> can be:
                 allinput_encodingoutput_encodinginternal_encoding

<comment>Return:</comment>
  <info>array|string|false</info>  Returns the current value of the internal configuration variable if successful
                      or <info>false</info> on failure.
                      
                      If <strong>$type</strong> is omitted or set to "all", <strong>iconv_get_encoding()</strong> returns an array
                      that stores all these variables.

<comment>See Also:</comment>
   * <strong>iconv_set_encoding()</strong>
   * <strong>ob_iconv_handler()</strong>


id: iconv_mime_decode
type: function
doc:
<comment>Description:</comment>
  Decodes a MIME header field
  
  Decodes a <return>MIME</return> header field.

<comment>Param:</comment>
  <info>string</info>       <strong>$string</strong>    The encoded header, as a string.
  <info>int</info>          <strong>$mode</strong>      <strong>$mode</strong> determines the behaviour in the event <strong>iconv_mime_decode()</strong> encounters
                          a malformed <return>MIME</return> header field. You can specify any combination of the
                          following bitmasks. Bitmasks acceptable to
                          <strong>iconv_mime_decode()</strong>ValueConstantDescription1ICONV_MIME_DECODE_STRICT If
                          set, the given header is decoded in full conformance with the standards
                          defined in RFC2047. This option is disabled by default because there are a
                          lot of broken mail user agents that don't follow the specification and
                          don't produce correct <return>MIME</return> headers. 2ICONV_MIME_DECODE_CONTINUE_ON_ERROR
                          If set, <strong>iconv_mime_decode_headers()</strong> attempts to ignore any grammatical
                          errors and continue to process a given header.
  <info>string|null</info>  <strong>$encoding</strong>  The optional <strong>$encoding</strong> parameter specifies the character set to represent
                          the result by. If omitted or <info>null</info>, iconv.internal_encoding will be used.

<comment>Return:</comment>
  <info>string|false</info>  Returns a decoded <return>MIME</return> field on success, or <info>false</info> if an error occurs during the
                decoding.

<comment>See Also:</comment>
   * <strong>iconv_mime_decode_headers()</strong>
   * <strong>mb_decode_mimeheader()</strong>
   * <strong>imap_mime_header_decode()</strong>
   * <strong>imap_base64()</strong>
   * <strong>imap_qprint()</strong>


id: iconv_mime_decode_headers
type: function
doc:
<comment>Description:</comment>
  Decodes multiple MIME header fields at once
  
  Decodes multiple <return>MIME</return> header fields at once.

<comment>Param:</comment>
  <info>string</info>       <strong>$headers</strong>   The encoded headers, as a string.
  <info>int</info>          <strong>$mode</strong>      <strong>$mode</strong> determines the behaviour in the event <strong>iconv_mime_decode_headers()</strong>
                          encounters a malformed <return>MIME</return> header field. You can specify any combination
                          of the following bitmasks. Bitmasks acceptable to
                          <strong>iconv_mime_decode_headers()</strong>ValueConstantDescription1ICONV_MIME_DECODE_STRICT
                          If set, the given header is decoded in full conformance with the standards
                          defined in RFC2047. This option is disabled by default because there are a
                          lot of broken mail user agents that don't follow the specification and
                          don't produce correct <return>MIME</return> headers. 2ICONV_MIME_DECODE_CONTINUE_ON_ERROR
                          If set, <strong>iconv_mime_decode_headers()</strong> attempts to ignore any grammatical
                          errors and continue to process a given header.
  <info>string|null</info>  <strong>$encoding</strong>  The optional <strong>$encoding</strong> parameter specifies the character set to represent
                          the result by. If omitted or <info>null</info>, iconv.internal_encoding will be used.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array that holds a whole set of <return>MIME</return> header fields specified
               by <strong>$headers</strong> on success, or <info>false</info> if an error occurs during the decoding.
               
               Each key of the return value represents an individual field name and the
               corresponding element represents a field value. If more than one field of the same
               name are present, <strong>iconv_mime_decode_headers()</strong> automatically incorporates them into a
               numerically indexed array in the order of occurrence. Note that header names are not
               case-insensitive.

<comment>See Also:</comment>
   * <strong>iconv_mime_decode()</strong>
   * <strong>mb_decode_mimeheader()</strong>
   * <strong>imap_mime_header_decode()</strong>
   * <strong>imap_base64()</strong>
   * <strong>imap_qprint()</strong>


id: iconv_mime_encode
type: function
doc:
<comment>Description:</comment>
  Composes a MIME header field
  
  Composes and returns a string that represents a valid <return>MIME</return> header field, which looks like the
  following:  In the above example, "Subject" is the field name and the portion that begins with
  "=?ISO-8859-1?..." is the field value.

<comment>Param:</comment>
  <info>string</info>  <strong>$field_name</strong>   The field name.
  <info>string</info>  <strong>$field_value</strong>  The field value.
  <info>array</info>   <strong>$options</strong>      You can control the behaviour of <strong>iconv_mime_encode()</strong> by specifying an
                        associative array that contains configuration items to the optional third
                        parameter <strong>$options</strong>. The items supported by <strong>iconv_mime_encode()</strong> are listed
                        below. Note that item names are treated case-sensitive. Configuration items
                        supported by <strong>iconv_mime_encode()</strong>ItemTypeDescriptionDefault
                        valueExamplescheme<info>string</info> Specifies the method to encode a field value by.
                        The value of this item may be either "B" or "Q", where "B" stands for <return>base64</return>
                        encoding scheme and "Q" stands for <return>quoted-printable</return> encoding scheme.
                        BBinput-charset<info>string</info> Specifies the character set in which the first
                        parameter <strong>$field_name</strong> and the second parameter <strong>$field_value</strong> are presented.
                        If not given, <strong>iconv_mime_encode()</strong> assumes those parameters are presented to
                        it in the iconv.internal_encoding ini setting.
                        iconv.internal_encodingISO-8859-1output-charset<info>string</info> Specifies the
                        character set to use to compose the <return>MIME</return> header.
                        iconv.internal_encodingUTF-8line-length<info>int</info> Specifies the maximum length of
                        the header lines. The resulting header is "folded" to a set of multiple
                        lines in case the resulting header field would be longer than the value of
                        this parameter, according to RFC2822 - Internet Message Format. If not
                        given, the length will be limited to 76 characters.
                        76996line-break-chars<info>string</info> Specifies the sequence of characters to append
                        to each line as an end-of-line sign when "folding" is performed on a long
                        header field. If not given, this defaults to "\r\n" (<return>CR</return> <return>LF</return>). Note that this
                        parameter is always treated as an ASCII string regardless of the value of
                        <return>input-charset</return>. \r\n\n

<comment>Return:</comment>
  <info>string|false</info>  Returns an encoded <return>MIME</return> field on success, or <info>false</info> if an error occurs during the
                encoding.

<comment>See Also:</comment>
   * <strong>imap_binary()</strong>
   * <strong>mb_encode_mimeheader()</strong>
   * <strong>imap_8bit()</strong>
   * <strong>quoted_printable_encode()</strong>


id: iconv_set_encoding
type: function
doc:
<comment>Description:</comment>
  Set current setting for character encoding conversion
  
  Changes the value of the internal configuration variable specified by <strong>$type</strong> to <strong>$encoding</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$type</strong>      The value of <strong>$type</strong> can be any one of these:
                     input_encodingoutput_encodinginternal_encoding
  <info>string</info>  <strong>$encoding</strong>  The character set.

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

<comment>See Also:</comment>
   * <strong>iconv_get_encoding()</strong>
   * <strong>ob_iconv_handler()</strong>


id: iconv_strlen
type: function
doc:
<comment>Description:</comment>
  Returns the character count of string
  
  In contrast to <strong>strlen()</strong>, <strong>iconv_strlen()</strong> counts the occurrences of characters in the given byte
  sequence <strong>$string</strong> on the basis of the specified character set, the result of which is not
  necessarily identical to the length of the string in byte.

<comment>Param:</comment>
  <info>string</info>       <strong>$string</strong>    The string.
  <info>string|null</info>  <strong>$encoding</strong>  If <strong>$encoding</strong> parameter is omitted or <info>null</info>, <strong>$string</strong> is assumed to be
                          encoded in iconv.internal_encoding.

<comment>Return:</comment>
  <info>int|false</info>  Returns the character count of <strong>$string</strong>, as an integer, or <info>false</info> if an error occurs
             during the encoding.

<comment>See Also:</comment>
   * <strong>grapheme_strlen()</strong>
   * <strong>mb_strlen()</strong>
   * <strong>strlen()</strong>


id: iconv_strpos
type: function
doc:
<comment>Description:</comment>
  Finds position of first occurrence of a needle within a haystack
  
  Finds position of first occurrence of a <strong>$needle</strong> within a <strong>$haystack</strong>.
  
  In contrast to <strong>strpos()</strong>, the return value of <strong>iconv_strpos()</strong> is the number of characters that
  appear before the needle, rather than the offset in bytes to the position where the needle has
  been found. The characters are counted on the basis of the specified character set <strong>$encoding</strong>.

<comment>Param:</comment>
  <info>string</info>       <strong>$haystack</strong>  The entire string.
  <info>string</info>       <strong>$needle</strong>    The searched substring.
  <info>int</info>          <strong>$offset</strong>    The optional <strong>$offset</strong> parameter specifies the position from which the
                          search should be performed. If the offset is negative, it is counted from
                          the end of the string.
  <info>string|null</info>  <strong>$encoding</strong>  If <strong>$encoding</strong> parameter is omitted or <info>null</info>, <strong>$string</strong> are assumed to be
                          encoded in iconv.internal_encoding.

<comment>Return:</comment>
  <info>int|false</info>  Returns the numeric position of the first occurrence of <strong>$needle</strong> in <strong>$haystack</strong>.
             
             If <strong>$needle</strong> is not found, <strong>iconv_strpos()</strong> will return <info>false</info>.
             
             This function may
             return Boolean <info>false</info>, but may also return a non-Boolean value which
             evaluates to <info>false</info>. Please read the section on Booleans for more
             information. Use the ===
             operator for testing the return value of this
             function.

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


id: iconv_strrpos
type: function
doc:
<comment>Description:</comment>
  Finds the last occurrence of a needle within a haystack
  
  Finds the last occurrence of a <strong>$needle</strong> within a <strong>$haystack</strong>.
  
  In contrast to <strong>strrpos()</strong>, the return value of <strong>iconv_strrpos()</strong> is the number of characters that
  appear before the needle, rather than the offset in bytes to the position where the needle has
  been found. The characters are counted on the basis of the specified character set <strong>$encoding</strong>.

<comment>Param:</comment>
  <info>string</info>       <strong>$haystack</strong>  The entire string.
  <info>string</info>       <strong>$needle</strong>    The searched substring.
  <info>string|null</info>  <strong>$encoding</strong>  If <strong>$encoding</strong> parameter is omitted or <info>null</info>, <strong>$string</strong> are assumed to be
                          encoded in iconv.internal_encoding.

<comment>Return:</comment>
  <info>int|false</info>  Returns the numeric position of the last occurrence of <strong>$needle</strong> in <strong>$haystack</strong>.
             
             If <strong>$needle</strong> is not found, <strong>iconv_strrpos()</strong> will return <info>false</info>.
             
             This function may
             return Boolean <info>false</info>, but may also return a non-Boolean value which
             evaluates to <info>false</info>. Please read the section on Booleans for more
             information. Use the ===
             operator for testing the return value of this
             function.

<comment>See Also:</comment>
   * <strong>strrpos()</strong>
   * <strong>iconv_strpos()</strong>
   * <strong>mb_strrpos()</strong>


id: iconv_substr
type: function
doc:
<comment>Description:</comment>
  Cut out part of a string
  
  Cuts a portion of <strong>$string</strong> specified by the  <strong>$offset</strong> and <strong>$length</strong> parameters.

<comment>Param:</comment>
  <info>string</info>       <strong>$string</strong>    The original string.
  <info>int</info>          <strong>$offset</strong>    If <strong>$offset</strong> is non-negative, <strong>iconv_substr()</strong> cuts the portion out of <strong>$string</strong>
                          beginning at <strong>$offset</strong>'th character, counting from zero.
                          
                          If <strong>$offset</strong> is negative, <strong>iconv_substr()</strong> cuts out the portion beginning at
                          the position, <strong>$offset</strong> characters away from the end of <strong>$string</strong>.
  <info>int|null</info>     <strong>$length</strong>    If <strong>$length</strong> is given and is positive, the return value will contain at most
                          <strong>$length</strong> characters of the portion that begins at <strong>$offset</strong> (depending on the
                          length of <strong>$string</strong>).
                          
                          If negative <strong>$length</strong> is passed, <strong>iconv_substr()</strong> cuts the portion out of
                          <strong>$string</strong> from the <strong>$offset</strong>'th character up to the character that is <strong>$length</strong>
                          characters away from the end of the string. In case <strong>$offset</strong> is also
                          negative, the start position is calculated beforehand according to the
                          rule explained above.
  <info>string|null</info>  <strong>$encoding</strong>  If <strong>$encoding</strong> parameter is omitted or <info>null</info>, <strong>$string</strong> are assumed to be
                          encoded in iconv.internal_encoding.
                          
                          Note that <strong>$offset</strong> and <strong>$length</strong> parameters are always deemed to represent
                          offsets that are calculated on the basis of the character set determined
                          by <strong>$encoding</strong>, whilst the counterpart <strong>substr()</strong> always takes these for byte
                          offsets.

<comment>Return:</comment>
  <info>string|false</info>  Returns the portion of <strong>$string</strong> specified by the <strong>$offset</strong> and <strong>$length</strong> parameters.
                
                If <strong>$string</strong> is shorter than <strong>$offset</strong> characters long, <info>false</info> will be returned. If
                <strong>$string</strong> is exactly <strong>$offset</strong> characters long, an empty string will be returned.

<comment>See Also:</comment>
   * <strong>substr()</strong>
   * <strong>mb_substr()</strong>
   * <strong>mb_strcut()</strong>


id: idate
type: function
doc:
<comment>Description:</comment>
  Format a local time/date part as integer
  
  Returns a number formatted according to the given format string using the given integer <strong>$timestamp</strong>
  or the current local time if no timestamp is given. In other words, <strong>$timestamp</strong> is optional and
  defaults to the value of <strong>time()</strong>.
  
  Unlike the function <strong>date()</strong>, <strong>idate()</strong> accepts just one char in the <strong>$format</strong> parameter.

<comment>Param:</comment>
  <info>string</info>    <strong>$format</strong>     The following characters are recognized in the <strong>$format</strong> parameter
                        string<strong>$format</strong> characterDescription<return>B</return>Swatch Beat/Internet Time<return>d</return>Day of the
                        month<return>h</return>Hour (12 hour format)<return>H</return>Hour (24 hour format)<return>i</return>Minutes<return>I</return> (uppercase
                        i)returns <return>1</return> if DST is activated, <return>0</return> otherwise<return>L</return> (uppercase l)returns <return>1</return> for
                        leap year, <return>0</return> otherwise<return>m</return>Month number<return>N</return>ISO-8601 day of the week (<return>1</return> for Monday
                        through <return>7</return> for Sunday)<return>o</return>ISO-8601 year (4 digits)<return>s</return>Seconds<return>t</return>Days in current
                        month<return>U</return>Seconds since the Unix Epoch - January 1 1970 00:00:00 UTC - this is
                        the same as <strong>time()</strong><return>w</return>Day of the week (<return>0</return> on Sunday)<return>W</return>ISO-8601 week number of
                        year, weeks starting on Monday<return>y</return>Year (1 or 2 digits - check note below)<return>Y</return>Year
                        (4 digits)<return>z</return>Day of the year<return>Z</return>Timezone offset in seconds
  <info>int|null</info>  <strong>$timestamp</strong>  The optional <strong>$timestamp</strong> parameter is an
                        <info>int</info> Unix timestamp that defaults to the current
                        local time if <strong>$timestamp</strong> is omitted or <info>null</info>. In other
                        words, it defaults to the value of <strong>time()</strong>.

<comment>Return:</comment>
  <info>int|false</info>  Returns an <info>int</info> on success,  or <info>false</info> on failure.
             
             As <strong>idate()</strong> always returns an <info>int</info> and as they can't start with a "0", <strong>idate()</strong> may return
             fewer digits than you would expect. See the example below.

<comment>See Also:</comment>
   * DateTimeInterface::format
   * <strong>date()</strong>
   * <strong>getdate()</strong>
   * <strong>time()</strong>


id: idn_to_ascii
type: function
doc:
<comment>Description:</comment>
  Convert domain name to IDNA ASCII form
  
  Procedural style
  
  This function converts a Unicode domain name to an IDNA ASCII-compatible format.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain</strong>     The domain to convert, which must be UTF-8 encoded.
  <info>int</info>     <strong>$flags</strong>      Conversion options - combination of IDNA_* constants (except IDNA_ERROR_*
                      constants).
  <info>int</info>     <strong>$variant</strong>    Either <info>INTL_IDNA_VARIANT_2003</info> (deprecated as of PHP 7.2.0) for IDNA 2003 or
                      <info>INTL_IDNA_VARIANT_UTS46</info> (only available as of ICU 4.6) for UTS #46.
  <info>array</info>   <strong>$idna_info</strong>  This parameter can be used only if <info>INTL_IDNA_VARIANT_UTS46</info> was used for
                      <strong>$variant</strong>. In that case, it will be filled with an array with the keys
                      <return>'result'</return>, the possibly illegal result of the transformation,
                      <return>'isTransitionalDifferent'</return>, a boolean indicating whether the usage of the
                      transitional mechanisms of UTS #46 either has or would have changed the result
                      and <return>'errors'</return>, which is an <info>int</info> representing a bitset of the error constants
                      IDNA_ERROR_*.

<comment>Return:</comment>
  <info>string|false</info>  The domain name encoded in ASCII-compatible form,  or <info>false</info> on failure

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


id: idn_to_utf8
type: function
doc:
<comment>Description:</comment>
  Convert domain name from IDNA ASCII to Unicode
  
  Procedural style
  
  This function converts a Unicode domain name from an IDNA ASCII-compatible format to plain
  Unicode, encoded in UTF-8.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain</strong>     Domain to convert in an IDNA ASCII-compatible format.
  <info>int</info>     <strong>$flags</strong>      Conversion options - combination of IDNA_* constants (except IDNA_ERROR_*
                      constants).
  <info>int</info>     <strong>$variant</strong>    Either <info>INTL_IDNA_VARIANT_2003</info> (deprecated as of PHP 7.2.0) for IDNA 2003 or
                      <info>INTL_IDNA_VARIANT_UTS46</info> (only available as of ICU 4.6) for UTS #46.
  <info>array</info>   <strong>$idna_info</strong>  This parameter can be used only if <info>INTL_IDNA_VARIANT_UTS46</info> was used for
                      <strong>$variant</strong>. In that case, it will be filled with an array with the keys
                      <return>'result'</return>, the possibly illegal result of the transformation,
                      <return>'isTransitionalDifferent'</return>, a boolean indicating whether the usage of the
                      transitional mechanisms of UTS #46 either has or would have changed the result
                      and <return>'errors'</return>, which is an <info>int</info> representing a bitset of the error constants
                      IDNA_ERROR_*.

<comment>Return:</comment>
  <info>string|false</info>  The domain name in Unicode, encoded in UTF-8,  or <info>false</info> on failure

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


id: igbinary_serialize
type: function
doc:
<comment>Description:</comment>
  Generates a compact, storable binary representation of a value
  
  Generates a storable representation of a value.
  
  This is useful for storing or passing PHP values around without losing their type and structure.
  
  To make the serialized string into a PHP value again, <strong>igbinary_unserialize()</strong> can be used.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The value to be serialized. <strong>igbinary_serialize()</strong> handles all types, except the
                 <info>resource</info>-type and some <info>object</info>s (see note below). Even <info>array</info>s that contain
                 references to itself can be processed by <strong>igbinary_serialize()</strong>. Circular references
                 inside the <info>array</info> or <info>object</info> that is being serializend will also be stored. Any other
                 reference will be lost.
                 
                 When serializing objects, igbinary will attempt to call the member functions
                 __serialize() or __sleep() prior to serialization. This is to allow the object to
                 do any last minute clean-up, etc. prior to being serialized. Likewise, when the
                 object is restored using <strong>igbinary_unserialize()</strong> the __unserialize() or __wakeup()
                 member function is called.
                 
                 Private members of <info>object</info>s have the class name prepended to the member name;
                 protected members have a <return>'*'</return> prepended to the member name. These prepended values
                 have null bytes on either side.

<comment>Return:</comment>
  <info>string|false</info>  Returns a string containing a byte-stream representation of <strong>$value</strong> that can be
                stored anywhere.
                
                Note that this is a binary string which can include any byte value, and needs to be
                stored and handled as such. For example, <strong>igbinary_serialize()</strong> output should
                generally be stored in a <return>BLOB</return> field in a database, rather than a <return>CHAR</return> or <return>TEXT</return> field.

<comment>See Also:</comment>
   * <strong>serialize()</strong>
   * <strong>igbinary_unserialize()</strong>
   * <strong>var_export()</strong>
   * <strong>json_encode()</strong>
   * Serializing Objects
   * __sleep()
   * __wakeup()
   * __serialize()
   * __unserialize()


id: igbinary_unserialize
type: function
doc:
<comment>Description:</comment>
  Creates a PHP value from a stored representation from igbinary_serialize
    
  
  <strong>igbinary_unserialize()</strong> takes a single serialized variable from <strong>igbinary_serialize()</strong> and converts
  it back into a PHP value.
  
  Untrusted user input must not be passed to <strong>igbinary_unserialize()</strong>. Unserialization can result in
  code being loaded and executed due to object instantiation and autoloading, and a malicious user
  may be able to exploit this. Instead a safe, standard data interchange format such as JSON (via
  <strong>json_decode()</strong> and <strong>json_encode()</strong>) should be used, if serialized data needs to be passed to a
  client.
  
  If there is the need to unserialize externally-stored serialized data, <strong>hash_hmac()</strong> can be used for
  data validation. It is important to ensure that nobody has tampered with the data.
  
  The igbinary serialization format does not provide a way to distinguish between different
  reference groups for the same value. All PHP references to a given value as treated as part of the
  same reference group when unserialized, even if they were parts of difference reference groups
  when serialized.

<comment>Param:</comment>
  <info>string</info>  <strong>$str</strong>  The serialized string generated by <strong>igbinary_serialize()</strong>.
                
                If the value being unserialized is an <info>object</info>, after successfully reconstructing the
                object igbinary will automatically attempt to call the __unserialize() or __wakeup()
                methods (if one exists).
                
                unserialize_callback_func directive It is possible to set a callback function which
                will be called, if an undefined class should be instantiated during unserializing.
                (to prevent getting an incomplete <info>object</info> <return>__PHP_Incomplete_Class</return>.) The php.ini,
                <strong>ini_set()</strong> or .htaccess can be used to define unserialize_callback_func. Everytime an
                undefined class should be instantiated, it will be called. To disable this feature
                this setting should be emptied.
                
                It is possible to set a callback function which will be called, if an undefined
                class should be instantiated during unserializing. (to prevent getting an incomplete
                <info>object</info> <return>__PHP_Incomplete_Class</return>.) The php.ini, <strong>ini_set()</strong> or .htaccess can be used to
                define unserialize_callback_func. Everytime an undefined class should be
                instantiated, it will be called. To disable this feature this setting should be
                emptied.

<comment>Return:</comment>
  <info>mixed</info>  The converted value is returned, and can be a <info>bool</info>, <info>int</info>, <info>float</info>, <info>string</info>, <info>array</info>, <info>object</info>, or
         <info>null</info>.
         
         In case the passed string is not unserializeable, <info>false</info> is returned and <info>E_NOTICE</info> or
         <info>E_WARNING</info> is issued.

<comment>See Also:</comment>
   * <strong>unserialize()</strong>
   * <strong>json_encode()</strong>
   * <strong>json_decode()</strong>
   * <strong>hash_hmac()</strong>
   * <strong>igbinary_serialize()</strong>
   * Autoloading Classes
   * unserialize_callback_func
   * __wakeup()
   * __serialize()
   * __unserialize()


id: ignore_user_abort
type: function
doc:
<comment>Description:</comment>
  Set whether a client disconnect should abort script execution
  
  Sets whether a client disconnect should cause a script to be aborted.
  
  When running PHP as a command line script, and the script's tty goes away without the script being
  terminated then the script will die the next time it tries to write anything, unless <strong>$enable</strong> is
  set to <info>true</info>

<comment>Param:</comment>
  <info>bool|null</info>  <strong>$enable</strong>  If set and not <info>null</info>, this function will set the ignore_user_abort ini setting
                      to the given <strong>$enable</strong>. Otherwise, this function will only return the previous
                      setting without changing it.

<comment>Return:</comment>
  <info>int</info>  Returns the previous setting, as an integer.

<comment>See Also:</comment>
   * <strong>connection_aborted()</strong>
   * <strong>connection_status()</strong>
   * Connection Handling
     for a complete description of connection handling in PHP.
    


id: image2wbmp
type: function
doc:
<comment>Description:</comment>
  Output image to browser or file
  
  <strong>image2wbmp()</strong> outputs or save a WBMP version of the given <strong>$image</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$image</strong>       An image resource, returned by one of the image creation functions, such as
                         <strong>imagecreatetruecolor()</strong>.
  <info>string</info>    <strong>$filename</strong>    Path to the saved file. If not given, the raw image stream will be output
                         directly.
  <info>int</info>       <strong>$foreground</strong>  You can set the foreground color with this parameter by setting an
                         identifier obtained from <strong>imagecolorallocate()</strong>. The default foreground color
                         is black.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.
        
        However, if libgd fails to output the image, this function returns <info>true</info>.

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


id: image_type_to_extension
type: function
doc:
<comment>Description:</comment>
  Get file extension for image type
  
  Returns the extension for the given <return>IMAGETYPE_XXX</return> constant.

<comment>Param:</comment>
  <info>int</info>   <strong>$image_type</strong>   One of the <return>IMAGETYPE_XXX</return> constant.
  <info>bool</info>  <strong>$include_dot</strong>  Whether to prepend a dot to the extension or not. Default to <info>true</info>.

<comment>Return:</comment>
  <info>string|false</info>  A string with the extension corresponding to the given image type,  or <info>false</info> on
                failure.


id: image_type_to_mime_type
type: function
doc:
<comment>Description:</comment>
  Get Mime-Type for image-type returned by getimagesize,
     exif_read_data, exif_thumbnail, exif_imagetype
  
  The <strong>image_type_to_mime_type()</strong> function will determine the Mime-Type for an IMAGETYPE constant.

<comment>Param:</comment>
  <info>int</info>  <strong>$image_type</strong>  One of the <return>IMAGETYPE_XXX</return> constants.

<comment>Return:</comment>
  <info>string</info>  The returned values are as follows Returned values Constants<strong>$image_type</strong>Returned
          value<info>IMAGETYPE_GIF</info><return>image/gif</return><info>IMAGETYPE_JPEG</info><return>image/jpeg</return><info>IMAGETYPE_PNG</info><return>image/png</return><info>IMAGETYPE_SWF</info><return>application/x-shockwave-flash</return><info>IMAGETYPE_PSD</info><return>image/psd</return><info>IMAGETYPE_BMP</info><return>image/bmp</return><info>IMAGETYPE_TIFF_II</info>
          (intel byte order)<return>image/tiff</return><info>IMAGETYPE_TIFF_MM</info> (motorola byte order)
          <return>image/tiff</return><info>IMAGETYPE_JPC</info><return>application/octet-stream</return><info>IMAGETYPE_JP2</info><return>image/jp2</return><info>IMAGETYPE_JPX</info><return>application/octet-stream</return><info>IMAGETYPE_JB2</info><return>application/octet-stream</return><info>IMAGETYPE_SWC</info><return>application/x-shockwave-flash</return><info>IMAGETYPE_IFF</info><return>image/iff</return><info>IMAGETYPE_WBMP</info><return>image/vnd.wap.wbmp</return><info>IMAGETYPE_XBM</info><return>image/xbm</return><info>IMAGETYPE_ICO</info><return>image/vnd.microsoft.icon</return><info>IMAGETYPE_WEBP</info><return>image/webp</return><info>IMAGETYPE_AVIF</info><return>image/avif</return>

<comment>See Also:</comment>
   * <strong>getimagesize()</strong>
   * <strong>exif_imagetype()</strong>
   * <strong>exif_read_data()</strong>
   * <strong>exif_thumbnail()</strong>


id: imageaffine
type: function
doc:
<comment>Description:</comment>
  Return an image containing the affine transformed src image, using an optional clipping area
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>GdImage</info>     <strong>$image</strong>   A <class>GdImage</class> object, returned by one of the image creation functions,
                       such as <strong>imagecreatetruecolor()</strong>.
  <info>array</info>       <strong>$affine</strong>  Array with keys 0 to 5.
  <info>array|null</info>  <strong>$clip</strong>    Array with keys "x", "y", "width" and "height"; or <info>null</info>.

<comment>Return:</comment>
  <info>GdImage|false</info>  Return affined image object on success or <info>false</info> on failure.


id: imageaffinematrixconcat
type: function
doc:
<comment>Description:</comment>
  Concatenate two affine transformation matrices
  
  Returns the concatenation of two affine transformation matrices, what is useful if multiple
  transformations should be applied to the same image in one go.

<comment>Param:</comment>
  <info>array</info>  <strong>$matrix1</strong>  An affine transformation matrix (an array with keys <return>0</return> to <return>5</return> and float values).
  <info>array</info>  <strong>$matrix2</strong>  An affine transformation matrix (an array with keys <return>0</return> to <return>5</return> and float values).

<comment>Return:</comment>
  <info>array|false</info>  An affine transformation matrix (an array with keys <return>0</return> to <return>5</return> and float values) or <info>false</info>
               on failure.

<comment>See Also:</comment>
   * <strong>imageaffine()</strong>
   * <strong>imageaffinematrixget()</strong>


id: imageaffinematrixget
type: function
doc:
<comment>Description:</comment>
  Get an affine transformation matrix
  
  Returns an affine transformation matrix.

<comment>Param:</comment>
  <info>int</info>          <strong>$type</strong>     One of the <info>IMG_AFFINE_*</info> constants.
  <info>array|float</info>  <strong>$options</strong>  If <strong>$type</strong> is <info>IMG_AFFINE_TRANSLATE</info> or <info>IMG_AFFINE_SCALE</info>, <strong>$options</strong> has to be an
                         <info>array</info> with keys <return>x</return> and <return>y</return>, both having <info>float</info> values.
                         
                         If <strong>$type</strong> is <info>IMG_AFFINE_ROTATE</info>, <info>IMG_AFFINE_SHEAR_HORIZONTAL</info> or
                         <info>IMG_AFFINE_SHEAR_VERTICAL</info>, <strong>$options</strong> has to be a <info>float</info> specifying the angle.

<comment>Return:</comment>
  <info>array|false</info>  An affine transformation matrix (an array with keys <return>0</return> to <return>5</return> and float values) or <info>false</info>
               on failure.

<comment>See Also:</comment>
   * <strong>imageaffine()</strong>
   * <strong>imageaffinematrixconcat()</strong>


id: imagealphablending
type: function
doc:
<comment>Description:</comment>
  Set the blending mode for an image
  
  <strong>imagealphablending()</strong> allows for two different modes of drawing on truecolor images. In blending
  mode, the alpha channel component of the color supplied to all drawing function, such as
  <strong>imagesetpixel()</strong> determines how much of the underlying color should be allowed to shine through.
  As a result, gd automatically blends the existing color at that point with the drawing color, and
  stores the result in the image.  The resulting pixel is opaque.  In non-blending mode, the drawing
  color is copied literally with its alpha channel information, replacing the destination pixel.
  Blending mode is not available when drawing on palette images.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>   A <class>GdImage</class> object, returned by one of the image creation functions,
                    such as <strong>imagecreatetruecolor()</strong>.
  <info>bool</info>     <strong>$enable</strong>  Whether to enable the blending mode or not. On true color images  the default
                    value is <info>true</info> otherwise the default value is <info>false</info>

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


id: imageantialias
type: function
doc:
<comment>Description:</comment>
  Should antialias functions be used or not
  
  Activate the fast drawing antialiased methods for lines and wired polygons. It does not support
  alpha components. It works using a direct blend operation. It works only with truecolor images.
  
  Thickness and styled are not supported.
  
  Using antialiased primitives with transparent background color can end with some unexpected
  results. The blend method uses the background color as any other colors. The lack of alpha
  component support does not allow an alpha based antialiasing method.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>   A <class>GdImage</class> object, returned by one of the image creation functions,
                    such as <strong>imagecreatetruecolor()</strong>.
  <info>bool</info>     <strong>$enable</strong>  Whether to enable antialiasing or not.

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

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


id: imagearc
type: function
doc:
<comment>Description:</comment>
  Draws an arc
  
  <strong>imagearc()</strong> draws an arc of circle centered at the given coordinates.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>        A <class>GdImage</class> object, returned by one of the image creation functions,
                         such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$center_x</strong>     x-coordinate of the center.
  <info>int</info>      <strong>$center_y</strong>     y-coordinate of the center.
  <info>int</info>      <strong>$width</strong>        The arc width.
  <info>int</info>      <strong>$height</strong>       The arc height.
  <info>int</info>      <strong>$start_angle</strong>  The arc start angle, in degrees.
  <info>int</info>      <strong>$end_angle</strong>    The arc end angle, in degrees. 0° is located at the three-o'clock position,
                         and the arc is drawn clockwise.
  <info>int</info>      <strong>$color</strong>        A color identifier created with <strong>imagecolorallocate()</strong>.

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

<comment>See Also:</comment>
   * <strong>imagefilledarc()</strong>
   * <strong>imageellipse()</strong>
   * <strong>imagefilledellipse()</strong>


id: imageavif
type: function
doc:
<comment>Description:</comment>
  Output image to browser or file
  
  Outputs or saves a AVIF Raster image from the given <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>               <strong>$image</strong>    A <class>GdImage</class> object, returned by one of the image creation functions,
                                  such as <strong>imagecreatetruecolor()</strong>.
  <info>resource|string|null</info>  <strong>$file</strong>     The path or an open stream resource (which is automatically closed
                                  after this function returns) to save the file to. If not set or
                                  <info>null</info>, the raw image stream will be output directly.
  <info>int</info>                   <strong>$quality</strong>  <strong>$quality</strong> is optional, and ranges from 0 (worst quality, smaller
                                  file) to 100 (best quality, larger file). If <return>-1</return> is provided, the
                                  default value <return>30</return> is used.
  <info>int</info>                   <strong>$speed</strong>    <strong>$speed</strong> is optional, and ranges from 0 (slow, smaller file) to 10
                                  (fast, larger file). If <return>-1</return> is provided, the default value <return>6</return> is
                                  used.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.
        
        However, if libgd fails to output the image, this function returns <info>true</info>.

<comment>See Also:</comment>
   * <strong>imagepng()</strong>
   * <strong>imagewbmp()</strong>
   * <strong>imagejpeg()</strong>
   * <strong>imagetypes()</strong>


id: imagebmp
type: function
doc:
<comment>Description:</comment>
  Output a BMP image to browser or file
  
  Outputs or saves a BMP version of the given <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>               <strong>$image</strong>       A <class>GdImage</class> object, returned by one of the image creation
                                     functions,
                                     such as <strong>imagecreatetruecolor()</strong>.
  <info>resource|string|null</info>  <strong>$file</strong>        The path or an open stream resource (which is automatically
                                     closed after this function returns) to save the file to. If not
                                     set or <info>null</info>, the raw image stream will be output directly.
                                     
                                     <info>null</info> is invalid if the <strong>$compressed</strong> arguments is not used.
  <info>bool</info>                  <strong>$compressed</strong>  Whether the BMP should be compressed with run-length encoding
                                     (RLE), or not.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.
        
        However, if libgd fails to output the image, this function returns <info>true</info>.


id: imagechar
type: function
doc:
<comment>Description:</comment>
  Draw a character horizontally
  
  <strong>imagechar()</strong> draws the first character of <strong>$char</strong> in the image identified by <strong>$image</strong> with its
  upper-left at <strong>$x</strong>,<strong>$y</strong> (top left is 0, 0) with the color <strong>$color</strong>.

<comment>Param:</comment>
  <info>GdImage</info>     <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                      such as <strong>imagecreatetruecolor()</strong>.
  <info>GdFont|int</info>  <strong>$font</strong>   Can be 1, 2, 3, 4, 5 for built-in
                      fonts in latin2 encoding (where higher numbers corresponding to larger fonts)
                      or <class>GdFont</class> instance,
                      returned by <strong>imageloadfont()</strong>.
  <info>int</info>         <strong>$x</strong>      x-coordinate of the start.
  <info>int</info>         <strong>$y</strong>      y-coordinate of the start.
  <info>string</info>      <strong>$char</strong>   The character to draw.
  <info>int</info>         <strong>$color</strong>  A color identifier created with <strong>imagecolorallocate()</strong>.

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

<comment>See Also:</comment>
   * <strong>imagecharup()</strong>
   * <strong>imageloadfont()</strong>


id: imagecharup
type: function
doc:
<comment>Description:</comment>
  Draw a character vertically
  
  Draws the character <strong>$char</strong> vertically at the specified coordinate on the given <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>     <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                      such as <strong>imagecreatetruecolor()</strong>.
  <info>GdFont|int</info>  <strong>$font</strong>   Can be 1, 2, 3, 4, 5 for built-in
                      fonts in latin2 encoding (where higher numbers corresponding to larger fonts)
                      or <class>GdFont</class> instance,
                      returned by <strong>imageloadfont()</strong>.
  <info>int</info>         <strong>$x</strong>      x-coordinate of the start.
  <info>int</info>         <strong>$y</strong>      y-coordinate of the start.
  <info>string</info>      <strong>$char</strong>   The character to draw.
  <info>int</info>         <strong>$color</strong>  A color identifier created with <strong>imagecolorallocate()</strong>.

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

<comment>See Also:</comment>
   * <strong>imagechar()</strong>
   * <strong>imageloadfont()</strong>


id: imagecolorallocate
type: function
doc:
<comment>Description:</comment>
  Allocate a color for an image
  
  Returns a color identifier representing the color composed of the given RGB components.
  
  <strong>imagecolorallocate()</strong> must be called to create each color that is to be used in the image
  represented by <strong>$image</strong>.
  
  The first call to <strong>imagecolorallocate()</strong> fills the background color in palette-based images - images
  created using <strong>imagecreate()</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.

<comment>Return:</comment>
  <info>int|false</info>  A color identifier or <info>false</info> if the allocation failed.
             
             This function may
             return Boolean <info>false</info>, but may also return a non-Boolean value which
             evaluates to <info>false</info>. Please read the section on Booleans for more
             information. Use the ===
             operator for testing the return value of this
             function.

<comment>See Also:</comment>
   * <strong>imagecolorallocatealpha()</strong>
   * <strong>imagecolordeallocate()</strong>


id: imagecolorallocatealpha
type: function
doc:
<comment>Description:</comment>
  Allocate a color for an image
  
  <strong>imagecolorallocatealpha()</strong> behaves identically to <strong>imagecolorallocate()</strong> with the addition of the
  transparency parameter <strong>$alpha</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.
  <info>int</info>      <strong>$alpha</strong>  A value between <return>0</return> and <return>127</return>. <return>0</return> indicates completely opaque while  <return>127</return> indicates
                   completely transparent.

<comment>Return:</comment>
  <info>int|false</info>  A color identifier or <info>false</info> if the allocation failed.
             
             This function may
             return Boolean <info>false</info>, but may also return a non-Boolean value which
             evaluates to <info>false</info>. Please read the section on Booleans for more
             information. Use the ===
             operator for testing the return value of this
             function.

<comment>See Also:</comment>
   * <strong>imagecolorallocate()</strong>
   * <strong>imagecolordeallocate()</strong>


id: imagecolorat
type: function
doc:
<comment>Description:</comment>
  Get the index of the color of a pixel
  
  Returns the index of the color of the pixel at the specified location in the image specified by
  <strong>$image</strong>.
  
  If the image is a truecolor image, this function returns the RGB value of that pixel as integer.
  Use bitshifting and masking to access the distinct red, green and blue component values:

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$x</strong>      x-coordinate of the point.
  <info>int</info>      <strong>$y</strong>      y-coordinate of the point.

<comment>Return:</comment>
  <info>int|false</info>  Returns the index of the color  or <info>false</info> on failure.
             
             This function may
             return Boolean <info>false</info>, but may also return a non-Boolean value which
             evaluates to <info>false</info>. Please read the section on Booleans for more
             information. Use the ===
             operator for testing the return value of this
             function.

<comment>See Also:</comment>
   * <strong>imagecolorset()</strong>
   * <strong>imagecolorsforindex()</strong>
   * <strong>imagesetpixel()</strong>


id: imagecolorclosest
type: function
doc:
<comment>Description:</comment>
  Get the index of the closest color to the specified color
  
  Returns the index of the color in the palette of the image which is "closest" to the specified RGB
  value.
  
  The "distance" between the desired color and each color in the palette is calculated as if the RGB
  values represented points in three-dimensional space.
  
  If you created the image from a file, only colors used in the image are resolved. Colors present
  only in the palette are not resolved.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.

<comment>Return:</comment>
  <info>int</info>  Returns the index of the closest color, in the palette of the image, to the specified one

<comment>See Also:</comment>
   * <strong>imagecolorexact()</strong>
   * <strong>imagecolorclosestalpha()</strong>
   * <strong>imagecolorclosesthwb()</strong>


id: imagecolorclosestalpha
type: function
doc:
<comment>Description:</comment>
  Get the index of the closest color to the specified color + alpha
  
  Returns the index of the color in the palette of the image which is "closest" to the specified RGB
  value and  <strong>$alpha</strong> level.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.
  <info>int</info>      <strong>$alpha</strong>  A value between <return>0</return> and <return>127</return>. <return>0</return> indicates completely opaque while  <return>127</return> indicates
                   completely transparent.

<comment>Return:</comment>
  <info>int</info>  Returns the index of the closest color in the palette.

<comment>See Also:</comment>
   * <strong>imagecolorexactalpha()</strong>
   * <strong>imagecolorclosest()</strong>
   * <strong>imagecolorclosesthwb()</strong>


id: imagecolorclosesthwb
type: function
doc:
<comment>Description:</comment>
  Get the index of the color which has the hue, white and blackness
  
  Get the index of the color which has the hue,  white and blackness nearest the given color.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.

<comment>Return:</comment>
  <info>int</info>  Returns an integer with the index of the color which has  the hue, white and blackness
       nearest the given color.

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


id: imagecolordeallocate
type: function
doc:
<comment>Description:</comment>
  De-allocate a color for an image
  
  De-allocates a color previously allocated with  <strong>imagecolorallocate()</strong> or <strong>imagecolorallocatealpha()</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$color</strong>  The color identifier.

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

<comment>See Also:</comment>
   * <strong>imagecolorallocate()</strong>
   * <strong>imagecolorallocatealpha()</strong>


id: imagecolorexact
type: function
doc:
<comment>Description:</comment>
  Get the index of the specified color
  
  Returns the index of the specified color in the palette of the image.
  
  If you created the image from a file, only colors used in the image are resolved. Colors present
  only in the palette are not resolved.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.

<comment>Return:</comment>
  <info>int</info>  Returns the index of the specified color in the palette, or -1 if the color does not exist.

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


id: imagecolorexactalpha
type: function
doc:
<comment>Description:</comment>
  Get the index of the specified color + alpha
  
  Returns the index of the specified color+alpha in the palette of the image.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.
  <info>int</info>      <strong>$alpha</strong>  A value between <return>0</return> and <return>127</return>. <return>0</return> indicates completely opaque while  <return>127</return> indicates
                   completely transparent.

<comment>Return:</comment>
  <info>int</info>  Returns the index of the specified color+alpha in the palette of the image, or -1 if the
       color does not exist in the image's palette.

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


id: imagecolormatch
type: function
doc:
<comment>Description:</comment>
  Makes the colors of the palette version of an image more closely match the true color version
  
  Makes the colors of the palette version of an image more closely match the true color version.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image1</strong>  A truecolor image object.
  <info>GdImage</info>  <strong>$image2</strong>  A palette image object pointing to an image that has the same size as <strong>$image1</strong>.

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

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


id: imagecolorresolve
type: function
doc:
<comment>Description:</comment>
  Get the index of the specified color or its closest possible alternative
  
  This function is guaranteed to return a color index for a requested color, either the exact color
  or the closest possible alternative.
  
  If you created the image from a file, only colors used in the image are resolved. Colors present
  only in the palette are not resolved.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.

<comment>Return:</comment>
  <info>int</info>  Returns a color index.

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


id: imagecolorresolvealpha
type: function
doc:
<comment>Description:</comment>
  Get the index of the specified color + alpha or its closest possible alternative
  
  This function is guaranteed to return a color index for a requested color, either the exact color
  or the closest possible alternative.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.
  <info>int</info>      <strong>$alpha</strong>  A value between <return>0</return> and <return>127</return>. <return>0</return> indicates completely opaque while  <return>127</return> indicates
                   completely transparent.

<comment>Return:</comment>
  <info>int</info>  Returns a color index.

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


id: imagecolorset
type: function
doc:
<comment>Description:</comment>
  Set the color for the specified palette index
  
  This sets the specified index in the palette to the specified color. This is useful for creating
  flood-fill-like effects in palleted images without the overhead of performing the actual
  flood-fill.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$color</strong>  An index in the palette.
  <info>int</info>      <strong>$red</strong>    Value of red component.
  <info>int</info>      <strong>$green</strong>  Value of green component.
  <info>int</info>      <strong>$blue</strong>   Value of blue component.
  <info>int</info>      <strong>$alpha</strong>  Value of alpha component.

<comment>Return:</comment>
  <info>false|null</info>  The function returns <info>null</info> on success,  or <info>false</info> on failure.

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


id: imagecolorsforindex
type: function
doc:
<comment>Description:</comment>
  Get the colors for an index
  
  Gets the color for a specified index.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$color</strong>  The color index.

<comment>Return:</comment>
  <info>array</info>  Returns an associative array with red, green, blue and alpha keys that contain the
         appropriate values for the specified color index.

<comment>See Also:</comment>
   * <strong>imagecolorat()</strong>
   * <strong>imagecolorexact()</strong>


id: imagecolorstotal
type: function
doc:
<comment>Description:</comment>
  Find out the number of colors in an image's palette
  
  Returns the number of colors in an image palette.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the number of colors in the specified image's palette or 0 for truecolor images.

<comment>See Also:</comment>
   * <strong>imagecolorat()</strong>
   * <strong>imagecolorsforindex()</strong>
   * <strong>imageistruecolor()</strong>


id: imagecolortransparent
type: function
doc:
<comment>Description:</comment>
  Define a color as transparent
  
  Gets or sets the transparent color in the given <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>   <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                    such as <strong>imagecreatetruecolor()</strong>.
  <info>int|null</info>  <strong>$color</strong>  A color identifier created with <strong>imagecolorallocate()</strong>.

<comment>Return:</comment>
  <info>int</info>  The identifier of the new (or current, if none is specified) transparent color is returned.
       If <strong>$color</strong> is <info>null</info>, and the image has no transparent color, the returned identifier will be
       <return>-1</return>.


id: imageconvolution
type: function
doc:
<comment>Description:</comment>
  Apply a 3x3 convolution matrix, using coefficient and offset
  
  Applies a convolution matrix on the image, using the given coefficient and offset.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>    A <class>GdImage</class> object, returned by one of the image creation functions,
                     such as <strong>imagecreatetruecolor()</strong>.
  <info>array</info>    <strong>$matrix</strong>   A 3x3 matrix: an array of three arrays of three floats.
  <info>float</info>    <strong>$divisor</strong>  The divisor of the result of the convolution, used for normalization.
  <info>float</info>    <strong>$offset</strong>   Color offset.

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

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


id: imagecopy
type: function
doc:
<comment>Description:</comment>
  Copy part of an image
  
  Copy a part of <strong>$src_image</strong> onto <strong>$dst_image</strong> starting at the x,y coordinates <strong>$src_x</strong>, <strong>$src_y </strong> with a
  width of <strong>$src_width</strong> and a height of <strong>$src_height</strong>.  The portion defined will be copied onto the x,y
  coordinates, <strong>$dst_x</strong> and <strong>$dst_y</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$dst_image</strong>   Destination image resource.
  <info>GdImage</info>  <strong>$src_image</strong>   Source image resource.
  <info>int</info>      <strong>$dst_x</strong>       x-coordinate of destination point.
  <info>int</info>      <strong>$dst_y</strong>       y-coordinate of destination point.
  <info>int</info>      <strong>$src_x</strong>       x-coordinate of source point.
  <info>int</info>      <strong>$src_y</strong>       y-coordinate of source point.
  <info>int</info>      <strong>$src_width</strong>   Source width.
  <info>int</info>      <strong>$src_height</strong>  Source height.

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

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


id: imagecopymerge
type: function
doc:
<comment>Description:</comment>
  Copy and merge part of an image
  
  Copy a part of <strong>$src_image</strong> onto <strong>$dst_image</strong> starting at the x,y coordinates <strong>$src_x</strong>, <strong>$src_y </strong> with a
  width of <strong>$src_width</strong> and a height of <strong>$src_height</strong>.  The portion defined will be copied onto the x,y
  coordinates, <strong>$dst_x</strong> and <strong>$dst_y</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$dst_image</strong>   Destination image resource.
  <info>GdImage</info>  <strong>$src_image</strong>   Source image resource.
  <info>int</info>      <strong>$dst_x</strong>       x-coordinate of destination point.
  <info>int</info>      <strong>$dst_y</strong>       y-coordinate of destination point.
  <info>int</info>      <strong>$src_x</strong>       x-coordinate of source point.
  <info>int</info>      <strong>$src_y</strong>       y-coordinate of source point.
  <info>int</info>      <strong>$src_width</strong>   Source width.
  <info>int</info>      <strong>$src_height</strong>  Source height.
  <info>int</info>      <strong>$pct</strong>         The two images will be merged according to <strong>$pct</strong> which can range from 0 to
                        100.  When <strong>$pct</strong> = 0, no action is taken, when 100 this function behaves
                        identically to <strong>imagecopy()</strong> for pallete images, except for ignoring alpha
                        components, while it implements alpha transparency for true colour images.

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


id: imagecopymergegray
type: function
doc:
<comment>Description:</comment>
  Copy and merge part of an image with gray scale
  
  <strong>imagecopymergegray()</strong> copy a part of <strong>$src_image</strong> onto <strong>$dst_image</strong> starting at the x,y coordinates
  <strong>$src_x</strong>, <strong>$src_y </strong> with a width of <strong>$src_width</strong> and a height of <strong>$src_height</strong>.  The portion defined will
  be copied onto the x,y coordinates, <strong>$dst_x</strong> and <strong>$dst_y</strong>.
  
  This function is identical to <strong>imagecopymerge()</strong> except that when merging it preserves the hue of
  the source by converting the destination pixels to gray scale before the copy operation.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$dst_image</strong>   Destination image resource.
  <info>GdImage</info>  <strong>$src_image</strong>   Source image resource.
  <info>int</info>      <strong>$dst_x</strong>       x-coordinate of destination point.
  <info>int</info>      <strong>$dst_y</strong>       y-coordinate of destination point.
  <info>int</info>      <strong>$src_x</strong>       x-coordinate of source point.
  <info>int</info>      <strong>$src_y</strong>       y-coordinate of source point.
  <info>int</info>      <strong>$src_width</strong>   Source width.
  <info>int</info>      <strong>$src_height</strong>  Source height.
  <info>int</info>      <strong>$pct</strong>         The <strong>$src_image</strong> will be changed to grayscale according  to <strong>$pct</strong> where 0 is
                        fully grayscale and 100 is  unchanged. When <strong>$pct</strong> = 100 this function behaves
                        identically to <strong>imagecopy()</strong> for pallete images, except for ignoring alpha
                        components, while it implements alpha transparency for true colour images.

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


id: imagecopyresampled
type: function
doc:
<comment>Description:</comment>
  Copy and resize part of an image with resampling
  
  <strong>imagecopyresampled()</strong> copies a rectangular portion of one image to another image, smoothly
  interpolating pixel values so that, in particular, reducing the size of an image still retains a
  great deal of clarity.
  
  In other words, <strong>imagecopyresampled()</strong> will take a  rectangular area from <strong>$src_image</strong> of width
  <strong>$src_width</strong> and height <strong>$src_height</strong> at  position (<strong>$src_x</strong>,<strong>$src_y</strong>)  and place it in a rectangular area
  of <strong>$dst_image</strong>  of width <strong>$dst_width</strong> and height <strong>$dst_height</strong> at position (<strong>$dst_x</strong>,<strong>$dst_y</strong>).
  
  If the source and destination coordinates and width and heights differ, appropriate stretching or
  shrinking of the image fragment will be performed. The coordinates refer to the upper left corner.
  This function can be used to copy regions within the same image (if <strong>$dst_image</strong> is the same as
  <strong>$src_image</strong>) but if the regions overlap the results will be unpredictable.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$dst_image</strong>   Destination image resource.
  <info>GdImage</info>  <strong>$src_image</strong>   Source image resource.
  <info>int</info>      <strong>$dst_x</strong>       x-coordinate of destination point.
  <info>int</info>      <strong>$dst_y</strong>       y-coordinate of destination point.
  <info>int</info>      <strong>$src_x</strong>       x-coordinate of source point.
  <info>int</info>      <strong>$src_y</strong>       y-coordinate of source point.
  <info>int</info>      <strong>$dst_width</strong>   Destination width.
  <info>int</info>      <strong>$dst_height</strong>  Destination height.
  <info>int</info>      <strong>$src_width</strong>   Source width.
  <info>int</info>      <strong>$src_height</strong>  Source height.

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

<comment>See Also:</comment>
   * <strong>imagecopyresized()</strong>
   * <strong>imagescale()</strong>
   * <strong>imagecrop()</strong>


id: imagecopyresized
type: function
doc:
<comment>Description:</comment>
  Copy and resize part of an image
  
  <strong>imagecopyresized()</strong> copies a rectangular portion of one image to another image. <strong>$dst_image</strong> is the
  destination image, <strong>$src_image</strong> is the source image identifier.
  
  In other words, <strong>imagecopyresized()</strong> will take a  rectangular area from <strong>$src_image</strong> of width
  <strong>$src_width</strong> and height <strong>$src_height</strong> at  position (<strong>$src_x</strong>,<strong>$src_y</strong>)  and place it in a rectangular area
  of <strong>$dst_image</strong>  of width <strong>$dst_width</strong> and height <strong>$dst_height</strong> at position (<strong>$dst_x</strong>,<strong>$dst_y</strong>).
  
  If the source and destination coordinates and width and heights differ, appropriate stretching or
  shrinking of the image fragment will be performed. The coordinates refer to the upper left corner.
  This function can be used to copy regions within the same image (if <strong>$dst_image</strong> is the same as
  <strong>$src_image</strong>) but if the regions overlap the results will be unpredictable.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$dst_image</strong>   Destination image resource.
  <info>GdImage</info>  <strong>$src_image</strong>   Source image resource.
  <info>int</info>      <strong>$dst_x</strong>       x-coordinate of destination point.
  <info>int</info>      <strong>$dst_y</strong>       y-coordinate of destination point.
  <info>int</info>      <strong>$src_x</strong>       x-coordinate of source point.
  <info>int</info>      <strong>$src_y</strong>       y-coordinate of source point.
  <info>int</info>      <strong>$dst_width</strong>   Destination width.
  <info>int</info>      <strong>$dst_height</strong>  Destination height.
  <info>int</info>      <strong>$src_width</strong>   Source width.
  <info>int</info>      <strong>$src_height</strong>  Source height.

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

<comment>See Also:</comment>
   * <strong>imagecopyresampled()</strong>
   * <strong>imagescale()</strong>
   * <strong>imagecrop()</strong>


id: imagecreate
type: function
doc:
<comment>Description:</comment>
  Create a new palette based image
  
  <strong>imagecreate()</strong> returns an image identifier representing a blank image of specified size.
  
  In general, we recommend the use of <strong>imagecreatetruecolor()</strong> instead of <strong>imagecreate()</strong> so that image
  processing occurs on the highest quality image possible. If you want to output a palette image,
  then <strong>imagetruecolortopalette()</strong> should be called immediately before saving the image with
  <strong>imagepng()</strong> or <strong>imagegif()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$width</strong>   The image width.
  <info>int</info>  <strong>$height</strong>  The image height.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.

<comment>See Also:</comment>
   * <strong>imagedestroy()</strong>
   * <strong>imagecreatetruecolor()</strong>


id: imagecreatefromavif
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefromavif()</strong> returns an image object representing the image obtained from the given
  filename.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the AVIF raster image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefrombmp
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefrombmp()</strong> returns an image identifier representing the image obtained from the given
  filename.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the BMP image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromgd
type: function
doc:
<comment>Description:</comment>
  Create a new image from GD file or URL
  
  Create a new image from GD file or URL.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

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

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromgd2
type: function
doc:
<comment>Description:</comment>
  Create a new image from GD2 file or URL
  
  Create a new image from GD2 file or URL.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the GD2 image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromgd2part
type: function
doc:
<comment>Description:</comment>
  Create a new image from a given part of GD2 file or URL
  
  Create a new image from a given part of GD2 file or URL.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the GD2 image.
  <info>int</info>     <strong>$x</strong>         x-coordinate of source point.
  <info>int</info>     <strong>$y</strong>         y-coordinate of source point.
  <info>int</info>     <strong>$width</strong>     Source width.
  <info>int</info>     <strong>$height</strong>    Source height.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromgif
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefromgif()</strong> returns an image identifier representing the image obtained from the given
  filename.
  
  When reading GIF files into memory, only the first frame  is returned in the image object. The
  size of the image is not necessarily what is reported by <strong>getimagesize()</strong>.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the GIF image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromjpeg
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefromjpeg()</strong> returns an image identifier representing the image obtained from the given
  filename.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the JPEG image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefrompng
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefrompng()</strong> returns an image identifier representing the image obtained from the given
  filename.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the PNG image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromstring
type: function
doc:
<comment>Description:</comment>
  Create a new image from the image stream in the string
  
  <strong>imagecreatefromstring()</strong> returns an image identifier representing the image obtained from the given
  <strong>$data</strong>. These types will be automatically detected if your build of PHP supports  them: JPEG, PNG,
  GIF, BMP, WBMP, GD2, and WEBP.

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  A string containing the image data.

<comment>Return:</comment>
  <info>GdImage|false</info>  An image object will be returned on success. <info>false</info> is returned if the image type is
                 unsupported, the data is not in a recognised format, or the image is corrupt and
                 cannot be loaded.

<comment>See Also:</comment>
   * <strong>imagecreatefromjpeg()</strong>
   * <strong>imagecreatefrompng()</strong>
   * <strong>imagecreatefromgif()</strong>
   * <strong>imagecreatetruecolor()</strong>


id: imagecreatefromtga
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefromtga()</strong> returns an image object representing the image obtained from the given
  filename.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the Truevision TGA image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromwbmp
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefromwbmp()</strong> returns an image identifier representing the image obtained from the given
  filename.
  
  WBMP images are Wireless Bitmaps, not Windows Bitmaps. The latter can be loaded with
  <strong>imagecreatefrombmp()</strong>.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the WBMP image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromwebp
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefromwebp()</strong> returns an image identifier representing the image obtained from the given
  filename. Note that animated WebP files cannot be read.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the WebP image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromxbm
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefromxbm()</strong> returns an image identifier representing the image obtained from the given
  filename.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the XBM image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatefromxpm
type: function
doc:
<comment>Description:</comment>
  Create a new image from file or URL
  
  <strong>imagecreatefromxpm()</strong> returns an image identifier representing the image obtained from the given
  filename.
  
  A URL can be used as a
  filename with this function if the fopen wrappers have been enabled.
  See <strong>fopen()</strong> for more details on how to specify the
  filename. See the  for links to information
  about what abilities the various wrappers have, notes on their usage,
  and information on any predefined variables they may
  provide.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the XPM image.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.


id: imagecreatetruecolor
type: function
doc:
<comment>Description:</comment>
  Create a new true color image
  
  <strong>imagecreatetruecolor()</strong> returns an image object representing a black image of the specified size.

<comment>Param:</comment>
  <info>int</info>  <strong>$width</strong>   Image width.
  <info>int</info>  <strong>$height</strong>  Image height.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on errors.

<comment>See Also:</comment>
   * <strong>imagedestroy()</strong>
   * <strong>imagecreate()</strong>


id: imagecrop
type: function
doc:
<comment>Description:</comment>
  Crop an image to the given rectangle
  
  Crops an image to the given rectangular area and returns the resulting image. The given <strong>$image</strong> is
  not modified.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>      A <class>GdImage</class> object, returned by one of the image creation functions,
                       such as <strong>imagecreatetruecolor()</strong>.
  <info>array</info>    <strong>$rectangle</strong>  The cropping rectangle as <info>array</info> with keys <return>x</return>, <return>y</return>, <return>width</return> and <return>height</return>.

<comment>Return:</comment>
  <info>GdImage|false</info>  Return cropped image object on success or <info>false</info> on failure.

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


id: imagecropauto
type: function
doc:
<comment>Description:</comment>
  Crop an image automatically using one of the available modes
  
  Automatically crops an image according to the given <strong>$mode</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>      A <class>GdImage</class> object, returned by one of the image creation functions,
                       such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$mode</strong>       One of the following constants:
                       
                       Same as <info>IMG_CROP_TRANSPARENT</info>. Before PHP 7.4.0, the bundled libgd fell back
                       to <info>IMG_CROP_SIDES</info>, if the image had no transparent color.
                       
                       Crops out a transparent background.
                       
                       Crops out a black background.
                       
                       Crops out a white background.
                       
                       Uses the 4 corners of the image to attempt to detect the background to crop.
                       
                       Crops an image using the given <strong>$threshold</strong> and <strong>$color</strong>.
  <info>float</info>    <strong>$threshold</strong>  Crops an image using the given <strong>$threshold</strong> and <strong>$color</strong>.
  <info>float</info>    <strong>$threshold</strong>  Specifies the tolerance in percent to be used while comparing the image color
                       and the color to crop. The method used to calculate the color difference is
                       based on the color distance in the RGB(a) cube.
                       
                       Used only in <info>IMG_CROP_THRESHOLD</info> mode.
                       
                       Before PHP 7.4.0, the bundled libgd used a somewhat different algorithm, so
                       the same <strong>$threshold</strong> yielded different results for system and bundled libgd.
  <info>int</info>      <strong>$color</strong>      Either an RGB color value or a palette index.
                       
                       Used only in <info>IMG_CROP_THRESHOLD</info> mode.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns a cropped image object on success or <info>false</info> on failure. If the complete
                 image was cropped, <strong>imagecrop()</strong> returns <info>false</info>.

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


id: imagedashedline
type: function
doc:
<comment>Description:</comment>
  Draw a dashed line
  
  This function is deprecated. Use combination of <strong>imagesetstyle()</strong> and <strong>imageline()</strong> instead.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$x1</strong>     Upper left x coordinate.
  <info>int</info>      <strong>$y1</strong>     Upper left y coordinate 0, 0 is the top left corner of the image.
  <info>int</info>      <strong>$x2</strong>     Bottom right x coordinate.
  <info>int</info>      <strong>$y2</strong>     Bottom right y coordinate.
  <info>int</info>      <strong>$color</strong>  The fill color. A color identifier created with <strong>imagecolorallocate()</strong>.

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

<comment>See Also:</comment>
   * <strong>imagesetstyle()</strong>
   * <strong>imageline()</strong>


id: imagedestroy
type: function
doc:
<comment>Description:</comment>
  Destroy an image
  
  This function has no effect. Prior to PHP 8.0.0, this function was used to close the resource.
  
  Prior to PHP 8.0.0, <strong>imagedestroy()</strong> freed any memory associated with image <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.

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


id: imageellipse
type: function
doc:
<comment>Description:</comment>
  Draw an ellipse
  
  Draws an ellipse centered at the specified coordinates.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>     A <class>GdImage</class> object, returned by one of the image creation functions,
                      such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$center_x</strong>  x-coordinate of the center.
  <info>int</info>      <strong>$center_y</strong>  y-coordinate of the center.
  <info>int</info>      <strong>$width</strong>     The ellipse width.
  <info>int</info>      <strong>$height</strong>    The ellipse height.
  <info>int</info>      <strong>$color</strong>     The color of the ellipse. A color identifier created with
                      <strong>imagecolorallocate()</strong>.

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

<comment>See Also:</comment>
   * <strong>imagefilledellipse()</strong>
   * <strong>imagearc()</strong>


id: imagefill
type: function
doc:
<comment>Description:</comment>
  Flood fill
  
  Performs a flood fill starting at the given coordinate (top left is 0, 0) with the given <strong>$color</strong> in
  the <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$x</strong>      x-coordinate of start point.
  <info>int</info>      <strong>$y</strong>      y-coordinate of start point.
  <info>int</info>      <strong>$color</strong>  The fill color. A color identifier created with <strong>imagecolorallocate()</strong>.

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

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


id: imagefilledarc
type: function
doc:
<comment>Description:</comment>
  Draw a partial arc and fill it
  
  Draws a partial arc centered at the specified coordinate in the given <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>        A <class>GdImage</class> object, returned by one of the image creation functions,
                         such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$center_x</strong>     x-coordinate of the center.
  <info>int</info>      <strong>$center_y</strong>     y-coordinate of the center.
  <info>int</info>      <strong>$width</strong>        The arc width.
  <info>int</info>      <strong>$height</strong>       The arc height.
  <info>int</info>      <strong>$start_angle</strong>  The arc start angle, in degrees.
  <info>int</info>      <strong>$end_angle</strong>    The arc end angle, in degrees. 0° is located at the three-o'clock position,
                         and the arc is drawn clockwise.
  <info>int</info>      <strong>$color</strong>        A color identifier created with <strong>imagecolorallocate()</strong>.
  <info>int</info>      <strong>$style</strong>        A bitwise OR of the following possibilities:
                         <info>IMG_ARC_PIE</info><info>IMG_ARC_CHORD</info><info>IMG_ARC_NOFILL</info><info>IMG_ARC_EDGED</info> <info>IMG_ARC_PIE</info> and
                         <info>IMG_ARC_CHORD</info> are mutually exclusive; <info>IMG_ARC_CHORD</info> just connects the
                         starting and ending angles with a straight line, while <info>IMG_ARC_PIE</info> produces
                         a rounded edge. <info>IMG_ARC_NOFILL</info> indicates that the arc or chord should be
                         outlined, not filled.  <info>IMG_ARC_EDGED</info>, used together with <info>IMG_ARC_NOFILL</info>,
                         indicates that the beginning and ending angles should be connected to the
                         center - this is a good way to outline (rather than fill) a 'pie slice'.
                         
                         <info>IMG_ARC_PIE</info>
                         
                         <info>IMG_ARC_CHORD</info>
                         
                         <info>IMG_ARC_NOFILL</info>
                         
                         <info>IMG_ARC_EDGED</info>

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


id: imagefilledellipse
type: function
doc:
<comment>Description:</comment>
  Draw a filled ellipse
  
  Draws an ellipse centered at the specified coordinate on the given <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>     A <class>GdImage</class> object, returned by one of the image creation functions,
                      such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$center_x</strong>  x-coordinate of the center.
  <info>int</info>      <strong>$center_y</strong>  y-coordinate of the center.
  <info>int</info>      <strong>$width</strong>     The ellipse width.
  <info>int</info>      <strong>$height</strong>    The ellipse height.
  <info>int</info>      <strong>$color</strong>     The fill color. A color identifier created with <strong>imagecolorallocate()</strong>.

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

<comment>See Also:</comment>
   * <strong>imageellipse()</strong>
   * <strong>imagefilledarc()</strong>


id: imagefilledpolygon
type: function
doc:
<comment>Description:</comment>
  Draw a filled polygon
  
  Signature as of PHP 8.0.0 (not supported with named arguments)
  
  Alternative signature (deprecated as of PHP 8.1.0)
  
  <strong>imagefilledpolygon()</strong> creates a filled polygon in the given <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>       A <class>GdImage</class> object, returned by one of the image creation functions,
                        such as <strong>imagecreatetruecolor()</strong>.
  <info>array</info>    <strong>$points</strong>      An array containing the <return>x</return> and <return>y</return> coordinates of the polygons vertices
                        consecutively.
  <info>int</info>      <strong>$num_points</strong>  Total number of points (vertices), which must be at least 3.
                        
                        If this parameter is omitted as per the second signature, <strong>$points</strong> must have
                        an even number of elements, and <strong>$num_points</strong> is assumed to be
                        count($points)/2.
  <info>int</info>      <strong>$color</strong>       A color identifier created with <strong>imagecolorallocate()</strong>.

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

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


id: imagefilledrectangle
type: function
doc:
<comment>Description:</comment>
  Draw a filled rectangle
  
  Creates a rectangle filled with <strong>$color</strong> in the given <strong>$image</strong> starting at point 1 and ending at point
  2. 0, 0 is the top left corner of the image.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$x1</strong>     x-coordinate for point 1.
  <info>int</info>      <strong>$y1</strong>     y-coordinate for point 1.
  <info>int</info>      <strong>$x2</strong>     x-coordinate for point 2.
  <info>int</info>      <strong>$y2</strong>     y-coordinate for point 2.
  <info>int</info>      <strong>$color</strong>  The fill color. A color identifier created with <strong>imagecolorallocate()</strong>.

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


id: imagefilltoborder
type: function
doc:
<comment>Description:</comment>
  Flood fill to specific color
  
  <strong>imagefilltoborder()</strong> performs a flood fill whose border color is defined by <strong>$border_color</strong>. The
  starting point for the fill is <strong>$x</strong>, <strong>$y</strong> (top left is 0, 0) and the region is filled with color
  <strong>$color</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>         A <class>GdImage</class> object, returned by one of the image creation functions,
                          such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$x</strong>             x-coordinate of start.
  <info>int</info>      <strong>$y</strong>             y-coordinate of start.
  <info>int</info>      <strong>$border_color</strong>  The border color. A color identifier created with <strong>imagecolorallocate()</strong>.
  <info>int</info>      <strong>$color</strong>         The fill color. A color identifier created with <strong>imagecolorallocate()</strong>.

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


id: imagefilter
type: function
doc:
<comment>Description:</comment>
  Applies a filter to an image
  
  <strong>imagefilter()</strong> applies the given filter <strong>$filter</strong> on the <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>               <strong>$image</strong>   A <class>GdImage</class> object, returned by one of the image creation functions,
                                 such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>                   <strong>$filter</strong>  <strong>$filter</strong> can be one of the following: <info>IMG_FILTER_NEGATE</info>: Reverses
                                 all colors of the image. <info>IMG_FILTER_GRAYSCALE</info>: Converts the image
                                 into grayscale by changing the red, green and blue components to
                                 their weighted sum using the same coefficients as the REC.601 luma
                                 (Y') calculation. The alpha components are retained. For palette
                                 images the result may differ due to palette limitations.
                                 <info>IMG_FILTER_BRIGHTNESS</info>: Changes the brightness of the image. Use
                                 <strong>$args</strong> to set the level of brightness. The range for the brightness
                                 is -255 to 255. <info>IMG_FILTER_CONTRAST</info>: Changes the contrast of the
                                 image. Use <strong>$args</strong> to set the level of contrast. <info>IMG_FILTER_COLORIZE</info>:
                                 Like <info>IMG_FILTER_GRAYSCALE</info>, except you can specify the color. Use
                                 <strong>$args</strong>, <strong>$arg2</strong> and <strong>$arg3</strong> in the form of <strong>$red</strong>, <strong>$green</strong>, <strong>$blue</strong> and <strong>$arg4</strong>
                                 for the <strong>$alpha</strong> channel. The range for each color is 0 to 255.
                                 <info>IMG_FILTER_EDGEDETECT</info>: Uses edge detection to highlight the edges
                                 in the image. <info>IMG_FILTER_EMBOSS</info>: Embosses the image.
                                 <info>IMG_FILTER_GAUSSIAN_BLUR</info>: Blurs the image using the Gaussian
                                 method. <info>IMG_FILTER_SELECTIVE_BLUR</info>: Blurs the image.
                                 <info>IMG_FILTER_MEAN_REMOVAL</info>: Uses mean removal to achieve a "sketchy"
                                 effect. <info>IMG_FILTER_SMOOTH</info>: Makes the image smoother. Use <strong>$args</strong> to
                                 set the level of smoothness. <info>IMG_FILTER_PIXELATE</info>: Applies
                                 pixelation effect  to the image, use <strong>$args</strong> to set the block size
                                 and <strong>$arg2</strong> to set the pixelation effect mode. <info>IMG_FILTER_SCATTER</info>:
                                 Applies scatter effect  to the image, use <strong>$args</strong> and  <strong>$arg2</strong> to
                                 define the effect strength and  additionally <strong>$arg3</strong> to only apply
                                 the  on select pixel colors.
                                 
                                 <info>IMG_FILTER_NEGATE</info>: Reverses all colors of the image.
                                 
                                 <info>IMG_FILTER_GRAYSCALE</info>: Converts the image into grayscale by changing
                                 the red, green and blue components to their weighted sum using the
                                 same coefficients as the REC.601 luma (Y') calculation. The alpha
                                 components are retained. For palette images the result may differ
                                 due to palette limitations.
                                 
                                 <info>IMG_FILTER_BRIGHTNESS</info>: Changes the brightness of the image. Use
                                 <strong>$args</strong> to set the level of brightness. The range for the brightness
                                 is -255 to 255.
                                 
                                 <info>IMG_FILTER_CONTRAST</info>: Changes the contrast of the image. Use <strong>$args</strong>
                                 to set the level of contrast.
                                 
                                 <info>IMG_FILTER_COLORIZE</info>: Like <info>IMG_FILTER_GRAYSCALE</info>, except you can
                                 specify the color. Use <strong>$args</strong>, <strong>$arg2</strong> and <strong>$arg3</strong> in the form of <strong>$red</strong>,
                                 <strong>$green</strong>, <strong>$blue</strong> and <strong>$arg4</strong> for the <strong>$alpha</strong> channel. The range for each
                                 color is 0 to 255.
                                 
                                 <info>IMG_FILTER_EDGEDETECT</info>: Uses edge detection to highlight the edges
                                 in the image.
                                 
                                 <info>IMG_FILTER_EMBOSS</info>: Embosses the image.
                                 
                                 <info>IMG_FILTER_GAUSSIAN_BLUR</info>: Blurs the image using the Gaussian
                                 method.
                                 
                                 <info>IMG_FILTER_SELECTIVE_BLUR</info>: Blurs the image.
                                 
                                 <info>IMG_FILTER_MEAN_REMOVAL</info>: Uses mean removal to achieve a "sketchy"
                                 effect.
                                 
                                 <info>IMG_FILTER_SMOOTH</info>: Makes the image smoother. Use <strong>$args</strong> to set the
                                 level of smoothness.
                                 
                                 <info>IMG_FILTER_PIXELATE</info>: Applies pixelation effect  to the image, use
                                 <strong>$args</strong> to set the block size  and <strong>$arg2</strong> to set the pixelation effect
                                 mode.
                                 
                                 <info>IMG_FILTER_SCATTER</info>: Applies scatter effect  to the image, use <strong>$args</strong>
                                 and  <strong>$arg2</strong> to define the effect strength and  additionally <strong>$arg3</strong> to
                                 only apply the  on select pixel colors.
  <info>array|int|float|bool</info>  <strong>$args</strong>    <info>IMG_FILTER_BRIGHTNESS</info>: Brightness level. <info>IMG_FILTER_CONTRAST</info>:
                                 Contrast level. <info>IMG_FILTER_COLORIZE</info>: Value of red component.
                                 <info>IMG_FILTER_SMOOTH</info>: Smoothness level. <info>IMG_FILTER_PIXELATE</info>: Block
                                 size in pixels. <info>IMG_FILTER_SCATTER</info>: Effect substraction level.
                                 This must not be higher or equal to the addition level set with
                                 <strong>$arg2</strong>.
                                 
                                 <info>IMG_FILTER_BRIGHTNESS</info>: Brightness level.
                                 
                                 <info>IMG_FILTER_CONTRAST</info>: Contrast level.
                                 
                                 <info>IMG_FILTER_COLORIZE</info>: Value of red component.
                                 
                                 <info>IMG_FILTER_SMOOTH</info>: Smoothness level.
                                 
                                 <info>IMG_FILTER_PIXELATE</info>: Block size in pixels.
                                 
                                 <info>IMG_FILTER_SCATTER</info>: Effect substraction level.  This must not be
                                 higher or equal to the addition level set with  <strong>$arg2</strong>.
  <info></info>                      <strong>$arg2</strong>    <info>IMG_FILTER_COLORIZE</info>: Value of green component. <info>IMG_FILTER_PIXELATE</info>:
                                 Whether to use advanced pixelation  effect or not (defaults to
                                 <info>false</info>). <info>IMG_FILTER_SCATTER</info>: Effect addition level.
                                 
                                 <info>IMG_FILTER_COLORIZE</info>: Value of green component.
                                 
                                 <info>IMG_FILTER_PIXELATE</info>: Whether to use advanced pixelation  effect or
                                 not (defaults to <info>false</info>).
                                 
                                 <info>IMG_FILTER_SCATTER</info>: Effect addition level.
  <info></info>                      <strong>$arg3</strong>    <info>IMG_FILTER_COLORIZE</info>: Value of blue component. <info>IMG_FILTER_SCATTER</info>:
                                 Optional array indexed color values  to apply effect at.
                                 
                                 <info>IMG_FILTER_COLORIZE</info>: Value of blue component.
                                 
                                 <info>IMG_FILTER_SCATTER</info>: Optional array indexed color values  to apply
                                 effect at.
  <info></info>                      <strong>$arg4</strong>    <info>IMG_FILTER_COLORIZE</info>: Alpha channel, A value  between 0 and 127. 0
                                 indicates completely opaque while 127 indicates  completely
                                 transparent.
                                 
                                 <info>IMG_FILTER_COLORIZE</info>: Alpha channel, A value  between 0 and 127. 0
                                 indicates completely opaque while 127 indicates  completely
                                 transparent.

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

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


id: imageflip
type: function
doc:
<comment>Description:</comment>
  Flips an image using a given mode
  
  Flips the <strong>$image</strong> image using the given <strong>$mode</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$mode</strong>   Flip mode, this can be one of the <info>IMG_FLIP_*</info> constants:
                   
                   ConstantMeaning<info>IMG_FLIP_HORIZONTAL</info> Flips the image horizontally.
                   <info>IMG_FLIP_VERTICAL</info> Flips the image vertically. <info>IMG_FLIP_BOTH</info> Flips the image both
                   horizontally and vertically.

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


id: imagefontheight
type: function
doc:
<comment>Description:</comment>
  Get font height
  
  Returns the pixel height of a character in the specified font.

<comment>Param:</comment>
  <info>GdFont|int</info>  <strong>$font</strong>  Can be 1, 2, 3, 4, 5 for built-in
                     fonts in latin2 encoding (where higher numbers corresponding to larger fonts)
                     or <class>GdFont</class> instance,
                     returned by <strong>imageloadfont()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the pixel height of the font.

<comment>See Also:</comment>
   * <strong>imagefontwidth()</strong>
   * <strong>imageloadfont()</strong>


id: imagefontwidth
type: function
doc:
<comment>Description:</comment>
  Get font width
  
  Returns the pixel width of a character in font.

<comment>Param:</comment>
  <info>GdFont|int</info>  <strong>$font</strong>  Can be 1, 2, 3, 4, 5 for built-in
                     fonts in latin2 encoding (where higher numbers corresponding to larger fonts)
                     or <class>GdFont</class> instance,
                     returned by <strong>imageloadfont()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the pixel width of the font.

<comment>See Also:</comment>
   * <strong>imagefontheight()</strong>
   * <strong>imageloadfont()</strong>


id: imageftbbox
type: function
doc:
<comment>Description:</comment>
  Give the bounding box of a text using fonts via freetype2
  
  This function calculates and returns the bounding box in pixels for a FreeType text.
  
  Prior to PHP 8.0.0, <strong>imageftbbox()</strong> was an extended variant of <strong>imagettfbbox()</strong> which additionally
  supported the <strong>$options</strong>. As of PHP 8.0.0, <strong>imagettfbbox()</strong> is an alias of <strong>imageftbbox()</strong>.

<comment>Param:</comment>
  <info>float</info>   <strong>$size</strong>           The font size in points.
  <info>float</info>   <strong>$angle</strong>          Angle in degrees in which <strong>$string</strong> will be  measured.
  <info>string</info>  <strong>$font_filename</strong>  The name of the TrueType font file (can be a URL). Depending on which
                          version of the GD library that PHP is using, it may attempt to search for
                          files that do not begin with a leading '/' by appending '.ttf' to the
                          filename and searching along a library-defined font path.
  <info>string</info>  <strong>$string</strong>         The string to be measured.
  <info>array</info>   <strong>$options</strong>        Possible array indexes for <strong>$options</strong>KeyTypeMeaning<return>linespacing</return><info>float</info>Defines
                          drawing linespacing

<comment>Return:</comment>
  <info>array|false</info>  <strong>imageftbbox()</strong> returns an array with 8 elements representing four points making the
               bounding box of the text: 0lower left corner, X position1lower left corner, Y
               position2lower right corner, X position3lower right corner, Y position4upper right
               corner, X position5upper right corner, Y position6upper left corner, X position7upper
               left corner, Y position
               
               The points are relative to the text regardless of the <strong>$angle</strong>, so "upper left" means
               in the top left-hand  corner seeing the text horizontally.
               
               On failure, <info>false</info> is returned.

<comment>See Also:</comment>
   * <strong>imagefttext()</strong>
   * <strong>imagettfbbox()</strong>


id: imagefttext
type: function
doc:
<comment>Description:</comment>
  Write text to the image using fonts using FreeType 2
  
  Prior to PHP 8.0.0, <strong>imagefttext()</strong> was an extended variant of <strong>imagettftext()</strong> which additionally
  supported the <strong>$options</strong>. As of PHP 8.0.0, <strong>imagettftext()</strong> is an alias of <strong>imagefttext()</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>          A <class>GdImage</class> object, returned by one of the image creation functions,
                           such as <strong>imagecreatetruecolor()</strong>.
  <info>float</info>    <strong>$size</strong>           The font size to use in points.
  <info>float</info>    <strong>$angle</strong>          The angle in degrees, with 0 degrees being left-to-right reading text.
                           Higher values represent a counter-clockwise rotation. For example, a
                           value of 90 would result in bottom-to-top reading text.
  <info>int</info>      <strong>$x</strong>              The coordinates given by <strong>$x</strong> and <strong>$y</strong> will define the basepoint of the first
                           character (roughly the lower-left corner of the character). This is
                           different from the <strong>imagestring()</strong>, where <strong>$x</strong> and <strong>$y</strong> define the upper-left
                           corner of the first character. For example, "top left" is 0, 0.
  <info>int</info>      <strong>$y</strong>              The y-ordinate. This sets the position of the fonts baseline, not the
                           very bottom of the character.
  <info>int</info>      <strong>$color</strong>          The index of the desired color for the text, see  <strong>imagecolorexact()</strong>.
  <info>string</info>   <strong>$font_filename</strong>  The path to the TrueType font you wish to use.
                           
                           Depending on which version of the GD library PHP is using, when
                           <strong>$font_filename</strong> does not begin with a leading <return>/</return> then <return>.ttf</return> will be appended
                           to the filename and the library will attempt to search for that filename
                           along a library-defined font path.
                           
                           In many cases where a font resides in the same directory as the script
                           using it the following trick will alleviate any include problems.
                           ]]>
  <info>string</info>   <strong>$text</strong>           Text to be inserted into image.
  <info>array</info>    <strong>$options</strong>        Possible array indexes for <strong>$options</strong>KeyTypeMeaning<return>linespacing</return><info>float</info>Defines
                           drawing linespacing

<comment>Return:</comment>
  <info>array|false</info>  This function returns an array defining the four points of the box, starting in the
               lower left and moving counter-clockwise: 0lower left x-coordinate1lower left
               y-coordinate2lower right x-coordinate3lower right y-coordinate4upper right
               x-coordinate5upper right y-coordinate6upper left x-coordinate7upper left y-coordinate
               
               On failure, <info>false</info> is returned.

<comment>See Also:</comment>
   * <strong>imageftbbox()</strong>
   * <strong>imagettftext()</strong>


id: imagegammacorrect
type: function
doc:
<comment>Description:</comment>
  Apply a gamma correction to a GD image
  
  Applies gamma correction to the given gd <strong>$image</strong>  given an input and an output gamma.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>         A <class>GdImage</class> object, returned by one of the image creation functions,
                          such as <strong>imagecreatetruecolor()</strong>.
  <info>float</info>    <strong>$input_gamma</strong>   The input gamma.
  <info>float</info>    <strong>$output_gamma</strong>  The output gamma.

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


id: imagegd
type: function
doc:
<comment>Description:</comment>
  Output GD image to browser or file
  
  Outputs a GD image to the given <strong>$file</strong>.

<comment>Param:</comment>
  <info>GdImage</info>      <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                       such as <strong>imagecreatetruecolor()</strong>.
  <info>string|null</info>  <strong>$file</strong>   The path or an open stream resource (which is automatically closed after this
                       function returns) to save the file to. If not set or <info>null</info>, the raw image
                       stream will be output directly.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.
        
        However, if libgd fails to output the image, this function returns <info>true</info>.

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


id: imagegd2
type: function
doc:
<comment>Description:</comment>
  Output GD2 image to browser or file
  
  Outputs a GD2 image to the given <strong>$file</strong>.

<comment>Param:</comment>
  <info>GdImage</info>      <strong>$image</strong>       A <class>GdImage</class> object, returned by one of the image creation functions,
                            such as <strong>imagecreatetruecolor()</strong>.
  <info>string|null</info>  <strong>$file</strong>        The path or an open stream resource (which is automatically closed after
                            this function returns) to save the file to. If not set or <info>null</info>, the raw
                            image stream will be output directly.
  <info>int</info>          <strong>$chunk_size</strong>  Chunk size.
  <info>int</info>          <strong>$mode</strong>        Either <info>IMG_GD2_RAW</info> or  <info>IMG_GD2_COMPRESSED</info>. Default is  <info>IMG_GD2_RAW</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.
        
        However, if libgd fails to output the image, this function returns <info>true</info>.

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


id: imagegetclip
type: function
doc:
<comment>Description:</comment>
  Get the clipping rectangle
  
  <strong>imagegetclip()</strong> retrieves the current clipping rectangle, i.e. the area beyond which no pixels will
  be drawn.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.

<comment>Return:</comment>
  <info>array</info>  The function returns an indexed array with the coordinates of the clipping rectangle which
         has the following entries: x-coordinate of the upper left cornery-coordinate of the upper
         left cornerx-coordinate of the lower right cornery-coordinate of the lower right corner
         
         x-coordinate of the upper left corner
         
         y-coordinate of the upper left corner
         
         x-coordinate of the lower right corner
         
         y-coordinate of the lower right corner

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


id: imagegetinterpolation
type: function
doc:
<comment>Description:</comment>
  Get the interpolation method
  
  Gets the currently set interpolation method of the <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the interpolation method.

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


id: imagegif
type: function
doc:
<comment>Description:</comment>
  Output image to browser or file
  
  <strong>imagegif()</strong> creates the GIF file in <strong>$file</strong> from the image <strong>$image</strong>. The <strong>$image</strong> argument is the return
  from the <strong>imagecreate()</strong> or <return>imagecreatefrom*</return> function.
  
  The image format will be GIF87a unless the image has been made transparent with
  <strong>imagecolortransparent()</strong>, in which case the image format will be GIF89a.

<comment>Param:</comment>
  <info>GdImage</info>               <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                                such as <strong>imagecreatetruecolor()</strong>.
  <info>resource|string|null</info>  <strong>$file</strong>   The path or an open stream resource (which is automatically closed
                                after this function returns) to save the file to. If not set or
                                <info>null</info>, the raw image stream will be output directly.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.
        
        However, if libgd fails to output the image, this function returns <info>true</info>.

<comment>See Also:</comment>
   * <strong>imagepng()</strong>
   * <strong>imagewbmp()</strong>
   * <strong>imagejpeg()</strong>
   * <strong>imagetypes()</strong>


id: imagegrabscreen
type: function
doc:
<comment>Description:</comment>
  Captures the whole screen
  
  Grabs a screenshot of the whole screen.
  
  This function is only available on Windows.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on failure.

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


id: imagegrabwindow
type: function
doc:
<comment>Description:</comment>
  Captures a window
  
  Grabs a window or its client area using a windows handle (HWND property in COM instance)
  
  This function is only available on Windows.

<comment>Param:</comment>
  <info>int</info>   <strong>$handle</strong>       The HWND window ID.
  <info>bool</info>  <strong>$client_area</strong>  Include the client area of the application window.

<comment>Return:</comment>
  <info>GdImage|false</info>  Returns an image object on success, <info>false</info> on failure.

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


id: imageinterlace
type: function
doc:
<comment>Description:</comment>
  Enable or disable interlace
  
  <strong>imageinterlace()</strong> turns the interlace bit on or off.
  
  If the interlace bit is set and the image is used as a JPEG image, the image is created as a
  progressive JPEG.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>      A <class>GdImage</class> object, returned by one of the image creation functions,
                       such as <strong>imagecreatetruecolor()</strong>.
  <info></info>         <strong>$interlace</strong>  If <info>true</info>, the image will be interlaced, if <info>false</info> the interlace bit is turned
                       off. Passing <info>null</info> will result in the interlacing behavior not being changed.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the interlace bit is set for the image, <info>false</info> otherwise.


id: imageistruecolor
type: function
doc:
<comment>Description:</comment>
  Finds whether an image is a truecolor image
  
  <strong>imageistruecolor()</strong> finds whether the image <strong>$image</strong> is a truecolor image.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the <strong>$image</strong> is truecolor, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>imagecreatetruecolor()</strong>
   * <strong>imagepalettetotruecolor()</strong>


id: imagejpeg
type: function
doc:
<comment>Description:</comment>
  Output image to browser or file
  
  <strong>imagejpeg()</strong> creates a JPEG file from the given <strong>$image</strong>.

<comment>Param:</comment>
  <info>GdImage</info>               <strong>$image</strong>    A <class>GdImage</class> object, returned by one of the image creation functions,
                                  such as <strong>imagecreatetruecolor()</strong>.
  <info>resource|string|null</info>  <strong>$file</strong>     The path or an open stream resource (which is automatically closed
                                  after this function returns) to save the file to. If not set or
                                  <info>null</info>, the raw image stream will be output directly.
  <info>int</info>                   <strong>$quality</strong>  <strong>$quality</strong> is optional, and ranges from 0 (worst quality, smaller
                                  file) to 100 (best quality, biggest file). The  default (<return>-1</return>) uses
                                  the default IJG quality value (about 75).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure.
        
        However, if libgd fails to output the image, this function returns <info>true</info>.

<comment>See Also:</comment>
   * <strong>imagepng()</strong>
   * <strong>imagegif()</strong>
   * <strong>imagewbmp()</strong>
   * <strong>imageinterlace()</strong>
   * <strong>imagetypes()</strong>


id: imagelayereffect
type: function
doc:
<comment>Description:</comment>
  Set the alpha blending flag to use layering effects
  
  Set the alpha blending flag to use layering effects.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>   A <class>GdImage</class> object, returned by one of the image creation functions,
                    such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$effect</strong>  One of the following constants: <info>IMG_EFFECT_REPLACE</info> Use pixel replacement
                    (equivalent of passing <info>true</info> to <strong>imagealphablending()</strong>) <info>IMG_EFFECT_ALPHABLEND</info> Use
                    normal pixel blending (equivalent of passing <info>false</info> to <strong>imagealphablending()</strong>)
                    <info>IMG_EFFECT_NORMAL</info> Same as <info>IMG_EFFECT_ALPHABLEND</info>. <info>IMG_EFFECT_OVERLAY</info> Overlay has
                    the effect that black background pixels will remain black, white background
                    pixels will remain white, but grey background pixels will take the colour of the
                    foreground pixel. <info>IMG_EFFECT_MULTIPLY</info> Overlays with a multiply effect.
                    
                    Use pixel replacement (equivalent of passing <info>true</info> to <strong>imagealphablending()</strong>)
                    
                    Use normal pixel blending (equivalent of passing <info>false</info> to <strong>imagealphablending()</strong>)
                    
                    Same as <info>IMG_EFFECT_ALPHABLEND</info>.
                    
                    Overlay has the effect that black background pixels will remain black, white
                    background pixels will remain white, but grey background pixels will take the
                    colour of the foreground pixel.
                    
                    Overlays with a multiply effect.

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


id: imageline
type: function
doc:
<comment>Description:</comment>
  Draw a line
  
  Draws a line between the two given points.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>  A <class>GdImage</class> object, returned by one of the image creation functions,
                   such as <strong>imagecreatetruecolor()</strong>.
  <info>int</info>      <strong>$x1</strong>     x-coordinate for first point.
  <info>int</info>      <strong>$y1</strong>     y-coordinate for first point.
  <info>int</info>      <strong>$x2</strong>     x-coordinate for second point.
  <info>int</info>      <strong>$y2</strong>     y-coordinate for second point.
  <info>int</info>      <strong>$color</strong>  The line color. A color identifier created with <strong>imagecolorallocate()</strong>.

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

<comment>See Also:</comment>
   * <strong>imagecreatetruecolor()</strong>
   * <strong>imagecolorallocate()</strong>


id: imageloadfont
type: function
doc:
<comment>Description:</comment>
  Load a new font
  
  <strong>imageloadfont()</strong> loads a user-defined bitmap and returns its identifier.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  The font file format is currently binary and architecture dependent.  This
                     means you should generate the font files on the same type of CPU as the machine
                     you are running PHP on.
                     
                     Font file formatbyte positionC data typedescriptionbyte 0-3intnumber of
                     characters in the fontbyte 4-7int value of first character in the font (often
                     32 for space) byte 8-11intpixel width of each characterbyte 12-15intpixel
                     height of each characterbyte 16-char array with character data, one byte per
                     pixel in each character, for a total of (nchars*width*height) bytes.

<comment>Return:</comment>
  <info>GdFont|false</info>  Returns an <class>GdFont</class> instance, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>imagefontwidth()</strong>
   * <strong>imagefontheight()</strong>


id: imageopenpolygon
type: function
doc:
<comment>Description:</comment>
  Draws an open polygon
  
  Signature as of PHP 8.0.0 (not supported with named arguments)
  
  Alternative signature (deprecated as of PHP 8.1.0)
  
  <strong>imageopenpolygon()</strong> draws an open polygon on the given <strong>$image</strong>. Contrary to <strong>imagepolygon()</strong>, no line
  is drawn between the last and the first point.

<comment>Param:</comment>
  <info>GdImage</info>  <strong>$image</strong>       A <class>GdImage</class> object, returned by one of the image creation functions,
                        such as <strong>imagecreatetruecolor()</strong>.
  <info>array</info>    <strong>$points</strong>      An array containing the polygon's vertices, e.g.: points[0]= x0points[1]=
                        y0points[2]= x1points[3]= y1
  <info>int</info>      <strong>$num_points</strong>  Total number of points (vertices), which must be at least 3.
                        
                        If this parameter is omitted as per the second signature, <strong>$points</strong> must have
                        an even number of elements, and <strong>$num_points</strong> is assumed to be
                        count($points)/2.
  <info>int</info>      <strong>$color</strong>       A color identifier created with <strong>imagecolorallocate()</strong>.

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

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


