# php_manual

id: enchant_broker_get_dict_path
type: function
doc:
<comment>Description:</comment>
  Get the directory path for a given backend
  
  Get the directory path for a given backend.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>int</info>            <strong>$type</strong>    The type of the dictionaries, i.e. <info>ENCHANT_MYSPELL</info> or <info>ENCHANT_ISPELL</info>.

<comment>Return:</comment>
  <info>string|false</info>  Returns the path of the dictionary directory on success 或者在失败时返回 <info>false</info>.

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


id: enchant_broker_get_error
type: function
doc:
<comment>Description:</comment>
  Returns the last error of the broker
  
  Returns the last error which occurred in this broker.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.

<comment>Return:</comment>
  <info>string|false</info>  Return the msg string if an error was found or <info>false</info>


id: enchant_broker_init
type: function
doc:
<comment>Description:</comment>
  Create a new broker object capable of requesting

<comment>Return:</comment>
  <info>EnchantBroker|false</info>  Returns a broker resource on success or <info>false</info>.

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


id: enchant_broker_list_dicts
type: function
doc:
<comment>Description:</comment>
  Returns a list of available dictionaries
  
  Returns a list of available dictionaries with their details.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.

<comment>Return:</comment>
  <info>array</info>  Returns an <info>array</info> of available dictionaries with their details.

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


id: enchant_broker_request_dict
type: function
doc:
<comment>Description:</comment>
  Create a new dictionary using a tag
  
  create a new dictionary using tag, the non-empty language tag you wish to request a dictionary for
  ("en_US", "de_DE", ...)

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>string</info>         <strong>$tag</strong>     A tag describing the locale, for example en_US, de_DE

<comment>Return:</comment>
  <info>EnchantDictionary|false</info>  Returns a dictionary resource on success 或者在失败时返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>enchant_dict_describe()</strong>
   * <strong>enchant_broker_dict_exists()</strong>
   * <strong>enchant_broker_free_dict()</strong>


id: enchant_broker_request_pwl_dict
type: function
doc:
<comment>Description:</comment>
  Creates a dictionary using a PWL file
  
  Creates a dictionary using a PWL file. A PWL file is personal word file one word per line.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>    An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>string</info>         <strong>$filename</strong>  Path to the PWL file. If there is no such file, a new one will be
                            created if possible.

<comment>Return:</comment>
  <info>EnchantDictionary|false</info>  Returns a dictionary resource on success 或者在失败时返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>enchant_dict_describe()</strong>
   * <strong>enchant_broker_dict_exists()</strong>
   * <strong>enchant_broker_free_dict()</strong>


id: enchant_broker_set_dict_path
type: function
doc:
<comment>Description:</comment>
  Set the directory path for a given backend
  
  Set the directory path for a given backend.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>int</info>            <strong>$type</strong>    The type of the dictionaries, i.e. <info>ENCHANT_MYSPELL</info> or <info>ENCHANT_ISPELL</info>.
  <info>string</info>         <strong>$path</strong>    The path of the dictionary directory.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: enchant_broker_set_ordering
type: function
doc:
<comment>Description:</comment>
  Declares a preference of dictionaries to use for the language
  
  Declares a preference of dictionaries to use for the language described/referred to by 'tag'. The
  ordering is a comma delimited list of provider names. As a special exception, the "*" tag can be
  used as a language tag to declare a default ordering for any language that does not explicitly
  declare an ordering.

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>    An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>string</info>         <strong>$tag</strong>       Language tag. The special "*" tag can be used as a language tag to
                            declare a default ordering for any language that does not explicitly
                            declare an ordering.
  <info>string</info>         <strong>$ordering</strong>  Comma delimited list of provider names

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: enchant_dict_add
type: function
doc:
<comment>Description:</comment>
  Add a word to personal word list
  
  Add a word to personal word list of the given dictionary.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        The word to add

<comment>Return:</comment>
  <info>void</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>enchant_broker_request_pwl_dict()</strong>
   * <strong>enchant_broker_request_dict()</strong>


id: enchant_dict_add_to_personal
type: function
doc:
<comment>Description:</comment>
  别名 enchant_dict_add
  
  此函数是该函数的别名： <strong>enchant_dict_add()</strong>.


id: enchant_dict_add_to_session
type: function
doc:
<comment>Description:</comment>
  Add 'word' to this spell-checking session
  
  Add a word to the given dictionary. It will be added only for the active spell-checking session.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        The word to add

<comment>Return:</comment>
  <info>void</info>  没有返回值。

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


id: enchant_dict_check
type: function
doc:
<comment>Description:</comment>
  Check whether a word is correctly spelled or not
  
  If the word is correctly spelled return <info>true</info>, otherwise return <info>false</info>

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        The word to check

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the word is spelled correctly, <info>false</info> if not.


id: enchant_dict_describe
type: function
doc:
<comment>Description:</comment>
  Describes an individual dictionary
  
  Returns the details of the dictionary.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.

<comment>Return:</comment>
  <info>array</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: enchant_dict_get_error
type: function
doc:
<comment>Description:</comment>
  Returns the last error of the current spelling-session
  
  Returns the last error of the current spelling-session

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.

<comment>Return:</comment>
  <info>string|false</info>  Returns the error message as string or <info>false</info> if no error occurred.


id: enchant_dict_is_added
type: function
doc:
<comment>Description:</comment>
  Whether or not 'word' exists in this spelling-session
  
  Tells whether or not a word already exists in the current session.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        The word to lookup

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the word exists or <info>false</info>

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


id: enchant_dict_is_in_session
type: function
doc:
<comment>Description:</comment>
  别名 enchant_dict_is_added
  
  此函数是该函数的别名： <strong>enchant_dict_is_added()</strong>.


id: enchant_dict_quick_check
type: function
doc:
<comment>Description:</comment>
  Check the word is correctly spelled and provide suggestions
  
  If the word is correctly spelled return <info>true</info>, otherwise return <info>false</info>, if suggestions variable is
  provided, fill it with spelling alternatives.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>   An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong>
                                   or <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>         The word to check
  <info>array</info>              <strong>$suggestions</strong>  If the word is not correctly spelled, this variable will contain
                                   an array of suggestions.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the word is correctly spelled or <info>false</info>

<comment>See Also:</comment>
   * <strong>enchant_dict_check()</strong>
   * <strong>enchant_dict_suggest()</strong>


id: enchant_dict_store_replacement
type: function
doc:
<comment>Description:</comment>
  Add a correction for a word
  
  Add a correction for 'mis' using 'cor'. Notes that you replaced @mis with @cor, so it's possibly
  more likely that future occurrences of @mis will be replaced with @cor. So it might bump @cor up
  in the suggestion list.

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$misspelled</strong>  The work to fix
  <info>string</info>             <strong>$correct</strong>     The correct word

<comment>Return:</comment>
  <info>void</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: enchant_dict_suggest
type: function
doc:
<comment>Description:</comment>
  Will return a list of values if any of those pre-conditions are not met

<comment>Param:</comment>
  <info>EnchantDictionary</info>  <strong>$dictionary</strong>  An Enchant dictionary returned by <strong>enchant_broker_request_dict()</strong> or
                                  <strong>enchant_broker_request_pwl_dict()</strong>.
  <info>string</info>             <strong>$word</strong>        Word to use for the suggestions.

<comment>Return:</comment>
  <info>array</info>  Will returns an array of suggestions if the word is bad spelled.

<comment>See Also:</comment>
   * <strong>enchant_dict_check()</strong>
   * <strong>enchant_dict_quick_check()</strong>


id: end
type: function
doc:
<comment>Description:</comment>
  将数组的内部指针指向最后一个单元
      
  
  <strong>end()</strong> 将 <strong>$array</strong> 的内部指针移动到最后一个单元并返回其值。

<comment>Param:</comment>
  <info>array|object</info>  <strong>$array</strong>  这个数组。 该数组是通过引用传递的，因为它会被这个函数修改。 这意味着你必须传
                        入一个真正的变量，而不是函数返回的数组，因为只有真正的变量才能以引用传递。

<comment>Return:</comment>
  <info>mixed</info>  返回最后一个元素的值，或者如果是空数组则返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>current()</strong>
   * <strong>each()</strong>
   * <strong>prev()</strong>
   * <strong>reset()</strong>
   * <strong>next()</strong>
   * <strong>array_key_last()</strong>


id: enum_exists
type: function
doc:
<comment>Description:</comment>
  检测是否定义对应的枚举
  
  本函数检测是否定义指定的枚举。

<comment>Param:</comment>
  <info>string</info>  <strong>$enum</strong>      枚举的名称。名称的匹配不区分大小写。
  <info>bool</info>    <strong>$autoload</strong>  如果尚未加载，是否自动加载。

<comment>Return:</comment>
  <info>bool</info>  如果 <strong>$enum</strong> 已定义，返回 <info>true</info>，否则就返回 <info>false</info>。

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


id: error_clear_last
type: function
doc:
<comment>Description:</comment>
  清除最近一次错误

<comment>Return:</comment>
  <info>void</info>  清除最近一次错误，使它无法通过  <strong>error_get_last()</strong> 获取。

<comment>See Also:</comment>
   * Error 常量


id: error_get_last
type: function
doc:
<comment>Description:</comment>
  获取最后发生的错误
  
  获取关于最后一个发生的错误的信息。

<comment>Return:</comment>
  <info>array|null</info>  返回了一个关联数组，描述了最后错误的信息，以该错误的 "type"、 "message"、"file" 和
              "line" 为数组的键。 如果该错误由 PHP 内置函数导致的，"message"会以该函数名开头。 如果
              还没有错误则返回 <info>null</info>。

<comment>See Also:</comment>
   * Error 常量
   * $php_errormsg 变量
   * <strong>error_clear_last()</strong>
   * <strong>$display_errors</strong> 指令
   * <strong>$html_errors</strong> 指令
   * <strong>$xmlrpc_errors</strong> 指令


id: error_log
type: function
doc:
<comment>Description:</comment>
  发送错误信息到某个地方
  
  把错误信息发送到 web 服务器的错误日志，或者到一个文件里。

<comment>Param:</comment>
  <info>string</info>       <strong>$message</strong>             应该被记录的错误信息。
  <info>int</info>          <strong>$message_type</strong>        设置错误应该发送到何处。可能的信息类型有以下几个：
                                    
                                    <strong>error_log()</strong> 日志类型0<strong>$message</strong> 发送到 PHP 的系统日志，使用 操作系
                                    统的日志机制或者一个文件，取决于 error_log 指令设置了什么。 这是
                                    个默认的选项。 1<strong>$message</strong> 发送到参数 <strong>$destination</strong>  设置的邮件地
                                    址。 第四个参数 <strong>$additional_headers</strong> 只有在这个类型里才会被用到。
                                    2 不再是一个选项。 3<strong>$message</strong> 被发送到位置为 <strong>$destination</strong> 的文件
                                    里。 字符 <strong>$message</strong> 不会默认被当做新的一行。 4<strong>$message</strong> 直接发送到
                                    SAPI 的日志处理程序中。
  <info>string|null</info>  <strong>$destination</strong>         目标。它的含义描述于以上，由 <strong>$message_type</strong> 参数所决定。
  <info>string|null</info>  <strong>$additional_headers</strong>  额外的头。当 <strong>$message_type</strong> 设置为 <return>1</return> 的时候使用。 该信息类型使用
                                    了 <strong>mail()</strong> 的同一个内置函数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。如果 <strong>$message_type</strong> 是 0，此函数始终返回 <info>true</info>，无论
        是否可以记录错误。


id: error_reporting
type: function
doc:
<comment>Description:</comment>
  设置应该报告何种 PHP 错误
  
  <strong>error_reporting()</strong> 函数能够在运行时设置 error_reporting 指令。 PHP 有诸多错误级别，使用该函数可以设
  置在脚本运行时的级别。 如果没有设置可选参数 <strong>$error_level</strong>， <strong>error_reporting()</strong> 仅会返回当前的错误报
  告级别。

<comment>Param:</comment>
  <info>int|null</info>  <strong>$error_level</strong>  新的 error_reporting 级别。 可以是一个位掩码也可以是一个已命名的常量。 强
                          烈建议使用已命名的常量，以确保兼容将来的版本。 由于错误级别的添加、整数取
                          值范围的增加， 较久的基于整数的错误级别不会总是和预期的表现一致。
                          
                          可用的错误级别常量及其实际含义描述在了  predefined constants 中。

<comment>Return:</comment>
  <info>int</info>  在更改为 <strong>$error_level</strong> 之前返回 error_reporting 级别。
       
       错误控制<return>@</return> 运算符在错误处理期间会更改错误级别。

<comment>See Also:</comment>
   * display_errors 指令
   * html_errors 指令
   * xmlrpc_errors 指令
   * 错误控制运算符
   * <strong>ini_set()</strong>


id: escapeshellarg
type: function
doc:
<comment>Description:</comment>
  把字符串转义为可以在 shell 命令里使用的参数
  
  <strong>escapeshellarg()</strong> 将给字符串增加一个单引号并且能引用或者转义任何已经存在的单引号，这样以确保能够直
  接将一个字符串传入 shell 函数，并且还是确保安全的。对于用户输入的部分参数就应该使用这个函数。shell
  函数包含<strong>exec()</strong>、<strong>system()</strong> 和执行运算符 。
  
  在 Windows 上，<strong>escapeshellarg()</strong> 用空格替换了百分号、感叹号（延迟变量替换）和双引号，并在字符串两边
  加上双引号。此外，每条连续的反斜线(<return>\</return>)都会被一个额外的反斜线所转义。

<comment>Param:</comment>
  <info>string</info>  <strong>$arg</strong>  需要被转义的参数。

<comment>Return:</comment>
  <info>string</info>  转换之后字符串。

<comment>See Also:</comment>
   * <strong>escapeshellcmd()</strong>
   * <strong>exec()</strong>
   * <strong>popen()</strong>
   * <strong>system()</strong>
   * 执行运算符


id: escapeshellcmd
type: function
doc:
<comment>Description:</comment>
  shell 元字符转义
  
  <strong>escapeshellcmd()</strong> 对字符串中可能会欺骗  shell 命令执行任意命令的字符进行转义。 此函数保证用户输入的
  数据在传送到  <strong>exec()</strong> 或 <strong>system()</strong> 函数，或者 执行操作符 之前进行转义。
  
  反斜线（\）会在以下字符之前插入：<return>&#;`|*?~\<&gt;^()[]{}$\</return>、<return>\x0A</return> 和 <return>\xFF</return>。 <return>'</return> 和 <return>"</return> 仅在不配对儿的时候被转义。在 Windows 平台上，所有这些字符以及 <return>%</return> 和 <return>!</return> 字符前面都有一个插入符号（<return>^</return>）。

<comment>Param:</comment>
  <info>string</info>  <strong>$command</strong>  要转义的命令。

<comment>Return:</comment>
  <info>string</info>  转义后的字符串。

<comment>See Also:</comment>
   * <strong>escapeshellarg()</strong>
   * <strong>exec()</strong>
   * <strong>popen()</strong>
   * <strong>system()</strong>
   * 执行运算符


id: eval
type: function
doc:
<comment>Description:</comment>
  把字符串作为PHP代码执行
  
  把字符串 <strong>$code</strong> 作为PHP代码执行。
  
  函数<strong>eval()</strong>语言结构是 非常危险的， 因为它允许执行任意 PHP 代码。 它这样用是很危险的。  如果您仔细的
  确认过，除了使用此结构以外 别无方法, 请多加注意，不要允许传入任何由用户 提供的、未经完整验证过的数
  据 。

<comment>Param:</comment>
  <info>string</info>  <strong>$code</strong>  需要被执行的字符串
                 
                 代码不能包含打开/关闭  PHP tags。比如， <return>'echo "Hi!";'</return> 不能这样传入： <return>'\<?php echo "Hi!"; ?&gt;'</return>。但仍然可以用合适的 PHP tag 来离开、重新进入 PHP 模式。比如 <return>'echo "In PHP mode!"; ?&gt;In HTML mode!\<?php echo "Back in PHP mode!";'</return>。
                 
                 除此之外，传入的必须是有效的 PHP 代码。所有的语句必须以分号结尾。比如  <return>'echo "Hi!"'</return>
                 会导致一个 parse error，而 <return>'echo "Hi!";'</return> 则会正常运行。
                 
                 <return>return</return> 语句会立即中止当前字符串的执行。
                 
                 代码执行的作用域是调用 <strong>eval()</strong> 处的作用域。因此，<strong>eval()</strong> 里任何的变量定义、修改，都会
                 在函数结束后被保留。

<comment>Return:</comment>
  <info>mixed</info>  <strong>eval()</strong> 返回 <info>null</info>，除非在执行的代码中 <return>return</return> 了一个值，函数返回传递给 <return>return</return> 的值。 PHP 7 开
         始，执行的代码里如果有一个 parse error，<strong>eval()</strong> 会抛出 ParseError 异常。在 PHP 7 之前， 如果
         在执行的代码中有 parse error，<strong>eval()</strong> 返回 <info>false</info>，之后的代码将正常执行。无法使用
         <strong>set_error_handler()</strong> 捕获 <strong>eval()</strong> 中的解析错误。

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


id: exec
type: function
doc:
<comment>Description:</comment>
  执行一个外部程序
  
  <strong>exec()</strong> 执行 <strong>$command</strong> 参数所指定的命令。

<comment>Param:</comment>
  <info>string</info>  <strong>$command</strong>      要执行的命令。
  <info>array</info>   <strong>$output</strong>       如果提供了 <strong>$output</strong> 参数， 那么会用命令执行的输出填充此数组， 每行输出填充数
                        组中的一个元素。 数组中的数据不包含行尾的空白字符，例如 <return>\n</return> 字符。 请注意，如
                        果数组中已经包含了部分元素，<strong>exec()</strong> 函数会在数组末尾追加内容。如果你不想在数
                        组末尾进行追加， 请在传入 <strong>exec()</strong> 函数之前 对数组使用 <strong>unset()</strong> 函数进行重置。
  <info>int</info>     <strong>$result_code</strong>  如果同时提供  <strong>$output</strong> 和 <strong>$result_code</strong> 参数，命令执行后的返回状态会被写入到此
                        变量。

<comment>Return:</comment>
  <info>string|false</info>  命令执行结果的最后一行内容。 如果你需要获取未经处理的全部输出数据， 请使用
                <strong>passthru()</strong> 函数。
                
                失败时返回 <info>false</info>。
                
                如果想要获取命令的输出内容， 请确保使用 <strong>$output</strong> 参数。

<comment>See Also:</comment>
   * <strong>system()</strong>
   * <strong>passthru()</strong>
   * <strong>escapeshellcmd()</strong>
   * <strong>pcntl_exec()</strong>
   * 执行运算符


id: exif_imagetype
type: function
doc:
<comment>Description:</comment>
  判断一个图像的类型
  
  <strong>exif_imagetype()</strong> 读取一个图像的第一个字节并检查其签名。
  
  本函数可用来避免调用其它 exif 函数用到了不支持的文件类型上或和 $_SERVER['HTTP_ACCEPT'] 结合使用来
  检查浏览器是否可以显示某个指定的图像。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  被检查的图像文件名。

<comment>Return:</comment>
  <info>int|false</info>  如果发现了恰当的签名则返回一个对应的常量，否则返回 <info>false</info>。返回值和 <strong>getimagesize()</strong> 返回
             的数组中的索引 2 的值是一样的，但本函数快得多。
             
             定义有以下常量，并代表了 <strong>exif_imagetype()</strong> 可能的返回值： 图像类型常量值常量
             1<info>IMAGETYPE_GIF</info>2<info>IMAGETYPE_JPEG</info>3<info>IMAGETYPE_PNG</info>4<info>IMAGETYPE_SWF</info>5<info>IMAGETYPE_PSD</info>6<info>IMAGETYPE_BMP</info>7<info>IMAGETYPE_TIFF_II</info>（小
             端字节顺序）8<info>IMAGETYPE_TIFF_MM</info>（大端字节顺序）
             9<info>IMAGETYPE_JPC</info>10<info>IMAGETYPE_JP2</info>11<info>IMAGETYPE_JPX</info>12<info>IMAGETYPE_JB2</info>13<info>IMAGETYPE_SWC</info>14<info>IMAGETYPE_IFF</info>15<info>IMAGETYPE_WBMP</info>16<info>IMAGETYPE_XBM</info>17<info>IMAGETYPE_ICO</info>18<info>IMAGETYPE_WEBP</info>19<info>IMAGETYPE_AVIF</info>
             
             如果无法从文件中读取足够的字节来确定图像类型，<strong>exif_imagetype()</strong> 将发出 <info>E_NOTICE</info> 并返回
             <info>false</info>。

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


id: exif_read_data
type: function
doc:
<comment>Description:</comment>
  从一个图片文件中读取 EXIF 头信息
  
  <strong>exif_read_data()</strong> 函数从一个图片文件中读取 EXIF 头信息。这样就可以读取数码相机产生的元数据。
  
  EXIF 头信息往往存在于数码相机生成的 JPEG/TIFF 图片中，但不幸的是每个数码相机制造商的标记都不同，因
  此（编写代码时）不能依赖于某个特定的 Exif 头信息。
  
  <return>Height</return> 和 <return>Width</return> 是用和 <strong>getimagesize()</strong> 一样的方法计算的，因此它们的值不能是任何返回的头信息的部分。
  此外 <return>html</return> 是一个可以用于普通的 HTML 中的 height/width 的文本字符串。
  
  当一个 Exif 头信息包含有一个 Copyright 时注意它本身可以包含两个值。解决方案和 Exif 2.10 标准不一
  致，<return>COMPUTED</return> 区段会同时返回 <return>Copyright.Photographer</return> 和 <return>Copyright.Editor</return>，但是 <return>IFD0</return> 区段则包含有一个
  字节数组用 NULL 字符分隔开两个项目。或者只有第一项如果数据类型错误的话（Exif 的正常行为）。
  <return>COMPUTED</return> 也会包含 <return>Copyright</return>，要么是原始的版权字符串，要么是逗号分隔的摄像与编辑的版权信息。
  
  <return>UserComment</return> 标记和 Copyright 有同样的问题。它也可以存储两个值，第一个是使用的编码方式，第二个是其
  值本身。如果这样则 <return>IFD</return> 区段仅包含编码方式或者一个字节数组。<return>COMPUTED</return> 区段将存储两个值到
  <return>UserCommentEncoding</return> 和 <return>UserComment</return>。<return>UserComment</return> 在两种情况下都可用因此应该优先使用它而不是 <return>IFD0</return> 区
  段中的该值。
  
  <strong>exif_read_data()</strong> 还会根据 EXIF 规范（http://exif.org/Exif2-2.PDF，第 20 页）来验证 EXIF 数据。

<comment>Param:</comment>
  <info>resource|string</info>  <strong>$file</strong>               图片文件的位置。这可以是一个文件路径（和往常一样，流封装也是
                                       支持的）， 或者是一个流式资源（stream <info>resource</info>）。
  <info>string|null</info>      <strong>$required_sections</strong>  是需要存在于文件中的逗号分隔的区段列表用来产生结果数组。如果
                                       未找到所请求的区段则返回值为 <info>false</info>。 FILEFileName, FileSize,
                                       FileDateTime, SectionsFoundCOMPUTED html，Width，Height，
                                       IsColor，可能有更多其它的。Height 和 Width 是用和
                                       <strong>getimagesize()</strong> 一样的方法计算的，因此它们的值不能是任何返回的
                                       头信息的部分。此外 <return>html</return> 是一个可以用于普通的 HTML 中的
                                       height/width 的文本字符串。 ANY_TAG任何包含有标记的信息，例如
                                       <return>IFD0</return>，<return>EXIF</return>，...IFD0 所有 IFD0 的标记数据。在标准的图像文件中
                                       这包含了图像大小及其它。 THUMBNAIL 如果有第二个 <return>IFD</return>，文件应该
                                       包含有缩略图。所有有关嵌入缩略图的标记信息都存储在本区。
                                       COMMENTJPEG 图像的注释头信息。EXIF EXIF 区段是 <return>IFD0</return> 的子区，
                                       包含有图像的更多详细信息。大多数内容都是数码相机相关的。
  <info>bool</info>             <strong>$as_arrays</strong>          指定了是否每个区段都成为一个数组。<strong>$required_sections</strong>
                                       <return>COMPUTED</return>，<return>THUMBNAIL</return> 和<return>COMMENT</return> 区段总是成为数组，因为它们里面
                                       包含的名字和其它区段冲突。
  <info>bool</info>             <strong>$read_thumbnail</strong>     当设定为 <info>true</info> 时，读取缩略图本身。否则只读取标记数据。

<comment>Return:</comment>
  <info>array|false</info>  返回一个关联数组，键名是头信息名，值为与其相应的值。如果没有可供返回的数据，
               <strong>exif_read_data()</strong> 将返回 <info>false</info>。

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


id: exif_tagname
type: function
doc:
<comment>Description:</comment>
  获取指定索引的头名称

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  要查找的标签名称的 ID。

<comment>Return:</comment>
  <info>string|false</info>  返回头名称。 如果 <strong>$index</strong> 参数不是预定义的 EXIF 标签 id，则返回 <info>false</info>

<comment>See Also:</comment>
   * <strong>exif_imagetype()</strong>
   * EXIF 规范
   * EXIF 标签


id: exif_thumbnail
type: function
doc:
<comment>Description:</comment>
  检索图像的嵌入式缩略图
  
  <strong>exif_thumbnail()</strong> 读取图像的嵌入式缩略图。
  
  如果想通过该函数发送缩略图，应该使用 <strong>header()</strong> 函数发送 mimetype 信息。
  
  <strong>exif_thumbnail()</strong> 不能创建图像但能确定它的尺寸。在这种情况下，返回值是 <info>false</info>，但会设置 <strong>$width</strong> 和
  <strong>$height</strong>。

<comment>Param:</comment>
  <info>resource|string</info>  <strong>$file</strong>        图像文件的路径。可以是文件路径也可以是流 <info>resource</info>。
  <info>int</info>              <strong>$width</strong>       返回缩略图的宽度。
  <info>int</info>              <strong>$height</strong>      返回缩略图的高度。
  <info>int</info>              <strong>$image_type</strong>  返回缩略图的图像类型。不是 TIFF 就是 JPEG。

<comment>Return:</comment>
  <info>string|false</info>  返回嵌入式缩略图，如果图像不包含缩略图则返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>exif_read_data()</strong>
   * <strong>image_type_to_mime_type()</strong>


id: exit
type: function
doc:
<comment>Description:</comment>
  输出一个消息并且退出当前脚本
  
  中止脚本的执行。 尽管调用了 <strong>exit()</strong>， Shutdown函数 以及 object destructors 总是会被执行。
  
  <return>exit</return> 是个语法结构，如果没有 <strong>$status</strong> 参数要传入，可以省略圆括号。

<comment>Param:</comment>
  <info>string</info>  <strong>$status</strong>  如果 <strong>$status</strong> 是一个字符串，在退出之前该函数会打印 <strong>$status</strong> 。
                   
                   如果 <strong>$status</strong> 是一个 <info>int</info>，该值会作为退出状态码，并且不会被打印输出。 退出状态码应
                   该在范围0至254，不应使用被PHP保留的退出状态码255。  状态码0用于成功中止程序。

<comment>Return:</comment>
  <info>void</info>  没有返回值。

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


id: exp
type: function
doc:
<comment>Description:</comment>
  计算 e 的指数
  
  返回 <info>e</info> 的 <strong>$num</strong> 次方值。
  
  用“<info>e</info>”作为自然对数的底数，大约为 2.718282。

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  要处理的参数

<comment>Return:</comment>
  <info>float</info>  'e' raised to the power of <strong>$num</strong>

<comment>See Also:</comment>
   * <strong>log()</strong>
   * <strong>pow()</strong>


id: expect_expectl
type: function
doc:
<comment>Description:</comment>
  Waits until the output from a process matches one
    of the patterns, a specified time period has passed, or an EOF is seen
    
  
  Waits until the output from a process matches one of the patterns, a specified time period has
  passed, or an EOF is seen.
  
  If <strong>$match</strong> is provided, then it is filled with the result of search. The matched string can be
  found in <strong>$match[0]</strong>. The match substrings (according to the parentheses) in the original pattern
  can be found in <strong>$match[1]</strong>, <strong>$match[2]</strong>, and so on, up to <strong>$match[9]</strong> (the limitation of libexpect).

<comment>Param:</comment>
  <info>resource</info>  <strong>$expect</strong>  An Expect stream, previously opened with <strong>expect_popen()</strong>.
  <info>array</info>     <strong>$cases</strong>   An array of expect cases. Each expect case is an indexed array, as described in
                     the following table: Expect Case ArrayIndex KeyValue TypeDescriptionIs
                     MandatoryDefault Value0stringpattern, that will be matched against the output
                     from the streamyes1mixedvalue, that will be returned by this function, if the
                     pattern matchesyes2integer pattern type, one of: <info>EXP_GLOB</info>, <info>EXP_EXACT</info> or
                     <info>EXP_REGEXP</info> no<info>EXP_GLOB</info>

<comment>Return:</comment>
  <info>int</info>  Returns value associated with the pattern that was matched.
       
       On failure this function returns: <info>EXP_EOF</info>, <info>EXP_TIMEOUT</info> or <info>EXP_FULLBUFFER</info>

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


id: expect_popen
type: function
doc:
<comment>Description:</comment>
  Execute command via Bourne shell, and open the PTY stream to
    the process
  
  Execute command via Bourne shell, and open the PTY stream to the process.

<comment>Param:</comment>
  <info>string</info>  <strong>$command</strong>  Command to execute.

<comment>Return:</comment>
  <info>resource</info>  Returns an open PTY stream to the processes <return>stdio</return>, <return>stdout</return>, and <return>stderr</return>.
            
            On failure this function returns <info>false</info>.

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


id: explode
type: function
doc:
<comment>Description:</comment>
  使用一个字符串分割另一个字符串
  
  此函数返回由字符串组成的数组，每个元素都是 <strong>$string</strong> 的一个子串，它们被字符串 <strong>$separator</strong> 作为边界点
  分割出来。

<comment>Param:</comment>
  <info>string</info>  <strong>$separator</strong>  边界上的分隔字符。
  <info>string</info>  <strong>$string</strong>     输入的字符串。
  <info>int</info>     <strong>$limit</strong>      如果设置了 <strong>$limit</strong> 参数并且是正数，则返回的数组包含最多 <strong>$limit</strong> 个元素，而最后那
                      个元素将包含 <strong>$string</strong> 的剩余部分。
                      
                      如果 <strong>$limit</strong> 参数是负数，则返回除了最后的 -<strong>$limit</strong> 个元素外的所有元素。
                      
                      如果 <strong>$limit</strong> 是 0，则会被当做 1。

<comment>Return:</comment>
  <info>array</info>  此函数返回由字符串组成的 <info>array</info>，每个元素都是 <strong>$string</strong> 的一个子串，它们被字符串 <strong>$separator</strong> 作
         为边界点分割出来。
         
         如果 <strong>$separator</strong> 为空字符串（""），<strong>explode()</strong> 将抛出 <class>ValueError</class>。 如果 <strong>$separator</strong> 所包含的值
         在 <strong>$string</strong> 中找不到，并且使用了负数的 <strong>$limit</strong> ， 那么会返回空的 <info>array</info>， 否则返回包含 <strong>$string</strong>
         单个元素的数组。 如果 <strong>$separator</strong> 值出现在了 <strong>$string</strong> 参数的开头或末尾， 将在返回 <info>array</info> 相应
         的头部或尾部添加 <info>array</info> 空值。

<comment>See Also:</comment>
   * <strong>preg_split()</strong>
   * <strong>str_split()</strong>
   * <strong>mb_split()</strong>
   * <strong>str_word_count()</strong>
   * <strong>strtok()</strong>
   * <strong>implode()</strong>


id: expm1
type: function
doc:
<comment>Description:</comment>
  返回 exp($num) - 1，甚至当 number 的值接近零也能计算出准确结果
    
  
  <strong>expm1()</strong> 返回“exp(<strong>$num</strong>) - 1”，甚至当 <strong>$num</strong> 的值接近零也能计算出准确结果。但是当两个数值趋近于相等的
  时候，“exp (<strong>$num</strong>) - 1”就会变得不太准确。

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  要处理的参数

<comment>Return:</comment>
  <info>float</info>  “e”的 <strong>$num</strong> 次方减 1

<comment>See Also:</comment>
   * <strong>log1p()</strong>
   * <strong>exp()</strong>


id: expression
type: function
doc:
<comment>Description:</comment>
  Bind prepared statement variables as parameters
  
  本函数还未编写文档，仅有参数列表。

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

<comment>Return:</comment>
  <info>object</info>  


id: extension_loaded
type: function
doc:
<comment>Description:</comment>
  检查一个扩展是否已经加载
  
  检查一个扩展是否已经加载。

<comment>Param:</comment>
  <info>string</info>  <strong>$extension</strong>  扩展名称，大小写不敏感。
                      
                      你可以用 <strong>phpinfo()</strong> 来查看一系列扩展名称，而在 <return>CGI</return> 或 <return>CLI</return> 的 PHP 版本里你可以使
                      用 -m 参数来列出所有有效的扩展：

<comment>Return:</comment>
  <info>bool</info>  如果 <strong>$extension</strong> 指定的扩展已加载，返回 <info>true</info>，否则返回 <info>false</info>。

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


id: extract
type: function
doc:
<comment>Description:</comment>
  从数组中将变量导入到当前的符号表
  
  本函数用来将变量从数组中导入到当前的符号表中。
  
  检查每个键名看是否可以作为一个合法的变量名，同时也检查和符号表中已有的变量名的冲突。
  
  不要对不可信的数据使用 <strong>extract()</strong>，类似用户输入 （例如 $_GET、$_FILES）。

<comment>Param:</comment>
  <info>array</info>   <strong>$array</strong>   一个关联数组。此函数会将键名当作变量名，值作为变量的值。 对每个键／值对都会在当前
                   的符号表中建立变量，并受到 <strong>$flags</strong> 和 <strong>$prefix</strong> 参数的影响。
                   
                   必须使用关联数组，数字索引的数组将不会产生结果，除非用了 <info>EXTR_PREFIX_ALL</info> 或者
                   <info>EXTR_PREFIX_INVALID</info>。
  <info>int</info>     <strong>$flags</strong>   对待非法／数字和冲突的键名的方法将根据取出标记 <strong>$flags</strong> 参数决定。可以是以下值之
                   一： <info>EXTR_OVERWRITE</info> 如果有冲突，覆盖已有的变量。 <info>EXTR_SKIP</info> 如果有冲突，不覆盖已有
                   的变量。 <info>EXTR_PREFIX_SAME</info>如果有冲突，在变量名前加上前缀 <strong>$prefix</strong>。 <info>EXTR_PREFIX_ALL</info>
                   给所有变量名加上前缀 <strong>$prefix</strong>。 <info>EXTR_PREFIX_INVALID</info> 仅在非法／数字的变量名前加上前
                   缀 <strong>$prefix</strong>。 <info>EXTR_IF_EXISTS</info> 仅在当前符号表中已有同名变量时，覆盖它们的值。其它的
                   都不处理。 举个例子，以下情况非常有用：定义一些有效变量，然后从 $_REQUEST 中仅导
                   入这些已定义的变量。 <info>EXTR_PREFIX_IF_EXISTS</info> 仅在当前符号表中已有同名变量时，建立附
                   加了前缀的变量名，其它的都不处理。 <info>EXTR_REFS</info> 将变量作为引用提取。这有力地表明了导
                   入的变量仍然引用了 <strong>$array</strong> 参数的值。可以单独使用这个标志或者在 <strong>$flags</strong> 中用 OR 与
                   其它任何标志结合使用。
                   
                   如果有冲突，覆盖已有的变量。
                   
                   如果有冲突，不覆盖已有的变量。
                   
                   如果有冲突，在变量名前加上前缀 <strong>$prefix</strong>。
                   
                   给所有变量名加上前缀 <strong>$prefix</strong>。
                   
                   仅在非法／数字的变量名前加上前缀 <strong>$prefix</strong>。
                   
                   仅在当前符号表中已有同名变量时，覆盖它们的值。其它的都不处理。 举个例子，以下情况
                   非常有用：定义一些有效变量，然后从 $_REQUEST 中仅导入这些已定义的变量。
                   
                   仅在当前符号表中已有同名变量时，建立附加了前缀的变量名，其它的都不处理。
                   
                   将变量作为引用提取。这有力地表明了导入的变量仍然引用了 <strong>$array</strong> 参数的值。可以单独
                   使用这个标志或者在 <strong>$flags</strong> 中用 OR 与其它任何标志结合使用。
                   
                   如果没有指定 <strong>$flags</strong>，则被假定为 <info>EXTR_OVERWRITE</info>。
  <info>string</info>  <strong>$prefix</strong>  如果有冲突，在变量名前加上前缀 <strong>$prefix</strong>。
  <info>string</info>  <strong>$prefix</strong>  给所有变量名加上前缀 <strong>$prefix</strong>。
  <info>string</info>  <strong>$prefix</strong>  仅在非法／数字的变量名前加上前缀 <strong>$prefix</strong>。
  <info>array</info>   <strong>$array</strong>   将变量作为引用提取。这有力地表明了导入的变量仍然引用了 <strong>$array</strong> 参数的值。可以单独
                   使用这个标志或者在 <strong>$flags</strong> 中用 OR 与其它任何标志结合使用。
  <info>string</info>  <strong>$prefix</strong>  注意 <strong>$prefix</strong> 仅在 <strong>$flags</strong> 的值是 <info>EXTR_PREFIX_SAME</info>，<info>EXTR_PREFIX_ALL</info>，
                   <info>EXTR_PREFIX_INVALID</info> 或 <info>EXTR_PREFIX_IF_EXISTS</info> 时需要。 如果附加了前缀后的结果不是
                   合法的变量名，将不会导入到符号表中。前缀和数组键名之间会自动加上一个下划线。

<comment>Return:</comment>
  <info>int</info>  返回成功导入到符号表中的变量数目。

<comment>See Also:</comment>
   * <strong>compact()</strong>
   * <strong>list()</strong>


id: ezmlm_hash
type: function
doc:
<comment>Description:</comment>
  计算 EZMLM 所需的散列值
  
  <strong>ezmlm_hash()</strong> 计算用于在 MySQL 数据库中保存 EZMLM 邮件列表的散列值。

<comment>Param:</comment>
  <info>string</info>  <strong>$addr</strong>  要进行散列算法的电子邮件地址。

<comment>Return:</comment>
  <info>int</info>  <strong>$addr</strong> 的散列值。


id: fann_cascadetrain_on_data
type: function
doc:
<comment>Description:</comment>
  在整个数据集上训练，使用一段时间的 Cascade2 训练算法。
  
  级联输出改变小数是一个0到1之间的数字，表示在输出连接的训练中，为了使训练不停滞的情况下，经过
  <strong>fann_get_cascade_output_stagnation_epochs()</strong> 次迭代的后，<strong>fann_get_MSE()</strong> 将会改变多大。如果训练停滞
  了，训练的输出连接将会结束，新的候选神经元将会准备好。
  
  该训练使用由 fann_set_cascade_ 前缀设置的参数，但它也采用了另一种训练算法，即内部训练算法。该训练
  算法要么是 <strong>fann_set_training_algorithm()</strong> 设置的 <info>FANN_TRAIN_RPROP</info> 算法，要么是
  <info>FANN_TRAIN_QUICKPROP</info>，这些算法设置的参数同样也会影响到级联训练。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$data</strong>                     神经网络训练数据 <info>资源</info>。
  <info>int</info>       <strong>$max_neurons</strong>              被添加入神经网络中最大的神经元数。
  <info>int</info>       <strong>$neurons_between_reports</strong>  打印状态报告之间的神经元数。0表示没有报告会被打印。
  <info>float</info>     <strong>$desired_error</strong>            预期的 <strong>fann_get_MSE()</strong> 或 <strong>fann_get_bit_fail()</strong>, 取决于
                                      <strong>fann_set_train_stop_function()</strong> 选择的停止函数

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_cascadetrain_on_file()</strong>


id: fann_cascadetrain_on_file
type: function
doc:
<comment>Description:</comment>
  读取文件并在整个数据集上训练，使用 Cascade2 训练算法训练一段时间
  
  和 <strong>fann_cascadetrain_on_data()</strong> 函数做一样的工作，但是该函数是直接从文件读取训练数据的。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      神经网络 <info>资源</info>。
  <info>string</info>    <strong>$filename</strong>                 包含训练数据的文件。
  <info>int</info>       <strong>$max_neurons</strong>              添加到神经网络的最大神经元数。
  <info>int</info>       <strong>$neurons_between_reports</strong>  打印状态报告之间的神经元数量。0值表示没有报告打印。
  <info>float</info>     <strong>$desired_error</strong>            期望的 <strong>fann_get_MSE()</strong> 值或者 <strong>fann_get_bit_fail()</strong> 值， 取决于
                                      <strong>fann_set_train_stop_function()</strong> 函数选择的停止函数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_cascadetrain_on_data()</strong>


id: fann_clear_scaling_params
type: function
doc:
<comment>Description:</comment>
  清除缩放参数
  
  清除缩放参数

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。


id: fann_copy
type: function
doc:
<comment>Description:</comment>
  创建一个 fann 结构体的副本。
  
  创建一个 fann 结构体的副本。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>resource</info>  成功，返回神经网络资源的副本，失败则返回<info>false</info>

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


id: fann_create_from_file
type: function
doc:
<comment>Description:</comment>
  从配置文件中构建一个反向传播神经网络。
  
  从一个由 <strong>fann_save()</strong> 函数保存的配置文件中构建一个反向传播神经网络。

<comment>Param:</comment>
  <info>string</info>  <strong>$configuration_file</strong>  配置文件的路径。

<comment>Return:</comment>
  <info>resource</info>  成功时返回神经网络 <info>资源</info>，发生错误返回 <info>false</info>。

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


id: fann_create_shortcut
type: function
doc:
<comment>Description:</comment>
  创建一个含快捷连接而非全连接的标准反向传播神经网络。
  
  创建一个含快捷连接而非全连接标准反向传播神经网络。
  
  快捷连接是可以跳过网络层次的连接。一个包含快捷连接的全连接网络，表示在之后的网络层里所有的神经元都
  是互相连接的。包括输出层直接连接到输出层的连接。

<comment>Param:</comment>
  <info>int</info>  <strong>$num_layers</strong>    包括输入输出层在内的网络层的层数。。
  <info>int</info>  <strong>$num_neurons1</strong>  第一层神经元的数量。
  <info>int</info>  <strong>$num_neurons2</strong>  第二层神经元的数量。
  <info>int</info>  <strong>$num_neuronsN</strong>  其它层神经元的数量。

<comment>Return:</comment>
  <info>resource</info>  成功，返回神经网络的资源，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_create_shortcut_array()</strong>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_standard()</strong>


id: fann_create_shortcut_array
type: function
doc:
<comment>Description:</comment>
  创建一个含快捷连接而非全连接的标准反向传播神经网络。
  
  使用包含各层大小的数组创建一个含快捷连接而非全连接的标准反向传播神经网络。

<comment>Param:</comment>
  <info>int</info>    <strong>$num_layers</strong>  网络层数的总数，包含输入输出层。
  <info>array</info>  <strong>$layers</strong>      一个包含各层大小的数组。

<comment>Return:</comment>
  <info>resource</info>  成功，返回一个神经网络的资源，错误则返回 <info>false</info>

<comment>See Also:</comment>
   * <strong>fann_create_shortcut()</strong>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_standard()</strong>


id: fann_create_sparse
type: function
doc:
<comment>Description:</comment>
  创建一个标准的反向传播神经网络，该网络不是全连接。
  
  创建一个标准的反向传播神经网络，该网络不是全连接。

<comment>Param:</comment>
  <info>float</info>  <strong>$connection_rate</strong>  连接率控制着在网络中将会有多少连接，如果连接率设置为1，那么这个网络就是全
                           连接网络，但是如果设置为 0.5 将会设置一半的连接。连接率为1的结果和使用
                           <strong>fann_create_standard()</strong>函数的效果是一样的。
  <info>int</info>    <strong>$num_layers</strong>       神经网络层数，包括输入输出层。
  <info>int</info>    <strong>$num_neurons1</strong>     第一层网络的神经数。
  <info>int</info>    <strong>$num_neurons2</strong>     第二层网络的神经数。
  <info>int</info>    <strong>$num_neuronsN</strong>     其它层网络的神经数。

<comment>Return:</comment>
  <info>resource</info>  返回一个神经网络资源，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_create_sparse_array()</strong>
   * <strong>fann_create_standard()</strong>
   * <strong>fann_create_shortcut()</strong>


id: fann_create_sparse_array
type: function
doc:
<comment>Description:</comment>
  创建一个标准的反向传播神经网络，该网络使用一个表示每层大小的数组来构造，但是并不是全连接的。
  
  创建一个标准的反向传播神经网络，该网络使用一个表示每层大小的数组来构造，但是并不是全连接的。

<comment>Param:</comment>
  <info>float</info>  <strong>$connection_rate</strong>  连接率控制着在网络中将会有多少连接，如果连接率设置为1，那么这个网络就是全
                           连接网络，但是如果设置为0.5将会设置一半的连接。连接率为1的结果和使用
                           <strong>fann_create_standard()</strong>函数的效果是一样的。
  <info>int</info>    <strong>$num_layers</strong>       神经网络层数，包括输入输出层。
  <info>array</info>  <strong>$layers</strong>           表示每层大小的数组。

<comment>Return:</comment>
  <info>resource</info>  成功，返回神经网络的资源，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_standard()</strong>
   * <strong>fann_create_shortcut()</strong>


id: fann_create_standard
type: function
doc:
<comment>Description:</comment>
  创建标准的全连接反向传播神经网络。
  
  创建一个标准的全连接反向传播神经网络。
  
  每一层都将会有一个偏置神经元 (除了输出层), 该偏置神经元将会连接下一层所有的神经元。当运行网络时，
  偏置神经节点一直发出1信号。
  
  请使用 <strong>fann_destroy()</strong> 函数来销毁神经网络。

<comment>Param:</comment>
  <info>int</info>  <strong>$num_layers</strong>    神经网络层数，包括输入输出层。
  <info>int</info>  <strong>$num_neurons1</strong>  第一层神经元的数量。
  <info>int</info>  <strong>$num_neurons2</strong>  第二层神经元的数量。
  <info>int</info>  <strong>$num_neuronsN</strong>  其他层的神经数量。

<comment>Return:</comment>
  <info>resource</info>  成功，返回神经网络的资源，失败则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_create_standard_array()</strong>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_shortcut()</strong>


id: fann_create_standard_array
type: function
doc:
<comment>Description:</comment>
  创建一个全连接的反向传播神经网络，该网络使用一个表示每层大小的数组来构造。
  
  创建一个标准的全连接反向传播神经网络。
  
  每一层都将会有一个偏置神经元 (除了输出层),该偏置神经元将会连接下一层所有的神经元。当运行网络时，偏
  置神经节点一直发出1信号。
  
  请使用 <strong>fann_destroy()</strong> 函数来销毁神经网络。

<comment>Param:</comment>
  <info>int</info>    <strong>$num_layers</strong>  神经网络层数，包括输入输出层。
  <info>array</info>  <strong>$layers</strong>      表示每层大小的数组。

<comment>Return:</comment>
  <info>resource</info>  成功则返回神经网络，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_create_standard()</strong>
   * <strong>fann_create_sparse()</strong>
   * <strong>fann_create_shortcut()</strong>


id: fann_create_train
type: function
doc:
<comment>Description:</comment>
  创建一个空的训练数据结构。
  
  创建一个空的训练数据结构。

<comment>Param:</comment>
  <info>int</info>  <strong>$num_data</strong>    训练数据的数量。
  <info>int</info>  <strong>$num_input</strong>   每个训练数据集输入的数量。
  <info>int</info>  <strong>$num_output</strong>  每个训练数据集输出的数量。

<comment>Return:</comment>
  <info>resource</info>  成功时返回训练数据 <info>资源</info>，发生错误返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_read_train_from_file()</strong>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_destroy_train()</strong>
   * <strong>fann_save_train()</strong>


id: fann_create_train_from_callback
type: function
doc:
<comment>Description:</comment>
  从用户提供的函数创建训练数据结构。
  
  从用户提供的函数创建训练数据结构。当训练数据可数，用户需要构造一个用来接收训练数据集(包括输入，输
  出)数量和返回值为集合的函数。

<comment>Param:</comment>
  <info>int</info>       <strong>$num_data</strong>       训练数据的数量。
  <info>int</info>       <strong>$num_input</strong>      每个训练数据的输入数。
  <info>int</info>       <strong>$num_output</strong>     每个训练数据的输出数。
  <info>callable</info>  <strong>$user_function</strong>  用户提供的函数包含以下参数： <return>num</return> - 训练数据集的数量。<return>num_input</return> - 数量数
                            据的输入数。<return>num_output</return> - 数量数据的输出数。
                            
                            函数应该返回一个包含<return>input</return> 和 <return>output</return> 键的数组，并且这两个键的值分别表示输
                            入输出的值(皆为数组)。

<comment>Return:</comment>
  <info>resource</info>  成功时返回训练数据 <info>资源</info>，发生错误返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_read_train_from_file()</strong>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_destroy_train()</strong>
   * <strong>fann_save_train()</strong>


id: fann_descale_input
type: function
doc:
<comment>Description:</comment>
  在获取基于先前计算的参数之后，在输入向量中缩小数据
  
  在获取基于先前计算的参数之后，在输入向量中缩小数据。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>           神经网络 <info>资源</info>。
  <info>array</info>     <strong>$input_vector</strong>  将要被缩小的输入向量

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_scale_input()</strong>
   * <strong>fann_descale_output()</strong>


id: fann_descale_output
type: function
doc:
<comment>Description:</comment>
  在获取基于先前计算的参数之后，在输出向量中缩小数据
  
  在获取基于先前计算的参数之后，在输出向量中缩小数据。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            神经网络 <info>资源</info>。
  <info>array</info>     <strong>$output_vector</strong>  将被缩小的输出向量。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_scale_output()</strong>
   * <strong>fann_descale_input()</strong>


id: fann_descale_train
type: function
doc:
<comment>Description:</comment>
  基于先前计算的参数来缩小输入和输出数据
  
  基于先前计算的参数来缩小输入和输出数据。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>         神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$train_data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_scale_train()</strong>
   * <strong>fann_set_scaling_params()</strong>


id: fann_destroy
type: function
doc:
<comment>Description:</comment>
  销毁整个网络并且适当地释放所有的关联内存。
  
  销毁整个网络并且适当地释放所有的关联内存。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。


id: fann_destroy_train
type: function
doc:
<comment>Description:</comment>
  销毁训练数据。
  
  销毁训练数据。

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。


id: fann_duplicate_train_data
type: function
doc:
<comment>Description:</comment>
  返回 fann 训练数据精确的副本。
  
  返回 fann 训练数据精确的副本 <info>resource</info>。

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>resource</info>  成功时返回训练数据 <info>资源</info>，发生错误返回 <info>false</info>。


id: fann_get_MSE
type: function
doc:
<comment>Description:</comment>
  从网络中读取均方误差。
  
  从网络中读取均方误差。
  
  从网络中读取均方误差。该值是在训练或或测试中被计算的，因此如果权重在最后一次计算时已经改变，有时候
  会有点不太对劲。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，则返回均方误差, 错误则返回 <info>false</info> .

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


id: fann_get_activation_function
type: function
doc:
<comment>Description:</comment>
  返回激励函数
  
  获取在层数为 <return>layer</return> 的网络中神经元数为 <return>neuron</return>的激励函数，输入层被计为 0.
  
  在输入层是不能获取神经元激励函数的。
  
  返回值将会是激励函数 常量之一。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>     神经网络 <info>资源</info>。
  <info>int</info>       <strong>$layer</strong>   层数。
  <info>int</info>       <strong>$neuron</strong>  神经元数

<comment>Return:</comment>
  <info>int</info>  学习函数 常量或者如果神经未在神经网络中定义返回 -1， 错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_set_activation_function_layer()</strong>
   * <strong>fann_set_activation_function_hidden()</strong>
   * <strong>fann_set_activation_function_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_get_activation_steepness
type: function
doc:
<comment>Description:</comment>
  为提供的神经和网络层数返回激活陡度
  
  获取神经元数为 <return>neuron</return> 层数为 <return>layer</return>神经网络的激活陡度，将输入层数计为1层。
  
  在输入层中是不可能获取激活陡度。
  
  激活函数的陡度表明了激活函数从最小到最大有多块。一个高值表明将会提供一个更高效的训练。
  
  在训练神经网络时，输出值应该处于极端(通常是 0 和 1，取决于激励函数)，一般陡峭的激活函数将会被使用
  (比如为1.0时)。
  
  默认的激活陡度是0.5.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>     神经网络 <info>资源</info>。
  <info>int</info>       <strong>$layer</strong>   层数
  <info>int</info>       <strong>$neuron</strong>  神经元数

<comment>Return:</comment>
  <info>float</info>  激活陡度，当神经元在神经网络中没定义时为-1，错误时返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_set_activation_function()</strong>
   * <strong>fann_set_activation_steepness_layer()</strong>
   * <strong>fann_set_activation_steepness_hidden()</strong>
   * <strong>fann_set_activation_steepness_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>


id: fann_get_bias_array
type: function
doc:
<comment>Description:</comment>
  获取网络中每一层的偏差数
  
  获取网络中每一层的偏差数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>array</info>  包含每一层偏差数的数组。


id: fann_get_bit_fail
type: function
doc:
<comment>Description:</comment>
  失败位的数量
  
  失败位的数量：意味着输出神经元的数量多于失败位的限度 (参见 <strong>fann_get_bit_fail_limit()</strong>,
  <strong>fann_set_bit_fail_limit()</strong>). 位数将会在所有的训练数据中被计数，因此这个数字将会比训练数据的数量高一
  点。
  
  该值可以被 <strong>fann_reset_MSE()</strong> 函数重置，并且可以被能够更新MSE值的函数更新。(比如 <strong>fann_test_data()</strong>,
  <strong>fann_train_epoch()</strong>)

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功 ，返回失败位的数量，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_reset_MSE()</strong>
   * <strong>fann_test_data()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_bit_fail_limit()</strong>
   * <strong>fann_set_bit_fail_limit()</strong>


id: fann_get_bit_fail_limit
type: function
doc:
<comment>Description:</comment>
  返回训练期间使用的误差限制
  
  返回训练期间使用的误差限制。
  
  训练期间使用的误差限制，在 停止函数 中设置的 <info>FANN_STOPFUNC_BIT</info>.
  
  限度是训练过程中期望输出和实际输出之间的最大可接受差值。每个输出偏离超过这个限度将会被算作误差。不
  同的是在使用对称激活函数的时候这个值要除以2，因此对称或者不对称可以使用同样的限度。
  
  默认的误差限度是 0.35.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回误差限度，错误则返回 <info>false</info> .

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


id: fann_get_cascade_activation_functions
type: function
doc:
<comment>Description:</comment>
  返回级联激活函数
  
  层级激活函数数组是一个和被候选使用的不同的数组。
  
  参见 <strong>fann_get_cascade_num_candidates()</strong> 的描述，这个数组将会生成候选神经元。
  
  默认的激活函数是 <info>FANN_SIGMOID</info>, <info>FANN_SIGMOID_SYMMETRIC</info>, <info>FANN_GAUSSIAN</info>, <info>FANN_GAUSSIAN_SYMMETRIC</info>,
  <info>FANN_ELLIOT</info>, <info>FANN_ELLIOT_SYMMETRIC</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>array</info>  成功，返回层级激活函数数组，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_functions_count()</strong>
   * <strong>fann_set_cascade_activation_functions()</strong>


id: fann_get_cascade_activation_functions_count
type: function
doc:
<comment>Description:</comment>
  返回级联激活函数的数量
  
  在 <strong>fann_get_cascade_activation_functions()</strong> 函数数组的激活函数的数量。
  
  默认激活函数的数量为6.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，返回级联激活函数的数量，错误则返回<info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_functions()</strong>
   * <strong>fann_set_cascade_activation_functions()</strong>


id: fann_get_cascade_activation_steepnesses
type: function
doc:
<comment>Description:</comment>
  返回级联激活陡度
  
  层级激活函数数组是一个和被候选使用的不同的数组。
  
  参见 <strong>fann_get_cascade_num_candidates()</strong> 的描述，这个数组将会生成候选神经元。
  
  默认的激活陡度是{0.25, 0.50, 0.75, 1.00}.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>array</info>  成功，返回级联激活陡度，错误则返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_steepnesses_count()</strong>
   * <strong>fann_set_cascade_activation_steepnesses()</strong>


id: fann_get_cascade_activation_steepnesses_count
type: function
doc:
<comment>Description:</comment>
  激活陡度的数量
  
  <strong>fann_get_cascade_activation_functions()</strong> 数组中激活陡度的数量。
  
  默认的激活陡度的数量是 4.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功返回激活陡度数量，错误，则返回<info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_steepnesses()</strong>
   * <strong>fann_set_cascade_activation_functions()</strong>


id: fann_get_cascade_candidate_change_fraction
type: function
doc:
<comment>Description:</comment>
  返回级联候选变化分数
  
  返回级联候选变化分数是一个介于0到1之间的数字。该数字决定了在训练候选神经元使用
  <strong>fann_get_cascade_candidate_stagnation_epochs()</strong> 函数时 <strong>fann_get_MSE()</strong> 将会改变多大的分数,是为了不让
  这个训练停止。如果训练停止，候选神经元的训练将会被终止并且会选出最好的候选。
  
  这意味在<strong>fann_get_cascade_candidate_stagnation_epochs()</strong>期间如果 MSE 被
  <strong>fann_get_cascade_candidate_change_fraction()</strong>的分数更改，候选神经元的训练会因为训练的停滞而被停止。
  
  如果级联候选变化分数很低，这个候选神经元将训练越多，如果这个分数很高则训练的越少。
  
  默认的级联候选变化分数是 0.01, 等于 MSE 中1%的变化值。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，则返回级联候选变化分数，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_set_cascade_candidate_change_fraction()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_get_cascade_candidate_stagnation_epochs()</strong>


id: fann_get_cascade_candidate_limit
type: function
doc:
<comment>Description:</comment>
  返回候选限度
  
  候选限度表明将会有多少候选神经元被训练。该限度是 MSE 和候选分数之间的比例限度。
  
  将此值设置为低值以避免过于拟合，如果过度拟合并不是问题，则将其设置为更高的值。
  
  默认的候选限度是 1000.0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回候选限度，错误则返回 <info>false</info> .

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


id: fann_get_cascade_candidate_stagnation_epochs
type: function
doc:
<comment>Description:</comment>
  返回层叠候选停滞周期的数量
  
  层叠候选停滞周期的数量决定了在 <strong>fann_get_cascade_candidate_change_fraction()</strong> 不改变MSE分数的情况下
  继续进行的epochs训练的数量。
  
  更多信息参见 <strong>fann_get_cascade_candidate_change_fraction()</strong>.
  
  层叠候选停滞周期的数量是 12.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，返回层叠候选停滞周期的数量，错误则返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>fann_set_cascade_candidate_stagnation_epochs()</strong>
   * <strong>fann_get_cascade_candidate_change_fraction()</strong>


id: fann_get_cascade_max_cand_epochs
type: function
doc:
<comment>Description:</comment>
  返回候选周期的最大值
  
  候选周期的最大值决定了在添加新的候选神经元之前，候选输入连接周期的最大值。
  
  默认的最大候选周期是 150.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，返回最大的候选周期，错误则返回<info>false</info> .

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


id: fann_get_cascade_max_out_epochs
type: function
doc:
<comment>Description:</comment>
  返回输出周期的最大值
  
  输出周期的最大值决定了在添加新的候选神经元之后，输出连接周期的最大值。
  
  默认输出周期的最大值是 150.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回输出周期的最大值，错误则返回 <info>false</info> .

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


id: fann_get_cascade_min_cand_epochs
type: function
doc:
<comment>Description:</comment>
  返回最小的候选周期
  
  最小候选周期表示在添加新的候选神经元之前，输入连接到被训练的候选神经元最小的周期数。
  
  默认的最小候选周期是50.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，返回最小候选周期，错误则返回 <info>false</info> .

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


id: fann_get_cascade_min_out_epochs
type: function
doc:
<comment>Description:</comment>
  返回最小输出周期
  
  最小输出周期表明在加入新的候选神经元后输出连接必须训练的最小周期。
  
  默认的最小输出周期是50。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，返回最小的输出周期，错误则返回 <info>false</info> .

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


id: fann_get_cascade_num_candidate_groups
type: function
doc:
<comment>Description:</comment>
  返回候选组的数量
  
  候选组的数目是在训练期间使用的相同候选组的个数。
  
  这个数字可以用来有更多的候选，而不必为候选定义新的参数。
  
  参见 <strong>fann_get_cascade_num_candidates()</strong> 的描述。其中解释了这个参数将会生哪个成候选神经元。
  
  默认的候选组数为2.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，返回候选组数量，错误则返回 <info>false</info> .

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


id: fann_get_cascade_num_candidates
type: function
doc:
<comment>Description:</comment>
  返回训练期间使用的候选数量
  
  返回训练期间使用的候选数量 ( <strong>fann_get_cascade_activation_functions_count()</strong>,
  <strong>fann_get_cascade_activation_steepnesses_count()</strong> 和 <strong>fann_get_cascade_num_candidate_groups()</strong>)的和。
  
  实际的候选数是由 <strong>fann_get_cascade_activation_functions()</strong> 和
  <strong>fann_get_cascade_activation_steepnesses()</strong> 数组定义的。 这些数组定义的激活功能和激活的陡度用于候选
  神经元。如果在激活函数数组中有两个激活函数并且陡度数组中有三个陡度，则将会有2x3=6个不同的候选神经
  元被训练。  这6个不同的候选神经元将会被复制到几个候选组中，这些候选组不同之处在于他们的初始权重。
  如果组的数量设为2，则候选神经元的数量为2x3x2=12.候选组的数量是有
  <strong>fann_set_cascade_num_candidate_groups()</strong> 函数定义的。
  
  默认的候选神经元数量为 6x4x2 = 48

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，返回训练期间候选神经元的数量，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_functions()</strong>
   * <strong>fann_get_cascade_activation_functions_count()</strong>
   * <strong>fann_get_cascade_activation_steepnesses()</strong>
   * <strong>fann_get_cascade_activation_steepnesses_count()</strong>
   * <strong>fann_get_cascade_num_candidate_groups()</strong>


id: fann_get_cascade_output_change_fraction
type: function
doc:
<comment>Description:</comment>
  返回级联输出变化分数
  
  级联输出变化分数是一个介于0到1之间的数字，决定了在<strong>fann_get_cascade_output_stagnation_epochs()</strong>的输
  出连接训练中，<strong>fann_get_MSE()</strong>的值将改变多大才能保持训练不至于停滞。如果训练停滞了， If the training
  stagnates, 输出连接的训练将结束，新的候选神经元将准备。
  
  这就意味着如果在<strong>fann_get_cascade_output_stagnation_epochs()</strong>期间， MSE没有被
  <strong>fann_get_cascade_output_change_fraction()</strong> 改变, 因为训练的停滞将导致输出连接将被停止。
  
  如果级联输出改变分数很小，输出连接将会训练的更多，如果分数很大则会训练的更少。
  
  默认的级联输出改变分数是0.01，和MSE中的1%相等。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回级联输出更改分数，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_set_cascade_output_change_fraction()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_get_cascade_output_stagnation_epochs()</strong>


id: fann_get_cascade_output_stagnation_epochs
type: function
doc:
<comment>Description:</comment>
  返回级联输出停滞周期的数量
  
  级联输出停滞周期的数量表示在<strong>fann_get_cascade_output_change_fraction()</strong>不改变MSE的情况下，运行训练的
  周期数。
  
  更多详情参见 <strong>fann_get_cascade_output_change_fraction()</strong>。
  
  级联输出停滞周期的默认值是12。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回级联输出停滞周期，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_set_cascade_output_stagnation_epochs()</strong>
   * <strong>fann_get_cascade_output_change_fraction()</strong>


id: fann_get_cascade_weight_multiplier
type: function
doc:
<comment>Description:</comment>
  返回权重因子
  
  权重因子是用于在添加神经元到神经网络之前，和候选神经元权重相乘的参数。该参数的值通常介于0到1之间，
  用来使训练变得不那么积极。
  
  默认权重因子是 0.4.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回权重因子，错误则返回 <info>false</info> .

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


id: fann_get_connection_array
type: function
doc:
<comment>Description:</comment>
  获取网络中的连接。
  
  获取网络中的连接。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>array</info>  包含网络中所有连接的数组。


id: fann_get_connection_rate
type: function
doc:
<comment>Description:</comment>
  获取当网络创建时连接的使用率。
  
  获取当网络创建时连接的使用率。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，则返回当网络创建时连接的使用率, 错误则返回 <info>false</info> .


id: fann_get_errno
type: function
doc:
<comment>Description:</comment>
  返回最后一个错误数字。
  
  返回最后一个错误数字。

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>int</info>  成功，返回错误数字，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_reset_errno()</strong>
   * <strong>fann_get_errstr()</strong>


id: fann_get_errstr
type: function
doc:
<comment>Description:</comment>
  返回最后的错误字符串。
  
  返回最后的错误字符串。

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>string</info>  成功，返回最后的错误字符串,，失败则返回 <info>false</info> 。

<comment>See Also:</comment>
   * <strong>fann_reset_errstr()</strong>
   * <strong>fann_get_errno()</strong>


id: fann_get_layer_array
type: function
doc:
<comment>Description:</comment>
  获取网络中每层的神经元数量。
  
  获取网络中每层的神经元数量。
  
  偏差神经元不包括在内，所以层数是和 fann_create 函数组想匹配的。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>array</info>  包含每层神经元数量的数组。


id: fann_get_learning_momentum
type: function
doc:
<comment>Description:</comment>
  返回学习动量
  
  学习动量可用来加速 <info>FANN_TRAIN_INCREMENTAL</info> 训练。 一个过高的学习动量不利于训练。 动量设为0效果和没
  设一样。该参数的值建议在0.0到1.0之间。
  
  默认动量是 0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。
         
         正确，返回学习动量，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_set_learning_momentum()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_get_learning_rate
type: function
doc:
<comment>Description:</comment>
  返回学习速率
  
  学习率用来确定训练算法(<info>FANN_TRAIN_INCREMENTAL</info>, <info>FANN_TRAIN_BATCH</info>, <info>FANN_TRAIN_QUICKPROP</info>)中应该如何进
  行积极的训练。 不过，请注意这个函数不能用于 <info>FANN_TRAIN_RPROP</info>中。
  
  默认的学习速率是 0.7。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回学习速率，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_set_learning_rate()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_get_network_type
type: function
doc:
<comment>Description:</comment>
  获取所创建的神经网络类型。
  
  获取所创建的神经网络的类型。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回网络类型 常量, 错误则返回 <info>false</info> .


id: fann_get_num_input
type: function
doc:
<comment>Description:</comment>
  获取输入神经元的数量。
  
  获取输入神经元的数量。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回输入神经元的数量, 错误则返回 <info>false</info>


id: fann_get_num_layers
type: function
doc:
<comment>Description:</comment>
  获取神经网络的层数。
  
  获取神经网络的层数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回神经网络的层数，错误则返回 <info>false</info> .


id: fann_get_num_output
type: function
doc:
<comment>Description:</comment>
  获取输出神经元的数量。
  
  获取输出神经元的数量。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回输出神经元的数量, 错误则返回 <info>false</info> .


id: fann_get_quickprop_decay
type: function
doc:
<comment>Description:</comment>
  返回衰退值，用于在 quickprop 训练迭代时衰减权重
  
  衰退值是一个小的负数，用于在 quickprop 训练迭代时衰减权重。 这是用来确保训练时权重不要太高。
  
  默认衰退值是 -0.0001.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回衰退值，错误则返回 <info>false</info> .

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


id: fann_get_quickprop_mu
type: function
doc:
<comment>Description:</comment>
  返回放大系数
  
  放大系数被用来增加和降低 quickprop 训练期间的步长。放大系数应该始终大于1，因为当它增加时，它会减少
  步长。
  
  默认放大系数是 1.75.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回放大系数，错误则返回 <info>false</info> .

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


id: fann_get_rprop_decrease_factor
type: function
doc:
<comment>Description:</comment>
  返回 RPROP 训练期间的衰减系数
  
  衰减系数的值小于1，用于在 RPROP 训练期间减少的步长。
  
  The default decrease factor is 0.5.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回衰减系数，错误则返回 <info>false</info> .

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


id: fann_get_rprop_delta_max
type: function
doc:
<comment>Description:</comment>
  返回最大步长
  
  最大步长是正数，决定最大步长可能有多大。.
  
  默认的最大值是 50.0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功,返回最大步长，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_set_rprop_delta_max()</strong>
   * <strong>fann_get_rprop_delta_min()</strong>


id: fann_get_rprop_delta_min
type: function
doc:
<comment>Description:</comment>
  返回最小步长
  
  最小步长是一个小的正数，决定最小步长可能有多小。.
  
  默认的最小步长是 0.0.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回最小步长，错误则返回 <info>false</info> .

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


id: fann_get_rprop_delta_zero
type: function
doc:
<comment>Description:</comment>
  返回初始步长
  
  初始步长是确定初始步长的正数。
  
  默认的初始步长是 0.1.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，返回初始步长，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_set_rprop_delta_zero()</strong>
   * <strong>fann_get_rprop_delta_min()</strong>
   * <strong>fann_get_rprop_delta_max()</strong>


id: fann_get_rprop_increase_factor
type: function
doc:
<comment>Description:</comment>
  返回 RPROP 训练的递增系数
  
  递增系数是一个大于1的值，用于递增 RPROP 训练中的步长。
  
  默认的递进系数是 1.2

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回递进系数，错误则返回 <info>false</info> .

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


id: fann_get_sarprop_step_error_shift
type: function
doc:
<comment>Description:</comment>
  返回 sarprop 步值的误差偏移
  
  返回 sarprop 步值的误差偏移。
  
  默认的步值误差偏移是 1.385.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回 sarprop 步值误差偏移，错误则返回 <info>false</info> .

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


id: fann_get_sarprop_step_error_threshold_factor
type: function
doc:
<comment>Description:</comment>
  返回 sarprop 算法步值的误差阈值系数
  
  sarprop 算法步值的误差阈值系数。
  
  默认的系数是 0.1.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回 sarprop 算法步值的误差阈值系数，错误则返回 <info>false</info> .

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


id: fann_get_sarprop_temperature
type: function
doc:
<comment>Description:</comment>
  返回 sarprop 算法温度
  
  返回 sarprop 算法温度。
  
  默认温度是 0.015.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回 sarprop 温度，错误则返回 <info>false</info> .

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


id: fann_get_sarprop_weight_decay_shift
type: function
doc:
<comment>Description:</comment>
  返回 sarprop 算法权重衰减变化值
  
  sarprop 算法权重衰减变化值。
  
  默认的最大值是 -6.644.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，返回 sarprop 算法权重衰减变化值，错误则返回 <info>false</info> .

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


id: fann_get_total_connections
type: function
doc:
<comment>Description:</comment>
  获取整个网络中所有的连接数。
  
  获取整个网络中所有的连接数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回整个网络中所有的连接数, 错误则返回 <info>false</info> .


id: fann_get_total_neurons
type: function
doc:
<comment>Description:</comment>
  获取整个网络中神经元的数量。
  
  获取整个网络中神经元的数量。 这个数量也包括偏置神经元，因此一个2-4-2的网络有2+4+2+2（偏置神经元）
  =10个神经元。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回整个网络神经元的数量, 错误则返回 <info>false</info> .


id: fann_get_train_error_function
type: function
doc:
<comment>Description:</comment>
  返回训练中使用的错误函数。
  
  返回训练中使用的错误函数。
  
  有关于错误函数的详细描述，参见 error functions 静态变量。
  
  默认的错误函数是 <info>FANN_ERRORFUNC_TANH</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回 error function 静态变量, 错误则返回 <info>false</info> .

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


id: fann_get_train_stop_function
type: function
doc:
<comment>Description:</comment>
  返回训练中使用的停止函数。
  
  返回训练中使用的停止函数。
  
  停止函数的详细描述，参见stop functions 常量。
  
  默认的停止函数是 <info>FANN_STOPFUNC_MSE</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回 stop function 常量, 错误则返回 <info>false</info> .

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


id: fann_get_training_algorithm
type: function
doc:
<comment>Description:</comment>
  返回训练算法。
  
  返回训练算法。该训练算法是被 <strong>fann_train_on_data()</strong> 和相关函数使用的。
  
  要注意的是这个算法在<strong>fann_cascadetrain_on_data()</strong>函数中也是可以使用的, 尽管在层叠训练中只有
  <info>FANN_TRAIN_RPROP</info> 和 <info>FANN_TRAIN_QUICKPROP</info> 算法被允许使用。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，返回训练算法 常量, 错误则返回 <info>false</info> .

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


id: fann_init_weights
type: function
doc:
<comment>Description:</comment>
  使用 Widrow 和 Nguyen 算法初始化权重。
  
  使用 Widrow 和 Nguyen 算法初始化权重。
  
  该函数的作用和 <strong>fann_randomize_weights()</strong>函数相似。 该函数将会使用 Derrick Nguyen 和 Bernard Widrow
  开发的算法来设置权重用于加速训练。 该技术不是经常奏效，在某些场景下比纯粹的随机初始化来得更低效。
  
  该算法要求获取输入数据的范围(比如 最大和最小输入)，因此接受别的参数，数据(将会在网络中训练的数
  据)。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>         神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$train_data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_randomize_weights()</strong>
   * <strong>fann_read_train_from_file()</strong>


id: fann_length_train_data
type: function
doc:
<comment>Description:</comment>
  返回训练数据中训练模式的数量。
  
  返回训练数据中训练模式的数量。 <info>resource</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回训练数据<info>resource</info>中的元素数，错误则返回 <info>false</info> .


id: fann_merge_train_data
type: function
doc:
<comment>Description:</comment>
  合并训练数据。
  
  将 data1 和 data2 数据集合并为新的训练数据 <info>resource</info>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$data1</strong>  神经网络训练数据 <info>资源</info>。
  <info>resource</info>  <strong>$data2</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>resource</info>  成功，则返回合并的训练数据 <info>resource</info>, 错误则返回 <info>false</info> .


id: fann_num_input_train_data
type: function
doc:
<comment>Description:</comment>
  返回训练数据中每个训练模式输入的数量。
  
  返回训练数据<info>resource</info>中每个训练模式输入的数量。

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回输入数，错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_length_train_data()</strong>
   * <strong>fann_num_output_train_data()</strong>


id: fann_num_output_train_data
type: function
doc:
<comment>Description:</comment>
  返回训练数据中每个训练模式输出的数量。
  
  返回训练数据 <info>resource</info>中每个训练模式输出的数量。

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>int</info>  成功，则返回输出数, 错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_length_train_data()</strong>
   * <strong>fann_num_input_train_data()</strong>


id: fann_print_error
type: function
doc:
<comment>Description:</comment>
  打印错误字符串
  
  打印错误字符串。

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>void</info>  无返回值。

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


id: fann_randomize_weights
type: function
doc:
<comment>Description:</comment>
  给每个连接赋一个介于 min_weight 和 max_weight 之间的随机权重。
  
  给每个连接赋一个介于 <strong>$min_weight</strong> 和 <strong>$max_weight</strong>之间的随机权重。
  
  从一开始权重介于 -0.1 和 0.1之间。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>         神经网络 <info>资源</info>。
  <info>float</info>     <strong>$min_weight</strong>  最小权重值
  <info>float</info>     <strong>$max_weight</strong>  最大权重值

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_read_train_from_file
type: function
doc:
<comment>Description:</comment>
  读取存储训练数据的文件。
  
  读取存储训练数据的文件。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  输入文件的格式如下:

<comment>Return:</comment>
  <info>resource</info>  成功时返回训练数据 <info>资源</info>，发生错误返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_destroy_train()</strong>
   * <strong>fann_save_train()</strong>


id: fann_reset_MSE
type: function
doc:
<comment>Description:</comment>
  重置网络中的均方误差。
  
  重置网络中的均方误差。
  
  该函数也会重置失败时位的数量。

<comment>Param:</comment>
  <info>string</info>  <strong>$ann</strong>  神经网络 <info>资源</info>。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_get_bit_fail()</strong>
   * <strong>fann_get_bit_fail_limit()</strong>


id: fann_reset_errno
type: function
doc:
<comment>Description:</comment>
  重置最后的错误代码。
  
  重置最后的错误代码。

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>void</info>  无返回值。

<comment>See Also:</comment>
   * <strong>fann_get_errno()</strong>
   * <strong>fann_reset_errstr()</strong>


id: fann_reset_errstr
type: function
doc:
<comment>Description:</comment>
  重置最后的错误字符串。
  
  重置最后的错误字符串。

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>  Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.

<comment>Return:</comment>
  <info>void</info>  无返回值。

<comment>See Also:</comment>
   * <strong>fann_get_errstr()</strong>
   * <strong>fann_reset_errno()</strong>


id: fann_run
type: function
doc:
<comment>Description:</comment>
  将通过神经网络运行输入。
  
  将通过神经网络运行输入，返回输出数组，数组的长度等于输出层神经元的个数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>    神经网络 <info>资源</info>。
  <info>array</info>     <strong>$input</strong>  输入数组的值。

<comment>Return:</comment>
  <info>array</info>  成功，返回输出数组，错误则返回 <info>false</info> .


id: fann_save
type: function
doc:
<comment>Description:</comment>
  将整个网络保存至配置文件。
  
  将整个网络保存至配置文件。
  
  配置文件包含了神经网络的所有信息，并且能够通过 <strong>fann_create_from_file()</strong> 函数来创建一个原神经网络的
  精确副本以及与神经网络关联的所有参数。
  
  这三个参数 (<strong>fann_set_callback()</strong>, <strong>fann_set_error_log()</strong>, <strong>fann_set_user_data()</strong>) 不保存在文件中，因为
  他们不能被安全地移植到不同的位置。当使用类似 <strong>fann_get_MSE()</strong> 函数训练时，生成的临时参数也不会被保存
  起来。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                 神经网络 <info>资源</info>。
  <info>string</info>    <strong>$configuration_file</strong>  配置文件的路径。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_save_train
type: function
doc:
<comment>Description:</comment>
  将训练结构体保存至文件。
  
  将训练结构体保存至文件， 格式和 <strong>fann_read_train_from_file()</strong> 函数中指定的一样。

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>       神经网络训练数据 <info>资源</info>。
  <info>string</info>    <strong>$file_name</strong>  保存训练数据的文件名。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_scale_input
type: function
doc:
<comment>Description:</comment>
  在以前计算参数的基础上，在训练之前放大输入向量中的数据
  
  在以前计算参数的基础上，在训练之前放大输入向量中的数据。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>           神经网络 <info>资源</info>。
  <info>array</info>     <strong>$input_vector</strong>  将要被缩放的输入向量。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_descale_input()</strong>
   * <strong>fann_scale_output()</strong>


id: fann_scale_input_train_data
type: function
doc:
<comment>Description:</comment>
  在训练数据中缩放输入至指定范围
  
  在训练数据中缩放输入至指定范围。

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  神经网络训练数据 <info>资源</info>。
  <info>float</info>     <strong>$new_min</strong>     训练数据中缩放输入后新的最小值。
  <info>float</info>     <strong>$new_max</strong>     训练数据中缩放数据后新的最大值。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_scale_output_train_data()</strong>
   * <strong>fann_scale_train_data()</strong>


id: fann_scale_output
type: function
doc:
<comment>Description:</comment>
  在以前计算参数的基础上，在训练之前放大输出向量中的数据
  
  在以前计算参数的基础上，在训练之前放大输出向量中的数据。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            神经网络 <info>资源</info>。
  <info>array</info>     <strong>$output_vector</strong>  将要被缩放的输出向量

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_descale_output()</strong>
   * <strong>fann_scale_input()</strong>


id: fann_scale_output_train_data
type: function
doc:
<comment>Description:</comment>
  在训练数据中缩放输出至指定范围
  
  在训练数据中缩放输出至指定范围。

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  神经网络训练数据 <info>资源</info>。
  <info>float</info>     <strong>$new_min</strong>     训练数据中缩放输出后新的最小值。
  <info>float</info>     <strong>$new_max</strong>     训练数据中缩放输出后新的最大值。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_scale_input_train_data()</strong>
   * <strong>fann_scale_train_data()</strong>


id: fann_scale_train
type: function
doc:
<comment>Description:</comment>
  在以前计算参数的基础上，缩放输入和输出数据
  
  在以前计算参数的基础上，缩放输入和输出数据。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>         神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$train_data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_descale_train()</strong>
   * <strong>fann_set_scaling_params()</strong>


id: fann_scale_train_data
type: function
doc:
<comment>Description:</comment>
  在训练数据中缩放输入和输出到指定的范围
  
  在训练数据中缩放输入和输出到指定的范围。

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  神经网络训练数据 <info>资源</info>。
  <info>float</info>     <strong>$new_min</strong>     在训练数据中缩放输入和输出后新的最小值。
  <info>float</info>     <strong>$new_max</strong>     在训练数据中缩放输入和输出后新的最大值。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_scale_output_train_data()</strong>
   * <strong>fann_scale_input_train_data()</strong>


id: fann_set_activation_function
type: function
doc:
<comment>Description:</comment>
  为已应用的神经元和层设置激活函数
  
  为层数为 <return>layer</return>，神经经元数为 <return>neuron</return> 的神经元设置激活函数，将输入层记为0.
  
  在输出层中的神经元设置激活函数是不可能的。
  
  在选择激活函数时，注意激活函数有不同的范围，这个很重要哦。 <info>FANN_SIGMOID</info> 就是个例子。它的范围是0
  -1，然而 <info>FANN_SIGMOID_SYMMETRIC</info> 的范围是-1 - 1， <info>FANN_LINEAR</info> 却是无限的。
  
  应用的激活函数应该是激活函数常量之一。
  
  返回值是激活函数常量之一。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  神经网络 <info>资源</info>。
  <info>int</info>       <strong>$activation_function</strong>  激活函数常量。
  <info>int</info>       <strong>$layer</strong>                层数。
  <info>int</info>       <strong>$neuron</strong>               神经元数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_set_activation_function_layer()</strong>
   * <strong>fann_set_activation_function_hidden()</strong>
   * <strong>fann_set_activation_function_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_get_activation_function()</strong>


id: fann_set_activation_function_hidden
type: function
doc:
<comment>Description:</comment>
  为所有隐藏层设置激活函数
  
  为所有隐藏层设置激活函数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  神经网络 <info>资源</info>。
  <info>int</info>       <strong>$activation_function</strong>  激活函数 常量。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_set_activation_function()</strong>
   * <strong>fann_set_activation_function_layer()</strong>
   * <strong>fann_set_activation_function_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>


id: fann_set_activation_function_layer
type: function
doc:
<comment>Description:</comment>
  为已应用的层中所有的神经元设置激活函数
  
  为层数为 <return>layer</return> 的所有神经元设置激活函数，将输入层计为0.
  
  在输入层中为神经元设置激活函数是不可能的。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  神经网络 <info>资源</info>。
  <info>int</info>       <strong>$activation_function</strong>  激活函数 常量。
  <info>int</info>       <strong>$layer</strong>                层数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_set_activation_function()</strong>
   * <strong>fann_set_activation_function_hidden()</strong>
   * <strong>fann_set_activation_function_output()</strong>
   * <strong>fann_set_activation_steepness()</strong>


id: fann_set_activation_function_output
type: function
doc:
<comment>Description:</comment>
  为输出层设置激活函数
  
  为输出层设置激活函数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  神经网络 <info>资源</info>。
  <info>int</info>       <strong>$activation_function</strong>  激活函数 常量。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_set_activation_function()</strong>
   * <strong>fann_set_activation_function_layer()</strong>
   * <strong>fann_set_activation_function_hidden()</strong>
   * <strong>fann_set_activation_steepness()</strong>


id: fann_set_activation_steepness
type: function
doc:
<comment>Description:</comment>
  为提供的神经元和层设置激活陡度
  
  为层数为 <return>layer</return>，神经元数为 <return>neuron</return> 的神经元设置激活陡度，输出层的层数计为0。
  
  为输入层中的神经元设置激活陡度是不可能的。.
  
  激活函数的陡度表示激活从最大值到最小值有多快。一个高的激活函数值也会导致一个更积极的训练。
  
  当训练神经网络中输出值处于一个极端值(通常为0或者1，取决于激活函数)时，可以使用陡峭的激活函数(比如
  1.0)。
  
  默认激活陡度是0.5。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                   神经网络 <info>资源</info>。
  <info>float</info>     <strong>$activation_steepness</strong>  激活陡度。
  <info>int</info>       <strong>$layer</strong>                 层数。
  <info>int</info>       <strong>$neuron</strong>                神经元数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_set_activation_steepness_layer()</strong>
   * <strong>fann_set_activation_steepness_hidden()</strong>
   * <strong>fann_set_activation_steepness_output()</strong>
   * <strong>fann_get_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_set_activation_steepness_hidden
type: function
doc:
<comment>Description:</comment>
  为所有隐藏层中所有的神经元设置激活函数陡度
  
  为所有隐藏层中所有的神经元设置激活陡度。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                   神经网络 <info>资源</info>。
  <info>float</info>     <strong>$activation_steepness</strong>  激活陡度。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_set_activation_steepness_layer()</strong>
   * <strong>fann_set_activation_steepness_output()</strong>
   * <strong>fann_get_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_set_activation_steepness_layer
type: function
doc:
<comment>Description:</comment>
  为提供的层中所有的神经元设置激活陡度
  
  为层数为 <return>layer</return> 中所有的神经元设置激活陡度，将输入层计为0。
  
  在输出层中设置激活陡度是不可能的。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                   神经网络 <info>资源</info>。
  <info>float</info>     <strong>$activation_steepness</strong>  激活陡度。
  <info>int</info>       <strong>$layer</strong>                 层数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_set_activation_steepness_hidden()</strong>
   * <strong>fann_set_activation_steepness_output()</strong>
   * <strong>fann_get_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_set_activation_steepness_output
type: function
doc:
<comment>Description:</comment>
  在输出层中设置激活陡度
  
  在输出层中设置激活陡度。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                   神经网络 <info>资源</info>。
  <info>float</info>     <strong>$activation_steepness</strong>  激活陡度。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_set_activation_steepness()</strong>
   * <strong>fann_set_activation_steepness_layer()</strong>
   * <strong>fann_set_activation_steepness_hidden()</strong>
   * <strong>fann_get_activation_steepness()</strong>
   * <strong>fann_set_activation_function()</strong>


id: fann_set_bit_fail_limit
type: function
doc:
<comment>Description:</comment>
  设置训练期间使用的误差
  
  设置训练期间使用的误差。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             神经网络 <info>资源</info>。
  <info>float</info>     <strong>$bit_fail_limit</strong>  误差。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_callback
type: function
doc:
<comment>Description:</comment>
  设置训练期间使用的回调函数。
  
  设置训练期间使用的回调函数。 这意味着它被<strong>fann_train_on_data()</strong> 或 <strong>fann_train_on_file()</strong>调用。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>       神经网络 <info>资源</info>。
  <info>callable</info>  <strong>$callback</strong>  提供的回调函数接受以下参数： <return>ann</return> - 神经网络 <info>resource</info><return>train</return> - 训练数据 <info>resource</info>
                       或者 当被 <strong>fann_train_on_file()</strong> 为 <info>null</info><return>max_epochs</return> - 训练将进行的最大周期数。
                       <return>epochs_between_reports</return> - 在调用该函数之前训练进行的最大周期数。<return>desired_error</return>
                       - 期望的 <strong>fann_get_MSE()</strong> 或者 <strong>fann_get_bit_fail()</strong>, 取决于
                       <strong>fann_set_train_stop_function()</strong>函数选择的停止函数。<return>epochs</return> - The current epoch
                       
                       回调将会返回 <info>true</info>. 如果返回 <info>false</info>, 表明训练将会终止。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_train_on_file()</strong>


id: fann_set_cascade_activation_functions
type: function
doc:
<comment>Description:</comment>
  设置级联候选激活函数的数组
  
  设置级联候选激活函数的数组。
  
  想知道哪个候选神经元将会被该数组生成,参见 <strong>fann_get_cascade_num_candidates()</strong> .

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                           神经网络 <info>资源</info>。
  <info>array</info>     <strong>$cascade_activation_functions</strong>  级联候选激活函数数组。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_functions_count()</strong>
   * <strong>fann_set_cascade_activation_functions()</strong>


id: fann_set_cascade_activation_steepnesses
type: function
doc:
<comment>Description:</comment>
  设置级联候选激活陡度的数组。
  
  设置级联候选激活陡度的数组。
  
  想知道哪个候选神经元将会被该数组生成，参见 <strong>fann_get_cascade_num_candidates()</strong> .

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                                   神经网络 <info>资源</info>。
  <info>array</info>     <strong>$cascade_activation_steepnesses_count</strong>  级联候选激活陡度数组。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_get_cascade_activation_steepnesses()</strong>
   * <strong>fann_get_cascade_activation_steepnesses_count()</strong>


id: fann_set_cascade_candidate_change_fraction
type: function
doc:
<comment>Description:</comment>
  设置级联候选更改分数
  
  设置级联候选更改分数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                                神经网络 <info>资源</info>。
  <info>float</info>     <strong>$cascade_candidate_change_fraction</strong>  级联候选更改分数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_candidate_limit
type: function
doc:
<comment>Description:</comment>
  设置候选限度
  
  设置候选限度。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      神经网络 <info>资源</info>。
  <info>float</info>     <strong>$cascade_candidate_limit</strong>  候选限度。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_candidate_stagnation_epochs
type: function
doc:
<comment>Description:</comment>
  设置级联候选停止周期数
  
  设置级联候选停止周期数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                                  神经网络 <info>资源</info>。
  <info>int</info>       <strong>$cascade_candidate_stagnation_epochs</strong>  级联候选停止周期数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_max_cand_epochs
type: function
doc:
<comment>Description:</comment>
  设置最大候选周期数
  
  设置最大候选周期数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      神经网络 <info>资源</info>。
  <info>int</info>       <strong>$cascade_max_cand_epochs</strong>  设置最大候选周期数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_max_out_epochs
type: function
doc:
<comment>Description:</comment>
  设置最大输出周期
  
  设置最大输出周期。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                     神经网络 <info>资源</info>。
  <info>int</info>       <strong>$cascade_max_out_epochs</strong>  最大输出周期。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_min_cand_epochs
type: function
doc:
<comment>Description:</comment>
  设置最小候选周期
  
  设置最小候选周期。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                      神经网络 <info>资源</info>。
  <info>int</info>       <strong>$cascade_min_cand_epochs</strong>  设置最小候选周期。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_min_out_epochs
type: function
doc:
<comment>Description:</comment>
  设置最小输出周期
  
  设置最小输出周期。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                     神经网络 <info>资源</info>。
  <info>int</info>       <strong>$cascade_min_out_epochs</strong>  最小输出周期。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_num_candidate_groups
type: function
doc:
<comment>Description:</comment>
  设置候选组数量
  
  设置候选组数量。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                           神经网络 <info>资源</info>。
  <info>int</info>       <strong>$cascade_num_candidate_groups</strong>  候选组数量。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_output_change_fraction
type: function
doc:
<comment>Description:</comment>
  设置级联输出改变分数
  
  设置级联输出改变分数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                             神经网络 <info>资源</info>。
  <info>float</info>     <strong>$cascade_output_change_fraction</strong>  级联输出改变分数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_output_stagnation_epochs
type: function
doc:
<comment>Description:</comment>
  设置级联输出停滞周期的值
  
  设置级联输出停滞周期的值。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                               神经网络 <info>资源</info>。
  <info>int</info>       <strong>$cascade_output_stagnation_epochs</strong>  级联输出停滞周期的值

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_cascade_weight_multiplier
type: function
doc:
<comment>Description:</comment>
  设置权重因子
  
  设置权重因子。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                        神经网络 <info>资源</info>。
  <info>float</info>     <strong>$cascade_weight_multiplier</strong>  权重因子。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_error_log
type: function
doc:
<comment>Description:</comment>
  设置错误记录保存的位置。
  
  设置错误记录保存的位置。

<comment>Param:</comment>
  <info>resource</info>  <strong>$errdat</strong>    Either neural network <info>resource</info> or neural network trainining data <info>resource</info>.
  <info>string</info>    <strong>$log_file</strong>  日志文件的路径。

<comment>Return:</comment>
  <info>void</info>  无返回值。


id: fann_set_input_scaling_params
type: function
doc:
<comment>Description:</comment>
  根据训练数据计算将来使用的输入比例参数
  
  根据训练数据计算将来使用的输入比例参数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$train_data</strong>     神经网络训练数据 <info>资源</info>。
  <info>float</info>     <strong>$new_input_min</strong>  缩放后输入数据的期望下限 (不严格遵循)
  <info>float</info>     <strong>$new_input_max</strong>  缩放后输入数据的期望上线 (不严格遵循)

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_learning_momentum
type: function
doc:
<comment>Description:</comment>
  设置学习动量。
  
  设置学习动量。
  
  更多信息，参见 <strong>fann_get_learning_momentum()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                神经网络 <info>资源</info>。
  <info>float</info>     <strong>$learning_momentum</strong>  学习动量。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_get_learning_momentum()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_set_learning_rate
type: function
doc:
<comment>Description:</comment>
  设置学习速率。
  
  设置学习速率。
  
  更新信息，参见 <strong>fann_get_learning_rate()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            神经网络 <info>资源</info>。
  <info>float</info>     <strong>$learning_rate</strong>  学习速率。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_get_learning_rate()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_set_output_scaling_params
type: function
doc:
<comment>Description:</comment>
  根据训练数据计算将来使用的输出缩放参数
  
  根据训练数据计算将来使用的输出缩放参数

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$train_data</strong>      神经网络训练数据 <info>资源</info>。
  <info>float</info>     <strong>$new_output_min</strong>  缩放后输出数据的期望下限(不严格遵循)
  <info>float</info>     <strong>$new_output_max</strong>  缩放后输出数据的期望上限(不严格遵循)

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_quickprop_decay
type: function
doc:
<comment>Description:</comment>
  设置quickprop算法衰减因子
  
  设置quickprop算法衰减因子。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>              神经网络 <info>资源</info>。
  <info>float</info>     <strong>$quickprop_decay</strong>  quickprop算法衰减因子。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_quickprop_mu
type: function
doc:
<comment>Description:</comment>
  设置 quickprop 算法放大因子
  
  设置 quickprop 算法放大因子。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>           神经网络 <info>资源</info>。
  <info>float</info>     <strong>$quickprop_mu</strong>  放大因子。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_rprop_decrease_factor
type: function
doc:
<comment>Description:</comment>
  使用 RPROP 算法训练时，设置下降因子
  
  使用 RPROP 算法训练时，设置下降因子。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                    神经网络 <info>资源</info>。
  <info>float</info>     <strong>$rprop_decrease_factor</strong>  下降因子。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_rprop_delta_max
type: function
doc:
<comment>Description:</comment>
  设置最大步长
  
  最大步长是一个正数，决定最大步长可能有多大。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>              神经网络 <info>资源</info>。
  <info>float</info>     <strong>$rprop_delta_max</strong>  最大步长。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_get_rprop_delta_max()</strong>
   * <strong>fann_get_rprop_delta_min()</strong>


id: fann_set_rprop_delta_min
type: function
doc:
<comment>Description:</comment>
  设置最小步长
  
  最小步长是一个小的正数，决定最小步长可能有多小。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>              神经网络 <info>资源</info>。
  <info>float</info>     <strong>$rprop_delta_min</strong>  最小步长。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_rprop_delta_zero
type: function
doc:
<comment>Description:</comment>
  设置初始步长
  
  初始步长是确定初始步长的正数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>               神经网络 <info>资源</info>。
  <info>float</info>     <strong>$rprop_delta_zero</strong>  初始步长。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_get_rprop_delta_zero()</strong>
   * <strong>fann_get_rprop_delta_min()</strong>
   * <strong>fann_get_rprop_delta_max()</strong>


id: fann_set_rprop_increase_factor
type: function
doc:
<comment>Description:</comment>
  使用 RPROP 算法训练时，设置增长因子
  
  使用 RPROP 算法训练时，设置增长因子。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                    神经网络 <info>资源</info>。
  <info>float</info>     <strong>$rprop_increase_factor</strong>  增长因子。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_sarprop_step_error_shift
type: function
doc:
<comment>Description:</comment>
  设置 sarprop 算法的步误差偏移量
  
  设置 sarprop 算法的步误差偏移量。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                       神经网络 <info>资源</info>。
  <info>float</info>     <strong>$sarprop_step_error_shift</strong>  sarprop 算法的步误差偏移量.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_sarprop_step_error_threshold_factor
type: function
doc:
<comment>Description:</comment>
  设置 sarprop 算法的步误差阈值因子
  
  设置 sarprop 算法的步误差阈值因子。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                                  神经网络 <info>资源</info>。
  <info>float</info>     <strong>$sarprop_step_error_threshold_factor</strong>  sarprop 算法的步误差阈值因子。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_sarprop_temperature
type: function
doc:
<comment>Description:</comment>
  设置 sarprop 算法的温度
  
  设置 sarprop 算法的温度。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                  神经网络 <info>资源</info>。
  <info>float</info>     <strong>$sarprop_temperature</strong>  sarprop 算法的温度。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_sarprop_weight_decay_shift
type: function
doc:
<comment>Description:</comment>
  设置 sarprop 算法的权重衰减偏移值
  
  设置 sarprop 算法的权重衰减偏移值。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                         神经网络 <info>资源</info>。
  <info>float</info>     <strong>$sarprop_weight_decay_shift</strong>  sarprop 算法的权重衰减偏移值。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_scaling_params
type: function
doc:
<comment>Description:</comment>
  根据训练数据计算输入和输出缩放参数以供将来使用
  
  根据训练数据计算输入和输出缩放参数以供将来使用。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$train_data</strong>      神经网络训练数据 <info>资源</info>。
  <info>float</info>     <strong>$new_input_min</strong>   缩放后输入数据的期望下限 (不严格遵循)
  <info>float</info>     <strong>$new_input_max</strong>   缩放后输入数据的期望上限 (不严格遵循)
  <info>float</info>     <strong>$new_output_min</strong>  缩放后输出数据的期望下限 (不严格遵循)
  <info>float</info>     <strong>$new_output_max</strong>  缩放后输出数据的期望上限 (不严格遵循)

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_set_input_scaling_params()</strong>
   * <strong>fann_set_output_scaling_params()</strong>


id: fann_set_train_error_function
type: function
doc:
<comment>Description:</comment>
  设置训练期间使用的错误函数。
  
  设置训练期间使用的错误函数。
  
  更多错误函数的信息，参见 error functions 常量.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             神经网络 <info>资源</info>。
  <info>int</info>       <strong>$error_function</strong>  error function 常量。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_train_stop_function
type: function
doc:
<comment>Description:</comment>
  设置训练期间使用的停止函数。
  
  设置训练期间使用的停止函数。
  
  停止函数更多详情，参见 stop functions 常量。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>            神经网络 <info>资源</info>。
  <info>int</info>       <strong>$stop_function</strong>  stop function 常量。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_training_algorithm
type: function
doc:
<comment>Description:</comment>
  设置训练算法。
  
  设置训练算法。
  
  更多信息参见 <strong>fann_get_training_algorithm()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                 神经网络 <info>资源</info>。
  <info>int</info>       <strong>$training_algorithm</strong>  Training algorithm 常量

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

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


id: fann_set_weight
type: function
doc:
<comment>Description:</comment>
  在网络中设置一个连接。
  
  在网络中设置一个连接。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>          神经网络 <info>资源</info>。
  <info>int</info>       <strong>$from_neuron</strong>  连接开始处的神经元。
  <info>int</info>       <strong>$to_neuron</strong>    连接结束处的神经元。
  <info>float</info>     <strong>$weight</strong>       连接权重。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。


id: fann_set_weight_array
type: function
doc:
<comment>Description:</comment>
  在网络中设置一个连接。
  
  在网络中设置一个连接。
  
  只有权重将会被改变，连接和权重将被忽略如果它们不存在于网络中。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>          神经网络 <info>资源</info>。
  <info>array</info>     <strong>$connections</strong>  一个包含 <class>FANNConnection</class> 对象的数组。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。


id: fann_shuffle_train_data
type: function
doc:
<comment>Description:</comment>
  打算训练数据，使顺序随机。
  
  打算训练数据，使顺序随机。 增量训练时推荐使用，但是批训练时并没有什么明显的效果。

<comment>Param:</comment>
  <info>resource</info>  <strong>$train_data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。


id: fann_subset_train_data
type: function
doc:
<comment>Description:</comment>
  返回一个训练数据子集的副本。
  
  返回一个训练数据子集的副本 <info>resource</info>, 从 <return>pos</return> 位置开始向前步进 <return>length</return> 个元素。
  
  <return>fann_subset_train_data(train_data, 0, fann_length_train_data(train_data))</return> 和
  <strong>fann_duplicate_train_data()</strong>函数的效果是一样的。

<comment>Param:</comment>
  <info>resource</info>  <strong>$data</strong>    神经网络训练数据 <info>资源</info>。
  <info>int</info>       <strong>$pos</strong>     起始位置。
  <info>int</info>       <strong>$length</strong>  复制元素的数量。

<comment>Return:</comment>
  <info>resource</info>  成功时返回训练数据 <info>资源</info>，发生错误返回 <info>false</info>。

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


id: fann_test
type: function
doc:
<comment>Description:</comment>
  使用一组输入和一组期望的输出来测试。
  
  使用一组输入和一组期望的输出来测试。 这个操作将会更新均方误差，但是无论如何都不会改变网络。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             神经网络 <info>资源</info>。
  <info>array</info>     <strong>$input</strong>           输入数组。 这个数组必须和 <strong>fann_get_num_input()</strong> 一样长。
  <info>array</info>     <strong>$desired_output</strong>  期望的输出数组。 这个数组必须和 <strong>fann_get_num_output()</strong> 一样长.

<comment>Return:</comment>
  <info>array</info>  成功时返回测试输出，错误时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_test_data()</strong>
   * <strong>fann_train()</strong>
   * <strong>fann_get_num_input()</strong>
   * <strong>fann_get_num_output()</strong>


id: fann_test_data
type: function
doc:
<comment>Description:</comment>
  使用训练数据来测试并且计算出 MSE
  
  使用训练数据来测试并且计算出 MSE。
  
  该函数将会更新 MSE 和 误差的值。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>   神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，则更新 MSE, 错误则返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_bit_fail()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_train
type: function
doc:
<comment>Description:</comment>
  使用一个输入集和一个期望的输出集来迭代训练一次。
  
  使用一个输入集和一个期望的输出集来迭代训练一次。 该训练一直是递增训练，因此只会出现一个模式。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>             神经网络 <info>资源</info>。
  <info>array</info>     <strong>$input</strong>           输入数组，这个数组的长度应该恰好和 <strong>fann_get_num_input()</strong> 一样长。
  <info>array</info>     <strong>$desired_output</strong>  期望输出数组，这个数组的长度应该恰好和<strong>fann_get_num_output()</strong> 一样长。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_num_input()</strong>
   * <strong>fann_get_num_output()</strong>


id: fann_train_epoch
type: function
doc:
<comment>Description:</comment>
  使用一组训练数据训练一个周期。
  
  使用保存在 data 中训练数据训练一个周期。一个训练周期表示所有的训练数据正好使用了一次。
  
  这个函数将会返回在其实际计算之前或当中被计算的 MSE 错误。但是因为计算需要再次走一遍整个训练集，所
  有训练周期之后的不是真正的 MSE。 在训练中使用这个值是绰绰有余的。
  
  该函数使用的是被 <strong>fann_set_training_algorithm()</strong> 函数选中的训练算法。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>   神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$data</strong>  神经网络训练数据 <info>资源</info>。

<comment>Return:</comment>
  <info>float</info>  成功，则返回 MSE, 错误则返回 <info>false</info> .

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_test_data()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_set_training_algorithm()</strong>


id: fann_train_on_data
type: function
doc:
<comment>Description:</comment>
  在整个数据集上训练一段时间。
  
  在整个数据集上训练一段时间。
  
  该训练使用 <strong>fann_set_training_algorithm()</strong> 函数选择的算法和这些训练算法设置的参数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                     神经网络 <info>资源</info>。
  <info>resource</info>  <strong>$data</strong>                    神经网络训练数据 <info>资源</info>。
  <info>int</info>       <strong>$max_epochs</strong>              训练应该继续的最大周期数。
  <info>int</info>       <strong>$epochs_between_reports</strong>  用户函数之间的周期数。当为0时表示没有用户函数被调用。
  <info>float</info>     <strong>$desired_error</strong>           期望的是 <strong>fann_get_MSE()</strong> 或 <strong>fann_get_bit_fail()</strong>的返回值, 取决于
                                     <strong>fann_set_train_stop_function()</strong> 选择的停止函数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_train_on_file()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_bit_fail()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_set_train_stop_function()</strong>
   * <strong>fann_set_training_algorithm()</strong>
   * <strong>fann_set_callback()</strong>


id: fann_train_on_file
type: function
doc:
<comment>Description:</comment>
  在从某个文件读取的整个数据集上训练一段时间。
  
  在从某个文件读取的整个数据集上训练一段时间。
  
  该训练使用 <strong>fann_set_training_algorithm()</strong> 函数选择的算法和这些训练算法设置的参数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$ann</strong>                     神经网络 <info>资源</info>。
  <info>string</info>    <strong>$filename</strong>                包含训练数据的文件。
  <info>int</info>       <strong>$max_epochs</strong>              训练应该继续的最大周期数。
  <info>int</info>       <strong>$epochs_between_reports</strong>  用户函数之间的周期数。当为0时表示没有用户函数被调用。
  <info>float</info>     <strong>$desired_error</strong>           期望的是 <strong>fann_get_MSE()</strong> 或 <strong>fann_get_bit_fail()</strong>的返回值, 取决于
                                     <strong>fann_set_train_stop_function()</strong> 选择的停止函数。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>，其它情况下返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fann_train_on_data()</strong>
   * <strong>fann_train_epoch()</strong>
   * <strong>fann_get_bit_fail()</strong>
   * <strong>fann_get_MSE()</strong>
   * <strong>fann_set_train_stop_function()</strong>
   * <strong>fann_set_training_algorithm()</strong>
   * <strong>fann_set_callback()</strong>


id: fastcgi_finish_request
type: function
doc:
<comment>Description:</comment>
  冲刷(flush)所有响应的数据给客户端
  
  此函数冲刷(flush)所有响应的数据给客户端并结束请求。这允许在不打开与客户端之间的连接的情况下执行耗
  时任务。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: fbird_add_user
type: function
doc:
<comment>Description:</comment>
  别名 ibase_add_user
  
  此函数是该函数的别名： <strong>ibase_add_user()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_modify_user()</strong>
   * <strong>fbird_delete_user()</strong>


id: fbird_affected_rows
type: function
doc:
<comment>Description:</comment>
  别名 ibase_affected_rows
  
  此函数是该函数的别名： <strong>ibase_affected_rows()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_query()</strong>
   * <strong>fbird_execute()</strong>


id: fbird_backup
type: function
doc:
<comment>Description:</comment>
  别名 ibase_backup
  
  此函数是该函数的别名： <strong>ibase_backup()</strong>.


id: fbird_blob_add
type: function
doc:
<comment>Description:</comment>
  别名 ibase_blob_add
  
  此函数是该函数的别名： <strong>ibase_blob_add()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_cancel()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_create()</strong>
   * <strong>fbird_blob_import()</strong>


id: fbird_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>fbird_blob_close()</strong>.

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

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_create()</strong>
   * <strong>fbird_blob_import()</strong>


id: fbird_blob_close
type: function
doc:
<comment>Description:</comment>
  别名 ibase_blob_close
  
  此函数是该函数的别名： <strong>ibase_blob_close()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_create()</strong>
   * <strong>fbird_blob_cancel()</strong>
   * <strong>fbird_blob_open()</strong>
   * <strong>fbird_blob_import()</strong>


id: fbird_blob_create
type: function
doc:
<comment>Description:</comment>
  别名 ibase_blob_create
  
  此函数是该函数的别名： <strong>ibase_blob_create()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_add()</strong>
   * <strong>fbird_blob_cancel()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_import()</strong>


id: fbird_blob_echo
type: function
doc:
<comment>Description:</comment>
  别名 ibase_blob_echo
  
  此函数是该函数的别名： <strong>ibase_blob_echo()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_open()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_get()</strong>


id: fbird_blob_get
type: function
doc:
<comment>Description:</comment>
  别名 ibase_blob_get
  
  此函数是该函数的别名： <strong>ibase_blob_get()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_open()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_echo()</strong>


id: fbird_blob_import
type: function
doc:
<comment>Description:</comment>
  别名 ibase_blob_import
  
  此函数是该函数的别名： <strong>ibase_blob_import()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_add()</strong>
   * <strong>fbird_blob_cancel()</strong>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_create()</strong>


id: fbird_blob_info
type: function
doc:
<comment>Description:</comment>
  别名 ibase_blob_info
  
  此函数是该函数的别名： <strong>ibase_blob_info()</strong>.


id: fbird_blob_open
type: function
doc:
<comment>Description:</comment>
  别名 ibase_blob_open
  
  此函数是该函数的别名： <strong>ibase_blob_open()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_blob_close()</strong>
   * <strong>fbird_blob_echo()</strong>
   * <strong>fbird_blob_get()</strong>


id: fbird_close
type: function
doc:
<comment>Description:</comment>
  别名 ibase_close
  
  此函数是该函数的别名： <strong>ibase_close()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_connect()</strong>
   * <strong>fbird_pconnect()</strong>


id: fbird_commit
type: function
doc:
<comment>Description:</comment>
  别名 ibase_commit
  
  此函数是该函数的别名： <strong>ibase_commit()</strong>.


id: fbird_commit_ret
type: function
doc:
<comment>Description:</comment>
  别名 ibase_commit_ret
  
  此函数是该函数的别名： <strong>ibase_commit_ret()</strong>.


id: fbird_connect
type: function
doc:
<comment>Description:</comment>
  别名 ibase_connect
  
  此函数是该函数的别名： <strong>ibase_connect()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_pconnect()</strong>
   * <strong>fbird_close()</strong>


id: fbird_db_info
type: function
doc:
<comment>Description:</comment>
  别名 ibase_db_info
  
  此函数是该函数的别名： <strong>ibase_db_info()</strong>.


id: fbird_delete_user
type: function
doc:
<comment>Description:</comment>
  别名 ibase_delete_user
  
  此函数是该函数的别名： <strong>ibase_delete_user()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_add_user()</strong>
   * <strong>fbird_modify_user()</strong>


id: fbird_drop_db
type: function
doc:
<comment>Description:</comment>
  别名 ibase_drop_db
  
  此函数是该函数的别名： <strong>ibase_drop_db()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_connect()</strong>
   * <strong>fbird_pconnect()</strong>


id: fbird_errcode
type: function
doc:
<comment>Description:</comment>
  别名 ibase_errcode
  
  此函数是该函数的别名： <strong>ibase_errcode()</strong>.

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


id: fbird_errmsg
type: function
doc:
<comment>Description:</comment>
  别名 ibase_errmsg
  
  此函数是该函数的别名： <strong>ibase_errmsg()</strong>.

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


id: fbird_execute
type: function
doc:
<comment>Description:</comment>
  别名 ibase_execute
  
  此函数是该函数的别名： <strong>ibase_execute()</strong>.

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


id: fbird_fetch_assoc
type: function
doc:
<comment>Description:</comment>
  别名 ibase_fetch_assoc
  
  此函数是该函数的别名： <strong>ibase_fetch_assoc()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_fetch_row()</strong>
   * <strong>fbird_fetch_object()</strong>


id: fbird_fetch_object
type: function
doc:
<comment>Description:</comment>
  别名 ibase_fetch_object
  
  此函数是该函数的别名： <strong>ibase_fetch_object()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_fetch_row()</strong>
   * <strong>fbird_fetch_assoc()</strong>


id: fbird_fetch_row
type: function
doc:
<comment>Description:</comment>
  别名 ibase_fetch_row
  
  此函数是该函数的别名： <strong>ibase_fetch_row()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_fetch_assoc()</strong>
   * <strong>fbird_fetch_object()</strong>


id: fbird_field_info
type: function
doc:
<comment>Description:</comment>
  别名 ibase_field_info
  
  此函数是该函数的别名： <strong>ibase_field_info()</strong>.

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


id: fbird_free_event_handler
type: function
doc:
<comment>Description:</comment>
  别名 ibase_free_event_handler
  
  此函数是该函数的别名： <strong>ibase_free_event_handler()</strong>.

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


id: fbird_free_query
type: function
doc:
<comment>Description:</comment>
  别名 ibase_free_query
  
  此函数是该函数的别名： <strong>ibase_free_query()</strong>.


id: fbird_free_result
type: function
doc:
<comment>Description:</comment>
  别名 ibase_free_result
  
  此函数是该函数的别名： <strong>ibase_free_result()</strong>.


id: fbird_gen_id
type: function
doc:
<comment>Description:</comment>
  别名 ibase_gen_id
  
  此函数是该函数的别名： <strong>ibase_gen_id()</strong>.


id: fbird_maintain_db
type: function
doc:
<comment>Description:</comment>
  别名 ibase_maintain_db
  
  此函数是该函数的别名： <strong>ibase_maintain_db()</strong>.


id: fbird_modify_user
type: function
doc:
<comment>Description:</comment>
  别名 ibase_modify_user
  
  此函数是该函数的别名： <strong>ibase_modify_user()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_add_user()</strong>
   * <strong>fbird_delete_user()</strong>


id: fbird_name_result
type: function
doc:
<comment>Description:</comment>
  别名 ibase_name_result
  
  此函数是该函数的别名： <strong>ibase_name_result()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_prepare()</strong>
   * <strong>fbird_execute()</strong>


id: fbird_num_fields
type: function
doc:
<comment>Description:</comment>
  别名 ibase_num_fields
  
  此函数是该函数的别名： <strong>ibase_num_fields()</strong>.

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


id: fbird_num_params
type: function
doc:
<comment>Description:</comment>
  别名 ibase_num_params
  
  此函数是该函数的别名： <strong>ibase_num_params()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_prepare()</strong>
   * <strong>fbird_param_info()</strong>


id: fbird_param_info
type: function
doc:
<comment>Description:</comment>
  别名 ibase_param_info
  
  此函数是该函数的别名： <strong>ibase_param_info()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_field_info()</strong>
   * <strong>fbird_num_params()</strong>


id: fbird_pconnect
type: function
doc:
<comment>Description:</comment>
  别名 ibase_pconnect
  
  此函数是该函数的别名： <strong>ibase_pconnect()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_close()</strong>
   * <strong>fbird_connect()</strong>


id: fbird_prepare
type: function
doc:
<comment>Description:</comment>
  别名 ibase_prepare
  
  此函数是该函数的别名： <strong>ibase_prepare()</strong>.


id: fbird_query
type: function
doc:
<comment>Description:</comment>
  别名 ibase_query
  
  此函数是该函数的别名： <strong>ibase_query()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_errmsg()</strong>
   * <strong>fbird_fetch_row()</strong>
   * <strong>fbird_fetch_object()</strong>
   * <strong>fbird_free_result()</strong>


id: fbird_restore
type: function
doc:
<comment>Description:</comment>
  别名 ibase_restore
  
  此函数是该函数的别名： <strong>ibase_restore()</strong>.


id: fbird_rollback
type: function
doc:
<comment>Description:</comment>
  别名 ibase_rollback
  
  此函数是该函数的别名： <strong>ibase_rollback()</strong>.


id: fbird_rollback_ret
type: function
doc:
<comment>Description:</comment>
  别名 ibase_rollback_ret
  
  此函数是该函数的别名： <strong>ibase_rollback_ret()</strong>.


id: fbird_server_info
type: function
doc:
<comment>Description:</comment>
  别名 ibase_server_info
  
  此函数是该函数的别名： <strong>ibase_server_info()</strong>.


id: fbird_service_attach
type: function
doc:
<comment>Description:</comment>
  别名 ibase_service_attach
  
  此函数是该函数的别名： <strong>ibase_service_attach()</strong>.


id: fbird_service_detach
type: function
doc:
<comment>Description:</comment>
  别名 ibase_service_detach
  
  此函数是该函数的别名： <strong>ibase_service_detach()</strong>.


id: fbird_set_event_handler
type: function
doc:
<comment>Description:</comment>
  别名 ibase_set_event_handler
  
  此函数是该函数的别名： <strong>ibase_set_event_handler()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_free_event_handler()</strong>
   * <strong>fbird_wait_event()</strong>


id: fbird_wait_event
type: function
doc:
<comment>Description:</comment>
  别名 ibase_wait_event
  
  此函数是该函数的别名： <strong>ibase_wait_event()</strong>.

<comment>See Also:</comment>
   * <strong>fbird_set_event_handler()</strong>
   * <strong>fbird_free_event_handler()</strong>


id: fclose
type: function
doc:
<comment>Description:</comment>
  关闭一个已打开的文件指针
  
  将 <strong>$stream</strong> 指向的文件关闭。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针必须有效，并且是通过 <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: fdatasync
type: function
doc:
<comment>Description:</comment>
  同步文件数据（不包含元数据）
  
  此函数同步 <strong>$stream</strong> 的内容到存储介质，就像是 <strong>fsync()</strong>  所做的那样，但不会同步文件元数据。注意，此函
  数仅在 POSIX 系统中有实际区别。在 Windows 中，是 <strong>fsync()</strong>  的别名。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针必须是有效的，必须指向由
                     <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fflush()</strong>
   * <strong>fsync()</strong>


id: fdf_add_doc_javascript
type: function
doc:
<comment>Description:</comment>
  Adds javascript code to the FDF document
  
  Adds a script to the FDF, which Acrobat then adds to the doc-level scripts of a document, once the
  FDF is imported into it.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$script_name</strong>   The script name.
  <info>string</info>    <strong>$script_code</strong>   The script code. It is strongly suggested to use <return>\r</return> for linebreaks within
                           the script code.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: fdf_add_template
type: function
doc:
<comment>Description:</comment>
  Adds a template into the FDF document
  
  本函数还未编写文档，仅有参数列表。

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


id: fdf_close
type: function
doc:
<comment>Description:</comment>
  Close an FDF document
  
  Closes the FDF document.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>void</info>  没有返回值。

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


id: fdf_create
type: function
doc:
<comment>Description:</comment>
  Create a new FDF document
  
  Creates a new FDF document.
  
  This function is needed if one would like to populate input fields in a PDF document with data.

<comment>Return:</comment>
  <info>resource</info>  Returns a FDF document handle, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fdf_close()</strong>
   * <strong>fdf_save()</strong>
   * <strong>fdf_open()</strong>


id: fdf_enum_values
type: function
doc:
<comment>Description:</comment>
  Call a user defined function for each document value 
  
  本函数还未编写文档，仅有参数列表。

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


id: fdf_errno
type: function
doc:
<comment>Description:</comment>
  Return error code for last fdf operation
  
  Gets the error code set by the last FDF function call.
  
  A textual description of the error may be obtained using with <strong>fdf_error()</strong>.

<comment>Return:</comment>
  <info>int</info>  Returns the error code as an integer, or zero if there was no errors.

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


id: fdf_error
type: function
doc:
<comment>Description:</comment>
  Return error description for FDF error code
  
  Gets a textual description for the FDF error code given in <strong>$error_code</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  An error code obtained with <strong>fdf_errno()</strong>. If not provided, this function uses the
                    internal error code set by the last operation.

<comment>Return:</comment>
  <info>string</info>  Returns the error message as a string, or the string  <return>no error</return> if nothing went wrong.

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


id: fdf_get_ap
type: function
doc:
<comment>Description:</comment>
  Get the appearance of a field
  
  Gets the appearance of a <strong>$field</strong> (i.e. the value of the /AP key) and stores it in a file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$field</strong>         
  <info>int</info>       <strong>$face</strong>          The possible values are <info>FDFNormalAP</info>,  <info>FDFRolloverAP</info> and <info>FDFDownAP</info>.
  <info>string</info>    <strong>$filename</strong>      The appearance will be stored in this parameter.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: fdf_get_attachment
type: function
doc:
<comment>Description:</comment>
  Extracts uploaded file embedded in the FDF
  
  Extracts a file uploaded by means of the "file selection" field <strong>$fieldname</strong> and stores it under
  <strong>$savepath</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     
  <info>string</info>    <strong>$savepath</strong>      May be the name of a plain file or an existing directory in which the
                           file is to be created under its original name. Any existing file under
                           the same name will be overwritten.
                           
                           There seems to be no other way to find out the original filename but to
                           store the file using a directory as  <strong>$savepath</strong> and check for the basename
                           it was stored under.

<comment>Return:</comment>
  <info>array</info>  The returned array contains the following fields: <strong>$path</strong> - path were the file got
         stored<strong>$size</strong> - size of the stored file in bytes<strong>$type</strong> - mimetype if given in the FDF
         
         <strong>$path</strong> - path were the file got stored
         
         <strong>$size</strong> - size of the stored file in bytes
         
         <strong>$type</strong> - mimetype if given in the FDF


id: fdf_get_encoding
type: function
doc:
<comment>Description:</comment>
  Get the value of the /Encoding key
  
  Gets the value of the <return>/Encoding</return> key.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the encoding as a string. An empty string is returned if the default
          <return>PDFDocEncoding/Unicode</return> scheme is used.

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


id: fdf_get_file
type: function
doc:
<comment>Description:</comment>
  Get the value of the /F key
  
  Gets the value of the <return>/F</return> key.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

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

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


id: fdf_get_flags
type: function
doc:
<comment>Description:</comment>
  Gets the flags of a field
  
  本函数还未编写文档，仅有参数列表。

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


id: fdf_get_opt
type: function
doc:
<comment>Description:</comment>
  Gets a value from the opt array of a field
  
  本函数还未编写文档，仅有参数列表。

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


id: fdf_get_status
type: function
doc:
<comment>Description:</comment>
  Get the value of the /STATUS key
  
  Gets the value of the <return>/STATUS</return> key.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

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

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


id: fdf_get_value
type: function
doc:
<comment>Description:</comment>
  Get the value of a field
  
  Gets the value for the requested field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$which</strong>         Elements of an array field can be retrieved by passing this optional
                           parameter, starting at zero. For non-array fields, this parameter will be
                           ignored.

<comment>Return:</comment>
  <info>mixed</info>  Returns the field value.

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


id: fdf_get_version
type: function
doc:
<comment>Description:</comment>
  Gets version number for FDF API or file 
  
  Return the FDF version for the given document, or the toolkit API version number if no parameter
  is given.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the version as a string. For the current FDF toolkit 5.0 the API version number is
          <return>5.0</return> and the document version number is either <return>1.2</return>, <return>1.3</return> or  <return>1.4</return>.

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


id: fdf_header
type: function
doc:
<comment>Description:</comment>
  Sets FDF-specific output headers
  
  This is a convenience function to set appropriate HTTP headers for FDF output. It sets the
  <return>Content-type:</return> to  <return>application/vnd.fdf</return>.

<comment>Return:</comment>
  <info>void</info>  没有返回值。


id: fdf_next_field_name
type: function
doc:
<comment>Description:</comment>
  Get the next field name
  
  Gets the name of the field after the given field. This name can be used with several functions.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string. If not given, the first field will be
                           assumed.

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

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


id: fdf_open
type: function
doc:
<comment>Description:</comment>
  Open a FDF document
  
  Opens a file with form data.
  
  You can also use <strong>fdf_open_string()</strong> to process the results of a PDF form POST request.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  Path to the FDF file. This file must contain the data as returned from a PDF
                     form or created using <strong>fdf_create()</strong> and <strong>fdf_save()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Returns a FDF document handle, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fdf_open_string()</strong>
   * <strong>fdf_close()</strong>
   * <strong>fdf_create()</strong>
   * <strong>fdf_save()</strong>


id: fdf_open_string
type: function
doc:
<comment>Description:</comment>
  Read a FDF document from a string
  
  Reads form data from a string.
  
  You can use <strong>fdf_open_string()</strong> together with $HTTP_FDF_DATA to process FDF form input from a remote
  client.

<comment>Param:</comment>
  <info>string</info>  <strong>$fdf_data</strong>  The data as returned from a PDF form or created using  <strong>fdf_create()</strong> and
                     <strong>fdf_save_string()</strong>.

<comment>Return:</comment>
  <info>resource</info>  Returns a FDF document handle, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fdf_open()</strong>
   * <strong>fdf_close()</strong>
   * <strong>fdf_create()</strong>
   * <strong>fdf_save_string()</strong>


id: fdf_remove_item
type: function
doc:
<comment>Description:</comment>
  Sets target frame for form
  
  本函数还未编写文档，仅有参数列表。

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


id: fdf_save
type: function
doc:
<comment>Description:</comment>
  Save a FDF document
  
  Saves a FDF document.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$filename</strong>      If provided, the resulting FDF will be written in this parameter.
                           Otherwise, this function will write the FDF to the default PHP output
                           stream.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fdf_close()</strong>
   * <strong>fdf_create()</strong>
   * <strong>fdf_save_string()</strong>


id: fdf_save_string
type: function
doc:
<comment>Description:</comment>
  Returns the FDF document as a string
  
  Returns the FDF document as a string.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the document as a string, or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>fdf_open_string()</strong>
   * <strong>fdf_close()</strong>
   * <strong>fdf_create()</strong>
   * <strong>fdf_save()</strong>


id: fdf_set_ap
type: function
doc:
<comment>Description:</comment>
  Set the appearance of a field
  
  Sets the appearance of a field (i.e. the value of the  <return>/AP</return> key).

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$field_name</strong>    
  <info>int</info>       <strong>$face</strong>          The possible values <info>FDFNormalAP</info>, <info>FDFRolloverAP</info> and <info>FDFDownAP</info>.
  <info>string</info>    <strong>$filename</strong>      
  <info>int</info>       <strong>$page_number</strong>   

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: fdf_set_encoding
type: function
doc:
<comment>Description:</comment>
  Sets FDF character encoding
  
  Sets the character encoding for the FDF document.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$encoding</strong>      The encoding name. The following values are supported:  "<return>Shift-JIS</return>",
                           "<return>UHC</return>", "<return>GBK</return>" and "<return>BigFive</return>".
                           
                           An empty string resets the encoding to the default
                           <return>PDFDocEncoding/Unicode</return> scheme.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: fdf_set_file
type: function
doc:
<comment>Description:</comment>
  Set PDF document to display FDF data in
  
  Selects a different PDF document to display the form results in then the form it originated from.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$url</strong>           Should be given as an absolute URL.
  <info>string</info>    <strong>$target_frame</strong>  Use this parameter to specify the frame in which the document will be
                           displayed. You can also set the default value for this parameter using
                           <strong>fdf_set_target_frame()</strong>.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fdf_get_file()</strong>
   * <strong>fdf_set_target_frame()</strong>


id: fdf_set_flags
type: function
doc:
<comment>Description:</comment>
  Sets a flag of a field
  
  Sets certain flags of the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$whichFlags</strong>    
  <info>int</info>       <strong>$newFlags</strong>      

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: fdf_set_javascript_action
type: function
doc:
<comment>Description:</comment>
  Sets an javascript action of a field
  
  Sets a javascript action for the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$trigger</strong>       
  <info>string</info>    <strong>$script</strong>        

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: fdf_set_on_import_javascript
type: function
doc:
<comment>Description:</comment>
  Adds javascript code to be executed when Acrobat opens the FDF
  
  本函数还未编写文档，仅有参数列表。

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

<comment>See Also:</comment>
   * <strong>fdf_add_doc_javascript()</strong>
   * <strong>fdf_set_javascript_action()</strong>


id: fdf_set_opt
type: function
doc:
<comment>Description:</comment>
  Sets an option of a field
  
  Sets options of the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$element</strong>       
  <info>string</info>    <strong>$str1</strong>          
  <info>string</info>    <strong>$str2</strong>          

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: fdf_set_status
type: function
doc:
<comment>Description:</comment>
  Set the value of the /STATUS key
  
  Sets the value of the <return>/STATUS</return> key. When a client receives a FDF with a status set it will present
  the value in an alert box.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$status</strong>        

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: fdf_set_submit_form_action
type: function
doc:
<comment>Description:</comment>
  Sets a submit form action of a field
  
  Sets a submit form action for the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>int</info>       <strong>$trigger</strong>       
  <info>string</info>    <strong>$script</strong>        
  <info>int</info>       <strong>$flags</strong>         

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: fdf_set_target_frame
type: function
doc:
<comment>Description:</comment>
  Set target frame for form display
  
  Sets the target frame to display a result PDF defined with  <strong>fdf_save_file()</strong> in.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$frame_name</strong>    The frame name, as a string.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: fdf_set_value
type: function
doc:
<comment>Description:</comment>
  Set the value of a field
  
  Sets the <strong>$value</strong> for the given field.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$fieldname</strong>     Name of the FDF field, as a string.
  <info>mixed</info>     <strong>$value</strong>         This parameter will be stored as a string unless it is an array. In this
                           case all array elements will be stored as a value array.
  <info>int</info>       <strong>$isName</strong>        In older versions of the FDF toolkit last parameter determined if the
                           field value was to be converted to a PDF Name (= 1) or set to a PDF
                           String (= 0).
                           
                           The value is no longer used in the current toolkit version 5.0. For
                           compatibility reasons it is still supported as an optional parameter, but
                           ignored internally.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fdf_get_value()</strong>
   * <strong>fdf_remove_item()</strong>


id: fdf_set_version
type: function
doc:
<comment>Description:</comment>
  Sets version number for a FDF file 
  
  Sets the FDF <strong>$version</strong> for the given document.
  
  Some features supported by this extension are only available in newer FDF versions.

<comment>Param:</comment>
  <info>resource</info>  <strong>$fdf_document</strong>  The FDF document handle, returned by <strong>fdf_create()</strong>, <strong>fdf_open()</strong> or
                           <strong>fdf_open_string()</strong>.
  <info>string</info>    <strong>$version</strong>       The version number. For the current FDF toolkit 5.0, this may be either
                           <return>1.2</return>, <return>1.3</return> or <return>1.4</return>.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: fdiv
type: function
doc:
<comment>Description:</comment>
  Divides two numbers, according to IEEE 754
  
  Returns the floating point result of dividing the <strong>$num1</strong> by the <strong>$num2</strong>. If the <strong>$num2</strong> is zero, then
  one of <return>INF</return>, <return>-INF</return>, or <return>NAN</return> will be returned.
  
  Note that in comparisons, <return>NAN</return> will never == or ===, any value, including itself.

<comment>Param:</comment>
  <info>float</info>  <strong>$num1</strong>  The dividend (numerator)
  <info>float</info>  <strong>$num2</strong>  The divisor

<comment>Return:</comment>
  <info>float</info>  The floating point result of <strong>$num1</strong>/<strong>$num2</strong>

<comment>See Also:</comment>
   * <return>/</return> - Floating-point division
   * <strong>intdiv()</strong> - Integer division
   * <strong>fmod()</strong> - Modulus


id: feof
type: function
doc:
<comment>Description:</comment>
  测试文件指针是否到了文件结束的位置
  
  测试文件指针是否到了文件结束的位。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针必须是有效的，必须指向由
                     <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。

<comment>Return:</comment>
  <info>bool</info>  如果文件指针到了 EOF 或者出错时则返回 <info>true</info>，否则返回一个错误（包括 socket 超时），其它情况则
        返回 <info>false</info>。


id: fflush
type: function
doc:
<comment>Description:</comment>
  将缓冲内容输出到文件
  
  本函数强制将所有缓冲的输出写入 <strong>$stream</strong> 文件句柄所指向的资源。 成功时返回 <info>true</info>， 或者在失败时返回
  <info>false</info>。
  
  文件指针必须是有效的，必须指向由
  <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针必须是有效的，必须指向由
                     <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>clearstatcache()</strong>
   * <strong>fwrite()</strong>


id: fgetc
type: function
doc:
<comment>Description:</comment>
  从文件指针中读取字符
  
  从文件句柄中获取一个字符。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针必须是有效的，必须指向由
                     <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。

<comment>Return:</comment>
  <info>string|false</info>  返回一个包含有一个字符的字符串，该字符从 <strong>$stream</strong> 指向的文件中得到。 碰到 EOF 则返回
                <info>false</info>。
                
                此函数可能返回布尔值
                <info>false</info>，但也可能返回等同于 <info>false</info> 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使
                用
                ===
                运算符来测试此函数的返回值。

<comment>See Also:</comment>
   * <strong>fread()</strong>
   * <strong>fopen()</strong>
   * <strong>popen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>fgets()</strong>


id: fgetcsv
type: function
doc:
<comment>Description:</comment>
  从文件指针中读入一行并解析 CSV 字段
  
  和 <strong>fgets()</strong> 类似，只除了 <strong>fgetcsv()</strong> 解析读入的行并找出 CSV 格式的字段然后返回一个包含这些字段的数
  组。
  
  使用此函数需要考虑区域设置。例如，如果 <return>LC_CTYPE</return> 是 <return>en_US.UTF-8</return>，通过该函数可能会导致对文件中的单字
  节编码读取错误。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>     一个由 <strong>fopen()</strong>、<strong>popen()</strong> 或 <strong>fsockopen()</strong> 产生的有效文件指针。
  <info>int|null</info>  <strong>$length</strong>     必须大于在 CVS 文件（允许尾随行尾字符）中找到的最长行（以字符为单位）。否
                        则，该行将拆分为 <strong>$length</strong> 字符的块，除非拆分发生在环绕字符内。
                        
                        忽略此参数（或者设为 0 或者在 PHP 8.0.0 及以后的版本中设为 <info>null</info>）行的最大长
                        度将不受限制，速度稍慢。
  <info>string</info>    <strong>$separator</strong>  可选的 <strong>$separator</strong> 参数，设置字段分隔符（仅一个单字节字符）。
  <info>string</info>    <strong>$enclosure</strong>  可选的 <strong>$enclosure</strong> 参数，设置字段环绕符（仅一个单字节字符）。
  <info>string</info>    <strong>$escape</strong>     可选的 <strong>$escape</strong> 参数，设置转义字符（最多一个单字节字符）。空字符串（<return>""</return>）禁用
                        所有的转义机制。
                        
                        Usually an <strong>$enclosure</strong> character is escaped inside a field by doubling it;
                        however, the <strong>$escape</strong> character can be used as an alternative. So for the
                        default parameter values <return>""</return> and <return>\"</return> have the same meaning. Other than
                        allowing to escape the <strong>$enclosure</strong> character the <strong>$escape</strong> character has no
                        special meaning; it isn't even meant to escape itself.

<comment>Return:</comment>
  <info>array|false</info>  成功时返回包含读取字段的索引数组， 或者在失败时返回 <info>false</info>。
               
               CSV 文件中的空行将被返回为一个包含有单个 <info>null</info> 字段的数组，不会被当成错误。
               
               在读取在 Macintosh 电脑中或由其创建的文件时， 如果 PHP
               不能正确的识别行结束符，启用运行时配置可选项 auto_detect_line_endings
               也许可以解决此问题。

<comment>See Also:</comment>
   * <strong>str_getcsv()</strong>
   * <strong>explode()</strong>
   * <strong>file()</strong>
   * <strong>pack()</strong>
   * <strong>fputcsv()</strong>


id: fgets
type: function
doc:
<comment>Description:</comment>
  从文件指针中读取一行
  
  从文件指针中读取一行。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针必须是有效的，必须指向由
                     <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。
  <info>int|null</info>  <strong>$length</strong>  从 <strong>$handle</strong> 指向的文件中读取一行并返回长度最多为 <strong>$length</strong> - 1 字节的字符串。碰到
                     换行符（包括在返回值中）、EOF 或者已经读取了 length - 1 字节后停止（看先碰到那
                     一种情况）。如果没有指定 <strong>$length</strong>，则默认为 1K，或者说 1024 字节。

<comment>Return:</comment>
  <info>string|false</info>  从指针 <strong>$stream</strong> 指向的文件中读取了 <strong>$length</strong> - 1 字节后返回字符串。  如果文件指针中没有
                更多的数据了则返回 <info>false</info>。
                
                错误发生时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fgetss()</strong>
   * <strong>fread()</strong>
   * <strong>fgetc()</strong>
   * <strong>stream_get_line()</strong>
   * <strong>fopen()</strong>
   * <strong>popen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>stream_set_timeout()</strong>


id: fgetss
type: function
doc:
<comment>Description:</comment>
  从文件指针中读取一行并过滤掉 HTML 标记
  
  和 <strong>fgets()</strong> 相同，只除了 <strong>fgetss()</strong> 尝试从读取的文本中去掉任何 HTML 和 PHP 标记。 The function
  retains the parsing state from call to call, and as such is not equivalent to calling <strong>strip_tags()</strong>
  on the return value of <strong>fgets()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$handle</strong>          文件指针必须是有效的，必须指向由
                             <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。
  <info>int</info>       <strong>$length</strong>          取回该长度的数据。
  <info>string</info>    <strong>$allowable_tags</strong>  可以用可选的第三个参数指定哪些标记不被去掉。 See <strong>strip_tags()</strong> for
                             details regarding <strong>$allowable_tags</strong>.

<comment>Return:</comment>
  <info>string</info>  从 <strong>$handle</strong> 指向的文件中大读取 <strong>$length</strong> - 1 个字节的字符，并过滤了所有的 HTML 和 PHP 代码。
          
          错误发生时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fgets()</strong>
   * <strong>fopen()</strong>
   * <strong>popen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>strip_tags()</strong>
   * SplFileObject::fgetss
   * string.strip_tags 过滤


id: file
type: function
doc:
<comment>Description:</comment>
  把整个文件读入一个数组中
  
  把整个文件读入一个数组中。
  
  你可以通过 <strong>file_get_contents()</strong> 以字符串形式获取文件的内容。

<comment>Param:</comment>
  <info>string</info>         <strong>$filename</strong>  文件的路径。
                            
                            如已启用fopen 包装器，在此函数中， URL 可作为文件名。关于如何指定文件名
                            详见 <strong>fopen()</strong>。各种
                            wapper 的不同功能请参见 ，注意其用法及其可提供的预定义变量。
  <info>int</info>            <strong>$flags</strong>     可选参数 <strong>$flags</strong> 可以是以下一个或多个常量： <info>FILE_USE_INCLUDE_PATH</info> 在
                            include_path 中查找文件。 <info>FILE_IGNORE_NEW_LINES</info> 省略数组中每个元素末尾的
                            换行符 <info>FILE_SKIP_EMPTY_LINES</info> 跳过空行 <info>FILE_NO_DEFAULT_CONTEXT</info> 不使用默认
                            的上下文
                            
                            在 include_path 中查找文件。
                            
                            省略数组中每个元素末尾的换行符
                            
                            跳过空行
                            
                            不使用默认的上下文
  <info>resource|null</info>  <strong>$context</strong>   上下文流（context stream）<info>resource</info>。

<comment>Return:</comment>
  <info>array|false</info>  返回数组形式的文件内容。数组的每个元素对应于文件中的一行（结尾会附加换行符）。 失败
               时，<strong>file()</strong> 返回 <info>false</info>。
               
               除非使用了 <info>FILE_IGNORE_NEW_LINES</info> ，否则结果数组中的每一行都将包含行尾。
               
               在读取在 Macintosh 电脑中或由其创建的文件时， 如果 PHP
               不能正确的识别行结束符，启用运行时配置可选项 auto_detect_line_endings
               也许可以解决此问题。

<comment>See Also:</comment>
   * <strong>file_get_contents()</strong>
   * <strong>readfile()</strong>
   * <strong>fopen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>popen()</strong>
   * <strong>include()</strong>
   * <strong>stream_context_create()</strong>


id: file_exists
type: function
doc:
<comment>Description:</comment>
  检查文件或目录是否存在
  
  检查文件或目录是否存在。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件或目录的路径。
                     
                     在 Windows 中要用 //computername/share/filename 或者
                     \\computername\share\filename 来检查网络中的共享文件。

<comment>Return:</comment>
  <info>bool</info>  如果由 <strong>$filename</strong> 指定的文件或目录存在则返回 <info>true</info>，否则返回 <info>false</info>。
        
        对于指向文件不存在的符号链接，此函数将会返回 <info>false</info>。
        
        The check is done using the real UID/GID instead of the effective one.
        
        因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型，对 2GB
        以上的文件，一些文件系统函数可能返回无法预期的结果。

<comment>See Also:</comment>
   * <strong>is_readable()</strong>
   * <strong>is_writable()</strong>
   * <strong>is_file()</strong>
   * <strong>file()</strong>
   * <class>SplFileInfo</class>


id: file_get_contents
type: function
doc:
<comment>Description:</comment>
  将整个文件读入一个字符串
  
  和 <strong>file()</strong> 一样，只除了 <strong>file_get_contents()</strong> 把文件读入一个字符串。将在参数 <strong>$offset</strong> 所指定的位置开始
  读取长度为 <strong>$length</strong> 的内容。如果失败，<strong>file_get_contents()</strong> 将返回 <info>false</info>。
  
  <strong>file_get_contents()</strong> 函数是用来将文件的内容读入到一个字符串中的首选方法。如果操作系统支持还会使用内
  存映射技术来增强性能。
  
  如果要打开有特殊字符的 URL （比如说有空格），就需要使用 <strong>urlencode()</strong> 进行 URL 编码。

<comment>Param:</comment>
  <info>string</info>         <strong>$filename</strong>          要读取的文件的名称。
  <info>bool</info>           <strong>$use_include_path</strong>  常量 <info>FILE_USE_INCLUDE_PATH</info> 用于触发搜索 include path。 因为
                                    <info>FILE_USE_INCLUDE_PATH</info> 是个 <info>int</info>，如果开启了严格类型 将无法启用。
                                    所以要用 <info>true</info> 来代替常量。
  <info>resource|null</info>  <strong>$context</strong>           <strong>stream_context_create()</strong> 创建的有效的上下文（context）资源。 如果
                                    你不需要自定义 context，可以用 <info>null</info> 来忽略。
  <info>int</info>            <strong>$offset</strong>            读取原始数据流的开始位置偏移量。负的 offset 会从数据流的末尾开始
                                    统计。
                                    
                                    远程文件不支持偏移量寻址（<strong>$offset</strong>）。 对远程文件以较小的 offset
                                    可能可以正常寻址， 但由于是对缓冲流进行操作，所以操作结果不可预
                                    测。
  <info>int|null</info>       <strong>$length</strong>            要读取数据的最大长度。 默认情况下会读到文件末尾。 注意，该参数会
                                    应用到处理 stream 的过滤器（filter）中。

<comment>Return:</comment>
  <info>string|false</info>  函数返回读取到的数据， 或者在失败时返回 <info>false</info>。
                
                此函数可能返回布尔值
                <info>false</info>，但也可能返回等同于 <info>false</info> 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使
                用
                ===
                运算符来测试此函数的返回值。

<comment>See Also:</comment>
   * <strong>file()</strong>
   * <strong>fgets()</strong>
   * <strong>fread()</strong>
   * <strong>readfile()</strong>
   * <strong>file_put_contents()</strong>
   * <strong>stream_get_contents()</strong>
   * <strong>stream_context_create()</strong>
   * $http_response_header


id: file_put_contents
type: function
doc:
<comment>Description:</comment>
  将数据写入文件
  
  和依次调用 <strong>fopen()</strong>，<strong>fwrite()</strong> 以及 <strong>fclose()</strong> 功能一样。
  
  如果 <strong>$filename</strong> 不存在，将会创建文件。反之，存在的文件将会重写，除非设置 <info>FILE_APPEND</info> flag。

<comment>Param:</comment>
  <info>string</info>         <strong>$filename</strong>  要被写入数据的文件名。
  <info>mixed</info>          <strong>$data</strong>      要写入的数据。类型可以是 <info>string</info>，<info>array</info> 或者是 <info>stream</info> 资源（如上面所说的
                            那样）。
                            
                            如果 <strong>$data</strong> 指定为 stream 资源，这里 stream 中所保存的缓存数据将被写入到
                            指定文件中，这种用法就相似于使用 <strong>stream_copy_to_stream()</strong> 函数。
                            
                            参数 <strong>$data</strong> 可以是数组（但不能为多维数组），这就相当于
                            <return>file_put_contents($filename, join('', $array))</return>。
  <info>int</info>            <strong>$flags</strong>     <strong>$flags</strong> 的值可以是 以下 flag 使用 OR (<return>|</return>) 运算符进行的组合。
                            
                            Available flagsFlag描述<info>FILE_USE_INCLUDE_PATH</info> 在 include 目录里搜索
                            <strong>$filename</strong>。 更多信息可参见 include_path。 <info>FILE_APPEND</info> 如果文件 <strong>$filename</strong>
                            已经存在，追加数据而不是覆盖。 <info>LOCK_EX</info> 在写入时获取文件独占锁。换句话
                            说，在调用 <strong>fopen()</strong> 和 <strong>fwrite()</strong> 中间发生了 <strong>flock()</strong> 调用。这与调用带模式
                            “x”的 <strong>fopen()</strong> 不同。
  <info>resource|null</info>  <strong>$context</strong>   一个 context 资源。

<comment>Return:</comment>
  <info>int|false</info>  该函数将返回写入到文件内数据的字节数，失败时返回<info>false</info>
             
             此函数可能返回布尔值
             <info>false</info>，但也可能返回等同于 <info>false</info> 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用
             ===
             运算符来测试此函数的返回值。

<comment>See Also:</comment>
   * <strong>fopen()</strong>
   * <strong>fwrite()</strong>
   * <strong>file_get_contents()</strong>
   * <strong>stream_context_create()</strong>


id: fileatime
type: function
doc:
<comment>Description:</comment>
  取得文件的上次访问时间
  
  取得文件的上次访问时间。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件的路径。

<comment>Return:</comment>
  <info>int|false</info>  返回文件上次被访问的时间， 或者在失败时返回 <info>false</info>。时间以 Unix 时间戳的方式返回。

<comment>See Also:</comment>
   * <strong>filemtime()</strong>
   * <strong>fileinode()</strong>
   * <strong>date()</strong>


id: filectime
type: function
doc:
<comment>Description:</comment>
  取得文件的 inode 修改时间
  
  取得文件的 inode 修改时间。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件的路径。

<comment>Return:</comment>
  <info>int|false</info>  返回文件上次 inode 被修改的时间， 或者在失败时返回 <info>false</info>。 时间以 Unix 时间戳的方式返
             回。

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


id: filegroup
type: function
doc:
<comment>Description:</comment>
  取得文件的组
  
  取得该文件所属组的 ID。组 ID 以数字格式返回，用 <strong>posix_getgrgid()</strong> 来将其解析为组名。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件的路径。

<comment>Return:</comment>
  <info>int|false</info>  返回该文件所属组的 ID。或在错误时返回 <info>false</info>。 组 ID 以数字格式返回，用 <strong>posix_getgrgid()</strong>
             来将其解析为组名。如果出错则返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fileowner()</strong>
   * <strong>posix_getgrgid()</strong>


id: fileinode
type: function
doc:
<comment>Description:</comment>
  取得文件的 inode
  
  取得文件的 inode。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件的路径。

<comment>Return:</comment>
  <info>int|false</info>  返回文件的 inode 节点号， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>getmyinode()</strong>
   * <strong>stat()</strong>


id: filemtime
type: function
doc:
<comment>Description:</comment>
  取得文件修改时间
  
  本函数返回文件中的数据块上次被写入的时间，也就是说，文件的内容上次被修改的时间。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件的路径。

<comment>Return:</comment>
  <info>int|false</info>  返回文件上次被修改的时间， 或者在失败时返回 <info>false</info>。时间以 Unix 时间戳的方式返回，可用于
             <strong>date()</strong>。

<comment>See Also:</comment>
   * <strong>filectime()</strong>
   * <strong>stat()</strong>
   * <strong>touch()</strong>
   * <strong>getlastmod()</strong>


id: fileowner
type: function
doc:
<comment>Description:</comment>
  取得文件的所有者
  
  取得文件的所有者。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件的路径。

<comment>Return:</comment>
  <info>int|false</info>  返回文件所有的用户 ID，如果出错则返回 <info>false</info>。用户 ID 以数字格式返回，用
             <strong>posix_getpwuid()</strong> 来将其解析为用户名。

<comment>See Also:</comment>
   * <strong>filegroup()</strong>
   * <strong>stat()</strong>
   * <strong>posix_getpwuid()</strong>


id: fileperms
type: function
doc:
<comment>Description:</comment>
  获取文件权限
  
  获取指定文件权限。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件的路径。

<comment>Return:</comment>
  <info>int|false</info>  以数字模式返回文件权限。此模式的低位与 <strong>chmod()</strong> 期望权限相同，然而在大多数平台上，返回值
             还将会包含指定 <strong>$filename</strong> 的文件类型信息。下面的示例示范了如何在 POSIX 系统上测试特定权
             限和文件类型的返回值。
             
             对于本地文件，特定的返回值是通过 C 库的 <strong>stat()</strong> 函数返回结构中的 <return>st_mode</return> 成员的值。
             Exactly which bits are set can vary from platform to platform, and looking up your
             specific platform's documentation is recommended if parsing the non-permission bits of
             the return value is required.
             
             失败时返回 <info>false</info>。

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


id: filesize
type: function
doc:
<comment>Description:</comment>
  取得文件大小
  
  取得指定文件的大小。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件的路径。

<comment>Return:</comment>
  <info>int|false</info>  返回文件大小的字节数，如果出错返回 <info>false</info> 并生成一条 <info>E_WARNING</info> 级的错误。
             
             因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型，对 2GB
             以上的文件，一些文件系统函数可能返回无法预期的结果。

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


id: filetype
type: function
doc:
<comment>Description:</comment>
  取得文件类型
  
  返回文件的类型。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  文件的路径。

<comment>Return:</comment>
  <info>string|false</info>  返回文件的类型。 可能的值有 fifo，char，dir，block，link，file 和 unknown。
                
                如果出错则返回 <info>false</info>。如果 stat 调用失败或者文件类型未知的话 <strong>filetype()</strong> 还会产生一个
                <info>E_NOTICE</info> 消息。

<comment>See Also:</comment>
   * <strong>is_dir()</strong>
   * <strong>is_file()</strong>
   * <strong>is_link()</strong>
   * <strong>file_exists()</strong>
   * <strong>mime_content_type()</strong>
   * <strong>pathinfo()</strong>
   * <strong>stat()</strong>


id: filter_has_var
type: function
doc:
<comment>Description:</comment>
  检测是否存在指定类型的变量

<comment>Param:</comment>
  <info>int</info>     <strong>$input_type</strong>  <info>INPUT_GET</info>、<info>INPUT_POST</info>、<info>INPUT_COOKIE</info>、<info>INPUT_SERVER</info>、<info>INPUT_ENV</info> 里的其中一个。
  <info>string</info>  <strong>$var_name</strong>    要检查的变量名。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: filter_id
type: function
doc:
<comment>Description:</comment>
  返回与某个特定名称的过滤器相关联的id

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  待获取的过滤器名称。

<comment>Return:</comment>
  <info>int|false</info>  如果获取成功则返回过滤器 id，如果过滤器不存在则返回 <info>false</info>。

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


id: filter_input
type: function
doc:
<comment>Description:</comment>
  通过名称获取特定的外部变量，并且可以通过过滤器处理它

<comment>Param:</comment>
  <info>int</info>        <strong>$type</strong>      <info>INPUT_GET</info>, <info>INPUT_POST</info>, <info>INPUT_COOKIE</info>, <info>INPUT_SERVER</info>或 <info>INPUT_ENV</info>之一。
  <info>string</info>     <strong>$var_name</strong>  待获取的变量名。
  <info>int</info>        <strong>$filter</strong>    要应用的过滤器 ID。 手册页面列出了可用的过滤器。
                        
                        如果省略，将使用 <info>FILTER_DEFAULT</info>，默认等同于 <info>FILTER_UNSAFE_RAW</info>。这将导致不进
                        行任何默认过滤。
  <info>array|int</info>  <strong>$options</strong>   一个选项的关联数组，或者按位区分的标示。如果过滤器接受选项，可以通过数组的
                        "flags" 位去提供这些标示。

<comment>Return:</comment>
  <info>mixed</info>  如果成功的话返回所请求的变量。如果过滤失败则返回 <info>false</info>，如果<strong>$var_name</strong> 不存在的话则返回
         <info>null</info>。如果标示 <info>FILTER_NULL_ON_FAILURE</info> 被使用了，那么当变量不存在时返回 <info>false</info>，当过滤失败时
         返回 <info>null</info>。

<comment>See Also:</comment>
   * <strong>filter_var()</strong>
   * <strong>filter_input_array()</strong>
   * <strong>filter_var_array()</strong>
   * 


id: filter_input_array
type: function
doc:
<comment>Description:</comment>
  获取一系列外部变量，并且可以通过过滤器处理它们
  
  这个函数当需要获取很多变量却不想重复调用<strong>filter_input()</strong>时很有用。

<comment>Param:</comment>
  <info>int</info>        <strong>$type</strong>       <info>INPUT_GET</info>, <info>INPUT_POST</info>, <info>INPUT_COOKIE</info>, <info>INPUT_SERVER</info>, or <info>INPUT_ENV</info>之一。
  <info>array|int</info>  <strong>$options</strong>    一个定义参数的数组。一个有效的键必须是一个包含变量名的<info>string</info>，一个有效的值
                         要么是一个filter type，或者是一个<info>array</info> 指明了过滤器、标示和选项。如果值是一
                         个数组，那么它的有效的键可以是 <return>filter</return>， 用于指明 filter type，<return>flags</return>  用于指
                         明任何想要用于过滤器的标示，或者 <return>options</return> 用于指明任何想要用于过滤器的选项。
                         参考下面的例子来更好的理解这段说明。
                         
                         这个参数也可以是一个filter constant的整数。那么数组中的所有变量都会被这个过
                         滤器所过滤。
  <info>bool</info>       <strong>$add_empty</strong>  在返回值中添加 <info>null</info> 作为不存在的键。

<comment>Return:</comment>
  <info>array|false|null</info>  成功时包含请求变量值的数组。如果通过 <strong>$type</strong> 指定的输入数组没有值可以填充，当没有
                    指定  <info>FILTER_NULL_ON_FAILURE</info> flag 时函数返回 <info>null</info>，否则为 <info>false</info>。其它失败返回
                    <info>false</info>。
                    
                    如果过滤失败，数组值将为 <info>false</info>，如果变量未设置，返回 <info>null</info>。如果使用
                    <info>FILTER_NULL_ON_FAILURE</info> flag，变量未设置将返回 <info>false</info>，过滤失败将返回 <info>null</info>。如果
                    <strong>$add_empty</strong> 参数为 <info>false</info>，不会为复位的变量添加数组元素。

<comment>See Also:</comment>
   * <strong>filter_input()</strong>
   * <strong>filter_var_array()</strong>
   * 


id: filter_list
type: function
doc:
<comment>Description:</comment>
  返回所支持的过滤器列表

<comment>Return:</comment>
  <info>array</info>  返回一个所支持的过滤器的名称的列表，如果没有这样子的过滤器的话则返回空数组。这个数组的索引
         不是过滤器id， 你可以通过 <strong>filter_id()</strong> 去根据名称获取它们。


id: filter_var
type: function
doc:
<comment>Description:</comment>
  使用特定的过滤器过滤一个变量

<comment>Param:</comment>
  <info>mixed</info>      <strong>$value</strong>    要过滤的内容。注意：标量值在过滤前，会被转换成字符串。
  <info>int</info>        <strong>$filter</strong>   要应用的过滤器 ID。 手册页面列出了可用的过滤器。
                       
                       如果省略，将使用 <info>FILTER_DEFAULT</info>，默认等同于 <info>FILTER_UNSAFE_RAW</info>。这将导致不进行
                       任何默认过滤。
  <info>array|int</info>  <strong>$options</strong>  一个选项的关联数组，或者按位区分的标示。如果过滤器接受选项，可以通过数组的
                       "flags" 下标去提供这些标示。 对于回调型的过滤器，应该传入 <info>callable</info>。 这个回调
                       函数必须接受一个参数（即待过滤的值），并且返回一个在过滤/净化后的值。
                       
                        array( 'default' => 3, // 过滤器失败时返回的值 // 可以继续写过滤器接收其它选
                       项 'min_range' => 0 ), 'flags' => FILTER_FLAG_ALLOW_OCTAL,
                       );
                       $var = filter_var('0755', FILTER_VALIDATE_INT, $options);
                       // 对于仅接受标志的过滤器，您可以直接将其传递
                       $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
                       // 对于仅接受标志的过滤器，您还可以将其作为数组传递
                       $var = filter_var('oops', FILTER_VALIDATE_BOOLEAN, array('flags' =>
                       FILTER_NULL_ON_FAILURE));
                       // 回调类型过滤器
                       function foo($value)
                       { // 预期值: Surname, GivenNames if (strpos($value, ", ") === false) return
                       false; list($surname, $givennames) = explode(", ", $value, 2); $empty =
                       (empty($surname) || empty($givennames)); $notstrings = (!is_string($surname)
                       || !is_string($givennames)); if ($empty || $notstrings) { return false; }
                       else { return $value; }
                       }
                       $var = filter_var('Doe, Jane Sue', FILTER_CALLBACK, array('options' =>
                       'foo'));
                       ?> ]]>

<comment>Return:</comment>
  <info>mixed</info>  返回过滤后的数据，如果过滤失败则返回 <info>false</info> 。

<comment>See Also:</comment>
   * <strong>filter_var_array()</strong>
   * <strong>filter_input()</strong>
   * <strong>filter_input_array()</strong>
   * 


id: filter_var_array
type: function
doc:
<comment>Description:</comment>
  获取多个变量并且过滤它们
  
  不需要重复调用 <strong>filter_var()</strong> 就能获取多个变量。

<comment>Param:</comment>
  <info>array</info>      <strong>$array</strong>      数组，键为字符串，值为待过滤的数据。
  <info>array|int</info>  <strong>$options</strong>    一个定义参数的数组。一个有效的键必须是一个包含变量名的<info>string</info>，一个有效的值
                         要么是一个filter type，或者是一个<info>array</info> 指明了过滤器、标示和选项。如果值是一
                         个数组，那么它的有效的键可以是 <return>filter</return>， 用于指明 filter type，<return>flags</return>  用于指
                         明任何想要用于过滤器的标示，或者 <return>options</return> 用于指明任何想要用于过滤器的选项。
                         参考下面的例子来更好的理解这段说明。
                         
                         这个参数也可以是一个filter constant的整数。那么数组中的所有值都会被这个过滤
                         器所过滤。
  <info>bool</info>       <strong>$add_empty</strong>  在返回值中添加 <info>null</info> 作为不存在的键。

<comment>Return:</comment>
  <info>array|false|null</info>  如果成功则返回一个包含所请求变量的数组，或者当失败时返回 <info>false</info> 。 一个数组的值如
                    果过滤失败则为 <info>false</info> ，或者为 <info>null</info> 如果变量不存在的话。

<comment>See Also:</comment>
   * <strong>filter_input_array()</strong>
   * <strong>filter_var()</strong>
   * <strong>filter_input()</strong>
   * 


id: finfo::buffer
type: function
doc:
<comment>Description:</comment>
  别名 finfo_buffer()
  
  此函数是该函数的别名： finfo_buffer()

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


id: finfo::file
type: function
doc:
<comment>Description:</comment>
  别名 finfo_file()
  
  此函数是该函数的别名： finfo_file()

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


id: finfo::set_flags
type: function
doc:
<comment>Description:</comment>
  别名 finfo_set_flags()
  
  此函数是该函数的别名： finfo_set_flags()

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


id: finfo_buffer
type: function
doc:
<comment>Description:</comment>
  返回一个字符串缓冲区的信息
  
  过程化风格
  
  面向对象风格
  
  本函数用来获取字符串中二进制数据的信息。

<comment>Param:</comment>
  <info>finfo</info>          <strong>$finfo</strong>    经 <strong>finfo_open()</strong> 返回的 <class>finfo</class> 实例。
  <info>string</info>         <strong>$string</strong>   要检查的文件内容。
  <info>int</info>            <strong>$flags</strong>    一个 Fileinfo 常量  或多个 Fileinfo 常量  进行逻辑或运算。
  <info>resource|null</info>  <strong>$context</strong>  

<comment>Return:</comment>
  <info>string|false</info>  返回 <strong>$string</strong> 参数所指定内容的类型描述。 发生错误时返回 <info>false</info> 。

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


id: finfo_close
type: function
doc:
<comment>Description:</comment>
  关闭 finfo 实例
  
  关闭 <strong>finfo_open()</strong> 函数所返回的 fileinfo 实例。

<comment>Param:</comment>
  <info>finfo</info>  <strong>$finfo</strong>  经 <strong>finfo_open()</strong> 返回的 <class>finfo</class> 实例。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: finfo_file
type: function
doc:
<comment>Description:</comment>
  返回一个文件的信息
  
  过程化风格
  
  面向对象风格
  
  本函数用来获取一个文件的信息。

<comment>Param:</comment>
  <info>finfo</info>          <strong>$finfo</strong>     经 <strong>finfo_open()</strong> 返回的 <class>finfo</class> 实例。
  <info>string</info>         <strong>$filename</strong>  要检查的文件名。
  <info>int</info>            <strong>$flags</strong>     一个 Fileinfo 常量或多个进行逻辑或。
  <info>resource|null</info>  <strong>$context</strong>   关于 <return>contexts</return> 的更多描述，请参考 。

<comment>Return:</comment>
  <info>string|false</info>  返回 <strong>$filename</strong> 参数指定的文件信息。发生错误时返回 <info>false</info>。

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


id: finfo_open
type: function
doc:
<comment>Description:</comment>
  创建新 finfo 实例
  
  过程化风格
  
  面向对象风格（构造器）：
  
  本函数打开一个魔数数据库并且返回它的实例。

<comment>Param:</comment>
  <info>int</info>          <strong>$flags</strong>           一个 Fileinfo 常量  或多个 Fileinfo 常量  进行逻辑或运算。
  <info>string|null</info>  <strong>$magic_database</strong>  魔数数据库文件名称， 通常是 /path/to/magic.mime。 如果未指定，则使用
                                <return>MAGIC</return> 环境变量。 如果未指定此环境变量， 则使用 PHP 绑定的魔数数据
                                库。
                                
                                传入 <info>null</info> 或者空字符串，等同于使用默认值。

<comment>Return:</comment>
  <info>finfo|false</info>  （仅适用于过程化风格） 成功时返回 <class>finfo</class> 实例， 或者在失败时返回 <info>false</info>。

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


id: finfo_set_flags
type: function
doc:
<comment>Description:</comment>
  设置 libmagic 配置选项
  
  过程化风格
  
  面向对象风格
  
  此函数用来设置 Fileinfo 选项。 这些选项也可以在调用 <strong>finfo_open()</strong> 或者其他 Fileinfo 函数时直接指
  定。

<comment>Param:</comment>
  <info>finfo</info>  <strong>$finfo</strong>  经 <strong>finfo_open()</strong> 返回的 <class>finfo</class> 实例。
  <info>int</info>    <strong>$flags</strong>  一个 Fileinfo 常量  或多个 Fileinfo 常量  进行逻辑或运算。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: floatval
type: function
doc:
<comment>Description:</comment>
  获取变量的浮点值
  
  获取变量 <strong>$value</strong> 的 <info>float</info> 值。

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  可以是任何标量类型。<strong>floatval()</strong> 不能用于对象，这样做会发出 <info>E_WARNING</info> 级别的错误并返
                 回 1。

<comment>Return:</comment>
  <info>float</info>  指定变量的浮点值。空数组返回 0，非空数组返回 1。
         
         字符串很可能返回 0，尽管这取决于字符串最左边的字符。适用浮点数强制转换的通用规则。

<comment>See Also:</comment>
   * <strong>boolval()</strong>
   * <strong>intval()</strong>
   * <strong>strval()</strong>
   * <strong>settype()</strong>
   * 类型转换


id: flock
type: function
doc:
<comment>Description:</comment>
  可移植的协同文件锁定
  
  <strong>flock()</strong> 允许执行简单的读取/写入模型,该模型可以在任何平台（包括大部分 Unix 衍生产品，甚至是
  Windows）上使用。
  
  当调用 <strong>fclose()</strong> 或者对 <strong>$stream</strong> 垃圾收集时，锁会释放。
  
  PHP 支持以协同且可移植的方式锁定完整文件（也就是说所有访问程序必须使用相同锁定方式, 否则将无法工
  作）。默认情况下，该函数将堵塞直到获得锁；这可以通过下面文档中 <info>LOCK_NB</info> 选项来控制。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>       文件系统指针，是典型地由
                          <strong>fopen()</strong> 创建的 <info>resource</info>(资源)。
  <info>int</info>       <strong>$operation</strong>    <strong>$operation</strong> 可以是以下值之一： <info>LOCK_SH</info>取得共享锁定（读取的程序）。 <info>LOCK_EX</info>
                          取得独占锁定（写入的程序。 <info>LOCK_UN</info> 释放锁定（无论共享或独占）。
                          
                          <info>LOCK_SH</info>取得共享锁定（读取的程序）。
                          
                          <info>LOCK_EX</info> 取得独占锁定（写入的程序。
                          
                          <info>LOCK_UN</info> 释放锁定（无论共享或独占）。
                          
                          It is also possible to add <info>LOCK_NB</info> as a bitmask to one  of the above
                          operations, if <strong>flock()</strong> should not block during the locking attempt.
  <info>int</info>       <strong>$would_block</strong>  如果锁将堵塞（EWOULDBLOCK 错误码情况下），第三个可选参数会设置为 1。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: floor
type: function
doc:
<comment>Description:</comment>
  舍去法取整
  
  如有必要，通过对 <strong>$num</strong> 向下取整（作为浮点数）。

<comment>Param:</comment>
  <info>int|float</info>  <strong>$num</strong>  要取整的数字

<comment>Return:</comment>
  <info>float</info>  对 <strong>$num</strong> 向下取整。<strong>floor()</strong> 返回的类型仍然是 <info>float</info>。

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


id: flush
type: function
doc:
<comment>Description:</comment>
  刷新系统输出缓冲区
  
  刷新 PHP 的系统写入缓冲区，且不管 PHP 使用什么后端（CGI、Web 服务器等）。尝试推送当前输出到浏览
  器，但有一些警告。
  
  <strong>flush()</strong> 无法覆盖 Web 服务器的缓冲方案，并且不会对任何浏览器中的客户端缓冲起作用。也不会对 PHP 的用
  户级别输出缓冲机制起作用。这意味着 <strong>ob_flush()</strong> 应该在 <strong>flush()</strong> 之前调用，以刷新缓冲区（如果正在使
  用）。
  
  个别服务器，特别是 Win32，在结果传输到浏览器之前，仍然会缓冲脚本的输出，直到程序结束为止。
  
  Apache 的服务器模块（比如 mod_gzip），可能自己进行输出缓冲，这将导致 <strong>flush()</strong> 不会将数据立即发送到
  客户端浏览器。
  
  甚至浏览器也会在显示之前进行输入缓冲。例如 Netscape 浏览器会在接受到行尾或开始标记之前缓冲文本，且
  在接收到 \</table&gt; 标记之前，不会渲染出整个表格。
  
  Microsoft Internet Explorer 的某些版本只有当接收到的 256 个字节的输出以后才开始显示页面，所以必须
  在刷新之前发送额外的空格来让这些浏览器显示页面。

<comment>Return:</comment>
  <info>void</info>  没有返回值。

<comment>See Also:</comment>
   * <strong>ob_flush()</strong>
   * <strong>ob_clean()</strong>
   * <strong>ob_end_flush()</strong>
   * <strong>ob_end_clean()</strong>


id: fmod
type: function
doc:
<comment>Description:</comment>
  返回除法的浮点数余数
  
  返回被除数（<strong>$num1</strong>）除以除数（<strong>$num2</strong>）所得的浮点数余数。余数（r）的定义是：num1 = i * num2 + r，其中
  i 是整数。如果 <strong>$num2</strong> 是非零值，则 r 和 <strong>$num1</strong> 的符号相同并且其数量值小于 <strong>$num2</strong>。

<comment>Param:</comment>
  <info>float</info>  <strong>$num1</strong>  被除数
  <info>float</info>  <strong>$num2</strong>  除数

<comment>Return:</comment>
  <info>float</info>  <strong>$num1</strong>/<strong>$num2</strong> 的浮点数余数。

<comment>See Also:</comment>
   * <return>/</return>——浮点除法
   * <return>%</return>——整数取模
   * <strong>intdiv()</strong>——整数除法


id: fnmatch
type: function
doc:
<comment>Description:</comment>
  用模式匹配文件名
  
  <strong>fnmatch()</strong> 检查传入的 <strong>$filename</strong> 是否匹配给出的 shell 通配符 <strong>$pattern</strong>。

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>   shell 通配符。
  <info>string</info>  <strong>$filename</strong>  要检查的字符串。 此函数对于文件名尤其有用，但也可以用于普通的字符串。
                     
                     普通用户可能习惯于 shell 模式或者至少在最简单的形式下使用 <return>'?'</return> 和 <return>'*'</return> 通配符，
                     因此在前端搜索表达式输入中，使用 <strong>fnmatch()</strong> 来代替 <strong>preg_match()</strong> 对于非编程用户更
                     加方便。
  <info>int</info>     <strong>$flags</strong>     <strong>$flags</strong> 值可以是下列 flag 的任意组合，并用位运算符 OR (|) 连接。 <strong>fnmatch()</strong> flag
                     列表 <strong>$Flag</strong>说明<info>FNM_NOESCAPE</info> 禁用反斜线转义。 <info>FNM_PATHNAME</info> Slash in string only
                     matches slash in the given pattern. <info>FNM_PERIOD</info> Leading period in string must be
                     exactly matched by period in the given pattern. <info>FNM_CASEFOLD</info> Caseless match.
                     Part of the GNU extension.

<comment>Return:</comment>
  <info>bool</info>  匹配则返回 <info>true</info>，否则返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>glob()</strong>
   * <strong>preg_match()</strong>
   * <strong>sscanf()</strong>
   * <strong>printf()</strong>
   * <strong>sprintf()</strong>


id: fopen
type: function
doc:
<comment>Description:</comment>
  打开文件或者 URL
  
  <strong>fopen()</strong> 将 <strong>$filename</strong> 指定的名字资源绑定到一个流上。

<comment>Param:</comment>
  <info>string</info>         <strong>$filename</strong>          如果 <strong>$filename</strong> 是 "scheme://..." 的格式，则被当成一个 URL，PHP
                                    将搜索协议处理器（也被称为封装协议）来处理此模式。如果该协议尚未
                                    注册封装协议，PHP 将发出一条消息来帮助检查脚本中潜在的问题并将
                                    <strong>$filename</strong> 当成一个普通的文件名继续执行下去。
                                    
                                    如果 PHP 认为 <strong>$filename</strong> 指定的是一个本地文件，将尝试在该文件上打
                                    开一个流。该文件必须是 PHP 可以访问的，因此需要确认文件访问权限
                                    允许该访问。如果激活了 open_basedir 则会应用进一步的限制。
                                    
                                    如果 PHP 认为 <strong>$filename</strong> 指定的是一个已注册的协议，而该协议被注册
                                    为一个网络 URL，PHP 将检查并确认 allow_url_fopen 已被激活。如果
                                    关闭了，PHP 将发出一个警告，而 fopen 的调用则失败。
                                    
                                    所支持的协议列表见。某些协议（也被称为 <return>wrappers</return>）支持 <return>context</return> 和
                                    ／或 php.ini 选项。参见相应的页面哪些选项可以被设定（例如
                                    php.ini 中用于 <return>http</return> wrapper 的 <return>user_agent</return> 值）。
                                    
                                    On the Windows platform, be careful to escape any backslashes
                                    used in the path to the file, or use forward slashes.
                                    ]]>
  <info>string</info>         <strong>$mode</strong>              <strong>$mode</strong> 参数指定了所要求到该流的访问类型。可以是以下： <strong>fopen()</strong> 中
                                    <strong>$mode</strong> 的可能值列表 <strong>$mode</strong>说明<return>'r'</return> 只读方式打开，将文件指针指向文件
                                    头。 <return>'r+'</return> 读写方式打开，将文件指针指向文件头。 <return>'w'</return> 写入方式打
                                    开，将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试
                                    创建之。 <return>'w+'</return> 读写方式打开，否则行为同 <return>'w'</return>。 <return>'a'</return> 写入方式打开，
                                    将文件指针指向文件末尾。如果文件不存在则尝试创建之。在这种情况
                                    下，<strong>fseek()</strong> 没有效果，写入总是追加。 <return>'a+'</return> 读写方式打开，将文件指
                                    针指向文件末尾。如果文件不存在则尝试创建之。在这种情况下，
                                    <strong>fseek()</strong> 只相应读取位置，写入总是追加。 <return>'x'</return> 创建并以写入方式打
                                    开，将文件指针指向文件头。如果文件已存在，则 <strong>fopen()</strong> 调用失败并
                                    返回 <info>false</info>，并生成一条 <info>E_WARNING</info> 级别的错误信息。如果文件不存在
                                    则尝试创建之。这和给 底层的 <return>open(2)</return> 系统调用指定 <return>O_EXCL|O_CREAT</return>
                                    标记是等价的。 <return>'x+'</return> 创建并以读写方式打开，其他的行为和 <return>'x'</return> 一
                                    样。 <return>'c'</return> Open the file for writing only. If the file does not
                                    exist, it is created. If it exists, it is neither truncated (as
                                    opposed to <return>'w'</return>), nor the call to this function fails (as is the
                                    case with <return>'x'</return>). The file pointer is positioned on the beginning
                                    of the file. This may be useful if it's desired to get an
                                    advisory lock (see <strong>flock()</strong>) before attempting to modify the
                                    file, as using <return>'w'</return> could truncate the file before the lock was
                                    obtained (if truncation is desired, <strong>ftruncate()</strong> can be used
                                    after the lock is requested). <return>'c+'</return> Open the file for reading and
                                    writing; otherwise it has the same behavior as <return>'c'</return>. <return>'e'</return> Set
                                    close-on-exec flag on the opened file descriptor. Only available
                                    in PHP compiled on POSIX.1-2008 conform systems.
                                    
                                    不同的操作系统家族具有不同的行结束习惯。当写入一个文本文件并想插
                                    入一个新行时，需要使用符合操作系统的行结束符号。基于 Unix 的系统
                                    使用 <return>\n</return> 作为行结束字符，基于 Windows 的系统使用 <return>\r\n</return> 作为行结束
                                    字符，基于 Macintosh 的系统（传统 Mac OS）使用 <return>\r</return> 作为行结束字
                                    符。
                                    
                                    如果写入文件时使用了错误的行结束符号，则其它应用程序打开这些文件
                                    时可能会表现得很怪异。
                                    
                                    Windows 下提供了一个文本转换标记（<return>'t'</return>）可以透明地将 <return>\n</return> 转换为
                                    <return>\r\n</return>。与此对应还可以使用 <return>'b'</return> 来强制使用二进制模式，这样就不会转
                                    换数据。要使用这些标记，要么用 <return>'b'</return> 或者用 <return>'t'</return> 作为 <strong>$mode</strong> 参数的
                                    最后一个字符。
                                    
                                    默认的转换模式是 <return>'b'</return>。如果是操作纯文本文件并在脚本中使用了 <return>\n</return> 作
                                    为行结束符，但还要期望这些文件可以被其它应用程序例如 旧版本的
                                    Notepad 读取，则在 mode 中使用 <return>'t'</return>。在所有其它情况下使用 <return>'b'</return>。
                                    
                                    在操作二进制文件时如果指定 <return>'t'</return> 标记，可能会碰到一些奇怪的问题，
                                    包括坏掉的图片文件以及关于 <return>\r\n</return> 字符的奇怪问题。
                                    
                                    为移植性考虑，强烈建议重写那些依赖于 <return>'t'</return> 模式的代码使其使用正确
                                    的行结束符并改成 <return>'b'</return> 模式。
                                    
                                    对于 php://output、php://input、php://stdin、php://stdout、
                                    php://stderr 和 php://fd 流封装协议，会忽略 <strong>$mode</strong>。
  <info>bool</info>           <strong>$use_include_path</strong>  如果也需要在 include_path 中搜寻文件的话，可以将可选的第三个参数
                                    <strong>$use_include_path</strong> 设为 '1' 或 <info>true</info>。
  <info>resource|null</info>  <strong>$context</strong>           上下文流（context stream）<info>resource</info>。

<comment>Return:</comment>
  <info>resource|false</info>  成功时返回文件指针资源， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * 
   * <strong>fclose()</strong>
   * <strong>fgets()</strong>
   * <strong>fread()</strong>
   * <strong>fwrite()</strong>
   * <strong>fsockopen()</strong>
   * <strong>file()</strong>
   * <strong>file_exists()</strong>
   * <strong>is_readable()</strong>
   * <strong>stream_set_timeout()</strong>
   * <strong>popen()</strong>
   * <strong>stream_context_create()</strong>
   * <strong>umask()</strong>
   * <class>SplFileObject</class>


id: forward_static_call
type: function
doc:
<comment>Description:</comment>
  调用静态方法
  
  使用以下参数，调用通过 <strong>$callback</strong> 参数给出的用户定义的函数或者方法。此函数必须在方法上下文中调用，
  不能在类外调用。它使用后期静态绑定

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  要调用的函数或者方法。此参数可以是带类名及方法的 <info>array</info> 或者带函数名的
                       <info>string</info>。
  <info>mixed</info>     <strong>$args</strong>      要传递给函数的零到多个参数。

<comment>Return:</comment>
  <info>mixed</info>  返回函数结果，失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>forward_static_call_array()</strong>
   * <strong>call_user_func_array()</strong>
   * <strong>call_user_func()</strong>
   * <strong>is_callable()</strong>


id: forward_static_call_array
type: function
doc:
<comment>Description:</comment>
  调用静态方法且参数作为数组传递
  
  通过 <strong>$callback</strong> 参数指定调用用户定义的函数或者方法。此函数必须在方法上下文中调用，不能在类外使用。
  它使用后期静态绑定。转发方法的所有参数都作为值和数组传递，类似于 <strong>call_user_func_array()</strong>。

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>   要调用的函数或者方法。此参数可以是带类名及方法的 <info>array</info> 或者带函数名的
                        <info>string</info>。
  <info></info>          <strong>$parameter</strong>  参数，将所有方法参数聚合到一个数组中。
                        
                        注意 <strong>forward_static_call_array()</strong> 的参数不是通过引用传递的。

<comment>Return:</comment>
  <info>mixed</info>  返回函数的结果，失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>forward_static_call()</strong>
   * <strong>call_user_func()</strong>
   * <strong>call_user_func_array()</strong>
   * <strong>is_callable()</strong>


id: fpassthru
type: function
doc:
<comment>Description:</comment>
  输出文件指针处的所有剩余数据
  
  将给定的文件指针从当前的位置读取到 EOF 并把结果写到输出缓冲区。
  
  如果已经向文件写入数据，就必须调用 <strong>rewind()</strong> 来将文件指针指向文件头。
  
  如果既不修改文件也不在特定位置检索，只想将文件的内容下载到输出缓冲区，应该使用 <strong>readfile()</strong>，这样可
  以省去 <strong>fopen()</strong> 调用。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针必须是有效的，必须指向由
                     <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。

<comment>Return:</comment>
  <info>int</info>  返回从 <strong>$stream</strong> 读取并传递到输出的字符数量。

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


id: fpm_get_status
type: function
doc:
<comment>Description:</comment>
  返回当前 FPM 池状态
  
  此函数将返回关联数组，包含当前完整 FPM 池状态。它始终返回完整状态，包含每个进程的状态信息。参阅
  FPM 状态页面教程获取有关详细信息。
  
  注意如果 FPM 用于服务脚本时才会定义此函数。

<comment>Return:</comment>
  <info>array|false</info>  包含完整 FPM 池状态的关联数组， 或者在失败时返回 <info>false</info>。


id: fprintf
type: function
doc:
<comment>Description:</comment>
  将格式化后的字符串写入到流
  
  写入根据 <strong>$format</strong> 格式化后的字符串到由 <strong>$stream</strong> 句柄打开的流中。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件系统指针，是典型地由
                     <strong>fopen()</strong> 创建的 <info>resource</info>(资源)。
  <info>string</info>    <strong>$format</strong>  format 字符串通常由零或多个指令组成：普通字符（不包含 <return>%</return>）——直接复制到结果，转换
                     规范——获取每个参数的结果。
                     
                     转换规范遵循此原型： <return>%[argnum$][flags][width][.precision]specifier</return>.
                     
                     整数后跟美元符号 <return>$</return>，用于指定转换中要处理的参数数量。
                     
                     标志标志说明<return>-</return> 在指定字段宽度时左对齐，默认右对齐 <return>+</return> 正数的加号 <return>+</return>前缀，默认负数的
                     前缀是负号。 <return> </return>(space) 空格填充结果。这是默认设置。 <return>0</return> 仅用 0 进行左侧数字填充。
                     使用 <return>s</return> 标志符可以右侧填充。 <return>'</return>(char) 用字符（char）填充结果。
                     
                     要么是整数，表示转换结果应该有多少个字符（最少），要么是 <return>*</return>。如果使用 <return>*</return>，那么宽
                     度将作为额外的整数值提供，位于格式化符号之前。
                     
                     小数点 <return>.</return>，可选的后跟整数或者 <return>*</return>，其含义取决于格式化符号： <return>e</return>、<return>E</return>、<return>f</return>、<return>F</return> 标志符：小
                     数点后需要打印的位数（默认是 6）。 <return>g</return>、<return>G</return>、<return>h</return>、<return>H</return> 标志符：这是要打印的最大有效位
                     数。 <return>s</return> 标志符：充当分界点，为字符串设置最大字符限制。   如果小数点没有明确的精
                     度值，则假设是 0。如果使用 <return>*</return>，则精度将作为额外的整数值提供，位于格式化符号之
                     前。
                     
                     <return>e</return>、<return>E</return>、<return>f</return>、<return>F</return> 标志符：小数点后需要打印的位数（默认是 6）。
                     
                     <return>g</return>、<return>G</return>、<return>h</return>、<return>H</return> 标志符：这是要打印的最大有效位数。
                     
                     <return>s</return> 标志符：充当分界点，为字符串设置最大字符限制。
                     
                     如果小数点没有明确的精度值，则假设是 0。如果使用 <return>*</return>，则精度将作为额外的整数值提
                     供，位于格式化符号之前。
                     
                     标志符标志符说明<return>%</return> 字面意思的百分号字符。不需要参数。 <return>b</return> 参数视为整数并以二进制数
                     字呈现。 <return>c</return> 参数视为整数并以 ASCII 字符呈现。 <return>d</return> 参数视为整数并以（有符号）十进制
                     数字呈现。 <return>e</return> 参数当做科学符号处理（例如 1.2e+2）。 <return>E</return> 与 <return>e</return> 标志符相同，但使用大
                     写字母（例如 1.2E+2）。 <return>f</return> 参数当做浮点数处理且作为浮点数呈现（locale aware）。
                     <return>F</return> 参数当做浮点数处理且作为浮点数呈现（non-locale aware）。 <return>g</return> 通用格式。  Let P
                     equal the precision if nonzero, 6 if the precision is omitted, or 1 if the
                     precision is zero. Then, if a conversion with style E would have an exponent of
                     X:  If P &gt; X ≥ −4, the conversion is with style f and precision P − (X + 1).
                     Otherwise, the conversion is with style e and precision P − 1. <return>G</return> Like the <return>g</return>
                     specifier but uses <return>E</return> and <return>f</return>. <return>h</return> Like the <return>g</return> specifier but uses <return>F</return>. Available as of
                     PHP 8.0.0. <return>H</return> Like the <return>g</return> specifier but uses <return>E</return> and <return>F</return>. Available as of PHP 8.0.0.
                     <return>o</return> 参数视为整数并以八进制数字来呈现。 <return>s</return> 参数视为字符串来呈现。 <return>u</return> 参数视为整数并
                     以无符号十进制数字呈现。 <return>x</return> 参数视为整数并作为十六进制数字呈现（带小写字母）。 <return>X</return>
                     参数视为整数并作为十六进制数字呈现（带大写字母）。
                     
                     通用格式。
                     
                     Let P equal the precision if nonzero, 6 if the precision is omitted, or 1 if
                     the precision is zero. Then, if a conversion with style E would have an
                     exponent of X:
                     
                     If P &gt; X ≥ −4, the conversion is with style f and precision P − (X + 1).
                     Otherwise, the conversion is with style e and precision P − 1.
                     
                     <return>c</return> 类型标志符忽略填充和宽度
                     
                     Attempting to use a combination of the string and width specifiers with
                     character sets that require more than one byte per character may result in
                     unexpected results
                     
                     变量将会强制转换为适合标志符的类型： 类型处理类型标志符<info>string</info><return>s</return><info>int</info><return>d</return>, <return>u</return>, <return>c</return>, <return>o</return>, <return>x</return>,
                     <return>X</return>, <return>b</return><info>float</info><return>e</return>, <return>E</return>, <return>f</return>, <return>F</return>, <return>g</return>, <return>G</return>, <return>h</return>, <return>H</return>
  <info>mixed</info>     <strong>$values</strong>  

<comment>Return:</comment>
  <info>int</info>  返回写入的字符串长度。

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


id: fputcsv
type: function
doc:
<comment>Description:</comment>
  将行格式化为 CSV 并写入文件指针
  
  <strong>fputcsv()</strong> 将一行（用 <strong>$fields</strong> 数组传递）格式化为 CSV 格式并写入由 <strong>$stream</strong> 指定的文件。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>     文件指针必须是有效的，必须指向由
                        <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。
  <info>array</info>     <strong>$fields</strong>     <info>string</info> 数组。
  <info>string</info>    <strong>$separator</strong>  可选的 <strong>$separator</strong> 参数设定字段分界符（只允许一个单字节字符）。
  <info>string</info>    <strong>$enclosure</strong>  可选的 <strong>$enclosure</strong> 参数设定字段字段环绕符（只允许一个单字节字符）。
  <info>string</info>    <strong>$escape</strong>     可选的 <strong>$escape</strong> 参数设置转义字符（只允许一个单字节字符）。空字符串（<return>""</return>）禁用
                        专有转义机制。
  <info>string</info>    <strong>$eol</strong>        可选的 <strong>$eol</strong> 参数设置自定义行尾序列。

<comment>Return:</comment>
  <info>int|false</info>  返回写入字符串的长度， 或者在失败时返回 <info>false</info>。

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


id: fread
type: function
doc:
<comment>Description:</comment>
  读取文件（可安全用于二进制文件）
  
  <strong>fread()</strong> 从文件指针 <strong>$stream</strong> 读取最多 <strong>$length</strong> 个字节。  该函数在遇上以下几种情况时停止读取文件：  读
  取了 <strong>$length</strong> 个字节  到达了文件末尾（EOF）  a packet becomes available or the  socket timeout
  occurs (for network streams)  if the stream is read buffered and it does not represent a plain
  file, at most one read of up to a number of bytes equal to the chunk size (usually 8192) is made;
  depending on the previously buffered data, the size of the returned data may be larger than the
  chunk size.
  
  读取了 <strong>$length</strong> 个字节
  
  到达了文件末尾（EOF）
  
  a packet becomes available or the  socket timeout occurs (for network streams)
  
  if the stream is read buffered and it does not represent a plain file, at most one read of up to a
  number of bytes equal to the chunk size (usually 8192) is made; depending on the previously
  buffered data, the size of the returned data may be larger than the chunk size.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件系统指针，是典型地由
                     <strong>fopen()</strong> 创建的 <info>resource</info>(资源)。
  <info>int</info>       <strong>$length</strong>  最多读取 <strong>$length</strong> 个字节。

<comment>Return:</comment>
  <info>string|false</info>  返回所读取的字符串， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fwrite()</strong>
   * <strong>fopen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>popen()</strong>
   * <strong>fgets()</strong>
   * <strong>fgetss()</strong>
   * <strong>fscanf()</strong>
   * <strong>file()</strong>
   * <strong>fpassthru()</strong>
   * <strong>fseek()</strong>
   * <strong>ftell()</strong>
   * <strong>rewind()</strong>
   * <strong>unpack()</strong>


id: frenchtojd
type: function
doc:
<comment>Description:</comment>
  从法国共和历日期转换为儒略日数
  
  从法国历日期转换为儒略日数。
  
  该函数仅转换第 1 年到第 14 年之间的日期（公历 1792 年 9 月 22 日到 1806 年 9 月 22 日）。 这涵盖并
  且超出了这个历法实际上采用的时间。

<comment>Param:</comment>
  <info>int</info>  <strong>$month</strong>  月份的范围是 1 （Vendémiaire）到 13（每年年底的 5 到 6 天）之间的数字。
  <info>int</info>  <strong>$day</strong>    天的范围是 1 到 30 之间的数字
  <info>int</info>  <strong>$year</strong>   年份的范围是 1 到 14 之间的数字

<comment>Return:</comment>
  <info>int</info>  指定法国共和历日期的 int 类型儒略日数。

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


id: fscanf
type: function
doc:
<comment>Description:</comment>
  从文件中格式化输入
  
  <strong>fscanf()</strong> 函数和 <strong>sscanf()</strong> 相似，但是它从与 <strong>$stream</strong> 关联的文件中接受输入并根据指定的 <strong>$format</strong> 来解释
  输入。
  
  格式字符串中的任何空白会与输入流中的任何空白匹配。这意味着甚至格式字符串中的制表符（<return>\t</return>）也会与输入
  流中的一个空格字符匹配。
  
  每次调用 <strong>fscanf()</strong> 都会从文件中读取一行。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件系统指针，是典型地由
                     <strong>fopen()</strong> 创建的 <info>resource</info>(资源)。
  <info>string</info>    <strong>$format</strong>  <strong>$string</strong> 的格式解释，在 <strong>sprintf()</strong> 的文档中进行了描述，但有以下区别：  函数不支持
                     区域设置。  不支持 <return>F</return>、<return>g</return>、<return>G</return> 和 <return>b</return>。 <return>D</return> 代表十进制数字。 <return>i</return> stands for integer with
                     base detection. <return>n</return> 代表到目前为止处理的字符数。 <return>s</return> 在任何空白字符处停止阅读。 <return>*</return>
                     代替 <return>argnum$</return> 禁止分配此转换规范。
  <info>mixed</info>     <strong>$vars</strong>    可选赋值。

<comment>Return:</comment>
  <info>array|int|false|null</info>  如果只给此函数传递了两个参数，解析后的值会被作为数组返回。否则，如果提供了可
                        选参数，此函数将返回被赋值的数目。 可选参数必须用引用传递。
                        
                        如果 <strong>$format</strong> 中预期的子字符串超出 <strong>$string</strong> 中有效的子字符串，则返回 <info>null</info>。其
                        它错误将返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fread()</strong>
   * <strong>fgets()</strong>
   * <strong>fgetss()</strong>
   * <strong>sscanf()</strong>
   * <strong>printf()</strong>
   * <strong>sprintf()</strong>


id: fseek
type: function
doc:
<comment>Description:</comment>
  在文件指针中定位
  
  在与 <strong>$stream</strong> 关联的文件中设定文件指针位置。新位置从文件头开始以字节数度量，是以 <strong>$whence</strong> 指定的位置
  加上 <strong>$offset</strong>。
  
  In general, it is allowed to seek past the end-of-file; if data is then written, reads in any
  unwritten region between the end-of-file and the sought position will yield bytes with value 0.
  However, certain streams may not support this behavior, especially when they have an underlying
  fixed size storage.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件系统指针，是典型地由
                     <strong>fopen()</strong> 创建的 <info>resource</info>(资源)。
  <info>int</info>       <strong>$offset</strong>  偏移量。
                     
                     要移动到文件尾之前的位置，需要给 <strong>$offset</strong> 传递一个负值，并设置 <strong>$whence</strong> 为
                     <info>SEEK_END</info>。
  <info>int</info>       <strong>$whence</strong>  <strong>$whence</strong> 值是： <info>SEEK_SET</info> - 设定位置等于 <strong>$offset</strong> 字节。<info>SEEK_CUR</info> - 设定位置为当前
                     位置加上 <strong>$offset</strong>。<info>SEEK_END</info> - 设定位置为文件尾加上 <strong>$offset</strong>。

<comment>Return:</comment>
  <info>int</info>  成功则返回 0；否则返回 -1。

<comment>See Also:</comment>
   * <strong>ftell()</strong>
   * <strong>rewind()</strong>


id: fsockopen
type: function
doc:
<comment>Description:</comment>
  打开 Internet 或者 Unix 套接字连接
  
  初始化套接字连接到指定 <strong>$hostname</strong> 资源。
  
  如所述，PHP 支持 Internet 和 Unix 域中的目标。也可以通过 <strong>stream_get_transports()</strong> 获取支持的传输器
  列表。
  
  默认情况下将以阻塞模式开启套接字连接。可以通过 <strong>stream_set_blocking()</strong> 将它转换到非阻塞模式。
  
  <strong>stream_socket_client()</strong> 与之非常相似，而且提供了更加丰富的参数设置，包括非阻塞连接和提供流上下文的
  能力。

<comment>Param:</comment>
  <info>string</info>      <strong>$hostname</strong>       如果安装了 OpenSSL，那么可以在主机名地址前面添加 <return>ssl://</return> 或者是
                              <return>tls://</return>，从而可以使用基于 TCP/IP 协议的 SSL 或者 TLS 的客户端连接到远程
                              主机。
  <info>int</info>         <strong>$port</strong>           端口号。可以省略该参数或传 -1，则表示传输器不使用端口，例如 <return>unix://</return>。
  <info>int</info>         <strong>$error_code</strong>     如果提供该参数，则会保存调用系统级别 <return>connect()</return> 发生的系统级错误号。
                              
                              如果 <strong>$error_code</strong> 的返回值为 <return>0</return>，且函数的返回值为 <info>false</info>，则表明错误发生
                              在 <return>connect()</return> 调用之前。这很可能是由于初始化套接字的问题。
  <info>string</info>      <strong>$error_message</strong>  错误信息将以字符串的信息返回。
  <info>float|null</info>  <strong>$timeout</strong>        设置连接的时限，单位为秒。当为 <info>null</info> 时，使用 default_socket_timeout
                              php.ini 设置。
                              
                              如果需要对为套接字读/写数据数据操作设置超时，请使用
                              <strong>stream_set_timeout()</strong>，<strong>fsockopen()</strong> 的 <strong>$timeout</strong> 参数仅仅在连接套接字时适
                              用。

<comment>Return:</comment>
  <info>resource|false</info>  <strong>fsockopen()</strong> 返回文件指针，可以跟其他文件函数（比如 <strong>fgets()</strong>、<strong>fgetss()</strong>、<strong>fwrite()</strong>、
                  <strong>fclose()</strong> 和 <strong>feof()</strong>）一起使用。如果调用失败，将返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>pfsockopen()</strong>
   * <strong>stream_socket_client()</strong>
   * <strong>stream_set_blocking()</strong>
   * <strong>stream_set_timeout()</strong>
   * <strong>fgets()</strong>
   * <strong>fgetss()</strong>
   * <strong>fwrite()</strong>
   * <strong>fclose()</strong>
   * <strong>feof()</strong>
   * <strong>socket_connect()</strong>
   * Curl 扩展


id: fstat
type: function
doc:
<comment>Description:</comment>
  通过已打开的文件指针取得文件信息
  
  获取由文件指针 <strong>$stream</strong> 所打开文件的统计信息。本函数和 <strong>stat()</strong> 函数相似，除了它是作用于已打开的文件
  指针而不是文件名。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件系统指针，是典型地由
                     <strong>fopen()</strong> 创建的 <info>resource</info>(资源)。

<comment>Return:</comment>
  <info>array|false</info>  返回一个数组具有该文件的统计信息，该数组的格式详细说明于手册中 <strong>stat()</strong> 页面里。失败时
               返回 <info>false</info>。


id: fsync
type: function
doc:
<comment>Description:</comment>
  同步文件变更（包括元数据）
  
  此函数同步文件变更，包括元数据。与 <strong>fflush()</strong> 类似，但同时还让操作系统将变更写入到存储介质。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针必须是有效的，必须指向由
                     <strong>fopen()</strong> 或 <strong>fsockopen()</strong> 成功打开的文件(并还未由 <strong>fclose()</strong> 关闭)。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fdatasync()</strong>
   * <strong>fflush()</strong>


id: ftell
type: function
doc:
<comment>Description:</comment>
  返回文件指针读/写的位置
  
  返回由 <strong>$stream</strong> 指定的文件指针的位置，也就是文件流中的偏移量。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针必须是有效的，且必须指向一个通过 <strong>fopen()</strong> 或 <strong>popen()</strong> 成功打开的文件。在
                     附加模式（加参数 "a" 打开文件）中 <strong>ftell()</strong> 会返回未定义错误。

<comment>Return:</comment>
  <info>int|false</info>  以整数形式返回由 <strong>$stream</strong> 引用的文件指针的位置，即文件流中的偏移量。
             
             如果出错，返回 <info>false</info>。
             
             因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型，对 2GB
             以上的文件，一些文件系统函数可能返回无法预期的结果。

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


id: ftok
type: function
doc:
<comment>Description:</comment>
  Convert a pathname and a project identifier to a System V IPC key
  
  The function converts the <strong>$filename</strong> of an existing accessible file and a project identifier into
  an <return>integer</return> for use with for example <strong>shmop_open()</strong> and other System V IPC keys.

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>    Path to an accessible file.
  <info>string</info>  <strong>$project_id</strong>  Project identifier. This must be a one character string.

<comment>Return:</comment>
  <info>int</info>  On success the return value will be the created key value, otherwise <return>-1</return> is returned.

<comment>See Also:</comment>
   * <strong>shmop_open()</strong>
   * <strong>sem_get()</strong>


id: ftp_alloc
type: function
doc:
<comment>Description:</comment>
  为要上传的文件分配空间
  
  向远程 FTP 服务器发送 <return>ALLO</return> 命令， 来为要上传的文件分配空间。
  
  很多 FTP 服务器不支持<return>ALLO</return> 命令。 如果服务器不支持此命令，将会返回错误码（<info>false</info>）， 返回成功码
  （<info>true</info>）表示预分配空间不是必需的， 客户端可以继续操作了。 因此，请仅对需要强制预分配空间服务器使用
  此函数。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       <class>FTP\Connection</class> 实例。
  <info>int</info>             <strong>$size</strong>      要分配的空间，以字节为单位。
  <info>string</info>          <strong>$response</strong>  如果提供此参数，那么服务器的响应 会以文本方式设置到 <strong>$response</strong> 中。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_put()</strong>
   * <strong>ftp_fput()</strong>


id: ftp_append
type: function
doc:
<comment>Description:</comment>
  将文件内容追加到 FTP 服务器上的指定文件
  
  本函数还未编写文档，仅有参数列表。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$remote_filename</strong>  
  <info>string</info>          <strong>$local_filename</strong>   
  <info>int</info>             <strong>$mode</strong>             

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: ftp_cdup
type: function
doc:
<comment>Description:</comment>
  切换到当前目录的父目录
  
  切换目录至当前目录的父目录 (上级目录)。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  <class>FTP\Connection</class> 实例。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_chdir()</strong>
   * <strong>ftp_pwd()</strong>


id: ftp_chdir
type: function
doc:
<comment>Description:</comment>
  在 FTP 服务器上改变当前目录
  
  将当前目录切换为指定的目录。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$directory</strong>  目标目录。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。如果切换目录失败，PHP 还会发出一条警告。

<comment>See Also:</comment>
   * <strong>ftp_cdup()</strong>
   * <strong>ftp_pwd()</strong>


id: ftp_chmod
type: function
doc:
<comment>Description:</comment>
  设置 FTP 服务器上的文件权限
  
  将服务器上的文件权限设置为 <strong>$permissions</strong> 指定的值。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>          <class>FTP\Connection</class> 实例。
  <info>int</info>             <strong>$permissions</strong>  要设置的权限值， 八进制 值。
  <info>string</info>          <strong>$filename</strong>     远程文件名称。

<comment>Return:</comment>
  <info>int|false</info>  操作成功返回文件新的权限，操作失败返回 <info>false</info> 。

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


id: ftp_close
type: function
doc:
<comment>Description:</comment>
  关闭 FTP 连接
  
  <strong>ftp_close()</strong> 关闭给出的连接标识符并释放 <info>resource</info>。
  
  调用本函数后，将不能再使用 FTP 连接，必须用 <strong>ftp_connect()</strong> 建立新连接。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  <class>FTP\Connection</class> 实例。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: ftp_connect
type: function
doc:
<comment>Description:</comment>
  建立新 FTP 连接
  
  <strong>ftp_connect()</strong> 将会建立 FTP 连接到指定的服务器 <strong>$hostname</strong>。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  要连接的服务器地址。此参数后面不应以斜线结尾，前面也不需要用 <return>ftp://</return> 开头。
  <info>int</info>     <strong>$port</strong>      为要连接到的 FTP 器的端口号，如果没有设置或者为 0，则会使用默认的端口 21 来连
                     接。
  <info>int</info>     <strong>$timeout</strong>   用来设置网络传输的超时时间限制。如果此选项留空，则默认的值为 90 秒。超时时间可
                     以在任何时候通过函数 <strong>ftp_set_option()</strong> 及 <strong>ftp_get_option()</strong> 来改变和获取。

<comment>Return:</comment>
  <info>FTP\Connection|false</info>  成功时返回 <class>FTP\Connection</class> 实例， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_close()</strong>
   * <strong>ftp_ssl_connect()</strong>


id: ftp_delete
type: function
doc:
<comment>Description:</comment>
  删除 FTP 服务器上的文件
  
  <strong>ftp_delete()</strong> 函数用来删除 FTP 服务器上的由参数 <strong>$filename</strong> 指定的的文件。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$filename</strong>  要删除的文件。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: ftp_exec
type: function
doc:
<comment>Description:</comment>
  在 FTP 服务器运行指定的命令
  
  发送 SITE EXEC <strong>$command</strong> 请求到 FTP 服务器。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>      <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$command</strong>  要执行的命令。

<comment>Return:</comment>
  <info>bool</info>  如果执行成功（服务器发送响应代码 <return>200</return>）则返回 <info>true</info>；否则返回 <info>false</info>。

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


id: ftp_fget
type: function
doc:
<comment>Description:</comment>
  从 FTP 服务器上下载文件并保存到本地已打开的文件中
  
  <strong>ftp_fget()</strong> 函数用来下载由 <strong>$remote_filename</strong> 指定的文件，并写入到本地已经被打开的文件中。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              <class>FTP\Connection</class> 实例。
  <info>resource</info>        <strong>$stream</strong>           本地已经打开的文件的句柄。
  <info>string</info>          <strong>$remote_filename</strong>  远程文件的路径。
  <info>int</info>             <strong>$mode</strong>             传送模式参数，必须是（文本模式）<info>FTP_ASCII</info> 或（二进制模式）
                                    <info>FTP_BINARY</info> 中的一个。
  <info>int</info>             <strong>$offset</strong>           远程文件开始下载的位置。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_get()</strong>
   * <strong>ftp_nb_get()</strong>
   * <strong>ftp_nb_fget()</strong>


id: ftp_fput
type: function
doc:
<comment>Description:</comment>
  上传已打开的文件到 FTP 服务器
  
  <strong>ftp_fput()</strong> 函数用来上传一个在已经打开的文件中的数据到 FTP 服务器。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$remote_filename</strong>  远程文件路径。
  <info>resource</info>        <strong>$stream</strong>           打开的本地文件句柄，读取到文件末尾。
  <info>int</info>             <strong>$mode</strong>             传输模式只能为（文本模式）<info>FTP_ASCII</info> 或（二进制模式）<info>FTP_BINARY</info>
                                    其中的一个。
  <info>int</info>             <strong>$offset</strong>           远程文件上传的开始位置。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_put()</strong>
   * <strong>ftp_nb_fput()</strong>
   * <strong>ftp_nb_put()</strong>


id: ftp_get
type: function
doc:
<comment>Description:</comment>
  从 FTP 服务器上下载文件
  
  <strong>ftp_get()</strong> 函数用来下载 FTP 服务器上指定的文件并保存为本地文件。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$local_filename</strong>   文件本地的路径（如果文件已经存在，则会被覆盖）。
  <info>string</info>          <strong>$remote_filename</strong>  文件的远程路径。
  <info>int</info>             <strong>$mode</strong>             传送模式。只能为 (文本模式) <info>FTP_ASCII</info> 或 (二进制模式) <info>FTP_BINARY</info>
                                    中的其中一个。
  <info>int</info>             <strong>$offset</strong>           从远程文件的这个位置继续下载。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_pasv()</strong>
   * <strong>ftp_fget()</strong>
   * <strong>ftp_nb_get()</strong>
   * <strong>ftp_nb_fget()</strong>


id: ftp_get_option
type: function
doc:
<comment>Description:</comment>
  返回当前 FTP 连接的各种不同的选项设置
  
  此函数会返回连接句柄为 <strong>$ftp_stream</strong>，指定键值 <strong>$option</strong> 的值。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>     <class>FTP\Connection</class> 实例。
  <info>int</info>             <strong>$option</strong>  截止到目前，支持的选项有： 支持的运行时 FTP 选项<info>FTP_TIMEOUT_SEC</info> 返回当前
                           设定的网络操作的超时时间。 <info>FTP_AUTOSEEK</info> 此选项打开时返回 <info>true</info>，否则返回
                           <info>false</info>。

<comment>Return:</comment>
  <info>int|bool</info>  如果成功则返回选项的值，否则，如果给定的参数 <strong>$option</strong> 选项不被支持则返回 <info>false</info>，同时会抛
            出一条警告（warning）信息。

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


id: ftp_login
type: function
doc:
<comment>Description:</comment>
  登录 FTP 服务器
  
  登录入指定 FTP 连接。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$username</strong>  用户名（<return>USER</return>）。
  <info>string</info>          <strong>$password</strong>  密码（<return>PASS</return>）。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。 如果登录失败，PHP 会抛出一个警告。


id: ftp_mdtm
type: function
doc:
<comment>Description:</comment>
  返回指定文件的最后修改时间
  
  <strong>ftp_mdtm()</strong> 获取远程文件的最后修改时间。
  
  某些 FTP 服务器可能会不支持这个特性！
  
  <strong>ftp_mdtm()</strong> 不适用于检查目录。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$filename</strong>  要检查的远程文件。

<comment>Return:</comment>
  <info>int</info>  以本地 UNIX 时间戳的方式返回指定文件的最后修改时间。、错误时返回 -1。


id: ftp_mkdir
type: function
doc:
<comment>Description:</comment>
  建立新目录
  
  在 FTP 服务器上，创建指定的目录 <strong>$directory</strong>。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$directory</strong>  要创建的目录名。

<comment>Return:</comment>
  <info>string|false</info>  如果成功返回新建的目录名，发生错误时返回 <info>false</info>。

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


id: ftp_mlsd
type: function
doc:
<comment>Description:</comment>
  返回指定目录中的文件列表

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$directory</strong>  要列出的目录。

<comment>Return:</comment>
  <info>array|false</info>  如果成功，则返回一个由目录中所有文件信息（数组）所组成的数组；如果错误，则返回
               <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_rawlist()</strong>
   * <strong>ftp_nlist()</strong>


id: ftp_nb_continue
type: function
doc:
<comment>Description:</comment>
  连续获取／发送文件（以不分块的方式 non-blocking）
  
  以不分块的方式，连续获取/发送文件。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  <class>FTP\Connection</class> 实例。

<comment>Return:</comment>
  <info>int</info>  返回 <info>FTP_FAILED</info> 或 <info>FTP_FINISHED</info> 或 <info>FTP_MOREDATA</info>。


id: ftp_nb_fget
type: function
doc:
<comment>Description:</comment>
  从 FTP 服务器获取文件并写入到一个打开的文件（非阻塞）
  
  <strong>ftp_nb_fget()</strong> 从远程 FTP 服务器获取一个文件
  
  本函数和 <strong>ftp_fget()</strong> 函数的区别是 本函数是异步方式获取文件的， 所以在下载文件的过程中你的程序还可以
  执行其他操作。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              <class>FTP\Connection</class> 实例。
  <info>resource</info>        <strong>$stream</strong>           用来存储数据的一个已经打开的文件句柄。
  <info>string</info>          <strong>$remote_filename</strong>  远程文件路径。
  <info>int</info>             <strong>$mode</strong>             传输模式，必须是 <info>FTP_ASCII</info> 或者 <info>FTP_BINARY</info>。
  <info>int</info>             <strong>$offset</strong>           远程文件开始下载的位置（即从远程文件的哪个字节开始下载）。

<comment>Return:</comment>
  <info>int</info>  返回 <info>FTP_FAILED</info> 或 <info>FTP_FINISHED</info> 或 <info>FTP_MOREDATA</info>。

<comment>See Also:</comment>
   * <strong>ftp_nb_get()</strong>
   * <strong>ftp_nb_continue()</strong>
   * <strong>ftp_fget()</strong>
   * <strong>ftp_get()</strong>


id: ftp_nb_fput
type: function
doc:
<comment>Description:</comment>
  将文件存储到 FTP 服务器 （非阻塞）
  
  <strong>ftp_nb_fput()</strong> 把已打开的文件内容存储到远程 FTP 服务器
  
  本函数和 <strong>ftp_fput()</strong> 函数的区别是 本函数是异步上传文件。 所以在文件上传过程中，你的程序还可以执行其
  他操作。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$remote_filename</strong>  远程文件路径。
  <info>resource</info>        <strong>$stream</strong>           已经打开的本地文件指针，当读取到文件末尾时结束。
  <info>int</info>             <strong>$mode</strong>             传输模式。必须是 <info>FTP_ASCII</info> 或 <info>FTP_BINARY</info>。
  <info>int</info>             <strong>$offset</strong>           要将文件存储到远程文件的开始位置（即从远程文件的哪个字节位置开始
                                    存储）。

<comment>Return:</comment>
  <info>int</info>  返回 <info>FTP_FAILED</info> 或 <info>FTP_FINISHED</info> 或 <info>FTP_MOREDATA</info>。

<comment>See Also:</comment>
   * <strong>ftp_nb_put()</strong>
   * <strong>ftp_nb_continue()</strong>
   * <strong>ftp_put()</strong>
   * <strong>ftp_fput()</strong>


id: ftp_nb_get
type: function
doc:
<comment>Description:</comment>
  从 FTP 服务器上获取文件并写入本地文件（non-blocking）
  
  <strong>ftp_nb_get()</strong> 在 FTP 服务器上获取指定的远程文件，并保存到本地。
  
  和 <strong>ftp_get()</strong> 不同之处，在于此函数是通过异步的方式来获取文件，这意味着，你的程序可以在下载文件的同
  时，同步进行其它操作。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$local_filename</strong>   保存到的本地文件路径（如果文件已存在会被覆盖）。
  <info>string</info>          <strong>$remote_filename</strong>  远程文件路径。
  <info>int</info>             <strong>$mode</strong>             指定传输模式。必须是 <info>FTP_ASCII</info> 或 <info>FTP_BINARY</info>。
  <info>int</info>             <strong>$offset</strong>           开始下载文件的起始位置。

<comment>Return:</comment>
  <info>int|false</info>  返回 <info>FTP_FAILED</info> 或 <info>FTP_FINISHED</info> 或 <info>FTP_MOREDATA</info>，或者在无法打开本地文件的情况下返回
             <info>false</info>

<comment>See Also:</comment>
   * <strong>ftp_nb_fget()</strong>
   * <strong>ftp_nb_continue()</strong>
   * <strong>ftp_fget()</strong>
   * <strong>ftp_get()</strong>


id: ftp_nb_put
type: function
doc:
<comment>Description:</comment>
  存储一个文件至 FTP 服务器（non-blocking）
  
  <strong>ftp_nb_put()</strong> 函数用来把本地文件 <strong>$local_file</strong> 存储到 FTP 服务器上由 <strong>$remote_file</strong> 参数指定的路径。
  
  与函数 <strong>ftp_put()</strong> 不同的是，此函数上传文件的时候采用的是异步传输模式，也就意味着在文件传送的过程
  中，你的程序可以继续干其它的事情。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$remote_filename</strong>  远程文件路径。
  <info>string</info>          <strong>$local_filename</strong>   本地文件路径。
  <info>int</info>             <strong>$mode</strong>             传输模式选择，可选参数为 <info>FTP_ASCII</info>（文本模式）或 <info>FTP_BINARY</info>（二
                                    进制模式）。
  <info>int</info>             <strong>$offset</strong>           指定传输开始的位置，用来续传支持。

<comment>Return:</comment>
  <info>int|false</info>  返回 <info>FTP_FAILED</info> 或 <info>FTP_FINISHED</info> 或 <info>FTP_MOREDATA</info>，打开本地文件失败时为 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_nb_fput()</strong>
   * <strong>ftp_nb_continue()</strong>
   * <strong>ftp_put()</strong>
   * <strong>ftp_fput()</strong>


id: ftp_nlist
type: function
doc:
<comment>Description:</comment>
  返回给定目录的文件列表

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$directory</strong>  指定要列表的目录。本参数接受带参数的形式，例如：<return>ftp_nlist($ftp, "-la
                              /your/dir");</return>；注意此参数不对传入值做处理，在目录或者文件名包括空格或特
                              殊的情况下，可能会存在问题。

<comment>Return:</comment>
  <info>array|false</info>  如果成功则返回给定目录下的文件名组成的数组，否则返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_rawlist()</strong>
   * <strong>ftp_mlsd()</strong>


id: ftp_pasv
type: function
doc:
<comment>Description:</comment>
  返回当前 FTP 被动模式是否打开
  
  在被动模式打开的情况下，数据的传送由客户机启动，而不是由服务器开始。
  
  请注意 <strong>ftp_pasv()</strong> 只能在 FTP 登录成功后方可调用，否则会失败。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>     <class>FTP\Connection</class> 实例。
  <info>bool</info>            <strong>$enable</strong>  如果参数 <strong>$pasv</strong> 为 <info>true</info>，打开被动模式传输（PASV MODE），否则则关闭被动传输
                           模式。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


id: ftp_put
type: function
doc:
<comment>Description:</comment>
  上传文件到 FTP 服务器
  
  <strong>ftp_put()</strong> 函数用来上传指定的本地文件到 FTP 服务器。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>              <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$remote_filename</strong>  远程文件路径。
  <info>string</info>          <strong>$local_filename</strong>   本地文件路径。
  <info>int</info>             <strong>$mode</strong>             传送模式，只能为 <info>FTP_ASCII</info>（文本模式）或 <info>FTP_BINARY</info>（二进制模
                                    式）。
  <info>int</info>             <strong>$offset</strong>           指定开始上传的位置，一般用来文件续传。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_pasv()</strong>
   * <strong>ftp_fput()</strong>
   * <strong>ftp_nb_fput()</strong>
   * <strong>ftp_nb_put()</strong>


id: ftp_pwd
type: function
doc:
<comment>Description:</comment>
  返回当前目录名

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  <class>FTP\Connection</class> 实例。

<comment>Return:</comment>
  <info>string|false</info>  返回当前目录名称，发生错误则返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>ftp_chdir()</strong>
   * <strong>ftp_cdup()</strong>


id: ftp_raw
type: function
doc:
<comment>Description:</comment>
  向 FTP 服务器发送命令
  
  向 FTP 服务器发送任意 <strong>$command</strong>。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>      <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$command</strong>  要执行的命令。

<comment>Return:</comment>
  <info>array|null</info>  将服务器的响应以字符串数组的形式返回，失败时为 <info>null</info>。对于响应内容既不做解析处理，
              <strong>ftp_raw()</strong> 也不检测命令是否执行成功。

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


id: ftp_rawlist
type: function
doc:
<comment>Description:</comment>
  返回指定目录下文件的详细列表
  
  <strong>ftp_rawlist()</strong> 函数将执行 FTP LIST 命令，并把结果做为一个数组返回。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$directory</strong>  要操作的目录路径，可以包括 LIST 参数。
  <info>bool</info>            <strong>$recursive</strong>  如果此参数为 <info>true</info>，实际执行的命令将会为 LIST -R。

<comment>Return:</comment>
  <info>array|false</info>  返回一个数组，数组的每个元素为返回文本的每一行，输出结构不会被解析。使用函数
               <strong>ftp_systype()</strong> 可以用来判断 FTP 服务器的类型，从而可以用来判断返回列表的类型。
               
               不以任何方式解析输出。<strong>ftp_systype()</strong> 返回的系统类型标识符可用于确定应如何解释结果。

<comment>See Also:</comment>
   * <strong>ftp_nlist()</strong>
   * <strong>ftp_mlsd()</strong>


id: ftp_rename
type: function
doc:
<comment>Description:</comment>
  更改 FTP 服务器上的文件或目录名
  
  <strong>ftp_rename()</strong> 将 FTP 服务器上的一个文件或目录改名。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>   <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$from</strong>  原来的文件／目录名。
  <info>string</info>          <strong>$to</strong>    新名字。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。 失败时（比如试图重命名一个不存在的文件）将会抛出
        一个 <return>E_WARNING</return> 错误信息。


id: ftp_rmdir
type: function
doc:
<comment>Description:</comment>
  删除目录
  
  删除 FTP 服务器上 <strong>$directory</strong> 参数指定的目录。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>        <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$directory</strong>  要删除的目录。必须是一个空目录的绝对路径或相对路径。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: ftp_set_option
type: function
doc:
<comment>Description:</comment>
  设置各种 FTP 运行时选项
  
  本函数控制指定 FTP 连接的各种运行时选项。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>     <class>FTP\Connection</class> 实例。
  <info>int</info>             <strong>$option</strong>  目前支持以下选项： 所支持的 FTP 运行时选项<info>FTP_TIMEOUT_SEC</info> 改变网络传输的
                           超时时间。参数 <strong>$value</strong> 必须为整数且大于 0。默认的超时时间为 90 秒。
                           <info>FTP_AUTOSEEK</info> 当此选项打开时，带 <strong>$resumepos</strong> 或 <strong>$startpos</strong> 参数的GET 或 PUT
                           请求 将先检索到文件中指定的位置。此选项默认是打开的。 <info>FTP_USEPASVADDRESS</info>
                           当此选项禁用时，PHP 会忽略掉 FTP 服务器通过 PASV 命令返回的 IP 地址，直接
                           使用在 ftp_connect() 中指定的地址。<strong>$value</strong> 参数必须是布尔型。
  <info>int|bool</info>        <strong>$value</strong>   本参数取决于要修改哪个 <strong>$option</strong>。

<comment>Return:</comment>
  <info>bool</info>  如果选项能够被设置，返回 <info>true</info>，否则返回 <info>false</info>。如果参数 <strong>$option</strong> 不被支持或者给定的参数
        <strong>$value</strong> 的值与参数 <strong>$option</strong> 不匹配，则会同时返回一条警告信息。

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


id: ftp_site
type: function
doc:
<comment>Description:</comment>
  向服务器发送 SITE 命令
  
  <strong>ftp_site()</strong> 函数向 FTP 服务器发送指定的命令。
  
  <return>SITE</return> 命令是非标准化的，不同的服务器不尽相同。主要用于处理文件权限以及组成员等事情。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>      <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$command</strong>  SITE 命令。注意本参数没有经过处理，在文件名有存在空格或其它特殊字符的情
                            况下可能会有问题。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: ftp_size
type: function
doc:
<comment>Description:</comment>
  返回指定文件的大小
  
  <strong>ftp_size()</strong> 函数返回指定文件的大小（以字节为单位）。
  
  不是所有服务器都支持该功能。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>       <class>FTP\Connection</class> 实例。
  <info>string</info>          <strong>$filename</strong>  远程文件。

<comment>Return:</comment>
  <info>int</info>  成功时返回文件大小，错误返回 -1。

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


id: ftp_ssl_connect
type: function
doc:
<comment>Description:</comment>
  打开安全 SSL-FTP 连接
  
  <strong>ftp_ssl_connect()</strong> 打开到指定 <strong>$hostname</strong> 的 显式 SSL-FTP 连接。即使服务器没有为 SSL-FTP 配置，或者服
  务器的证书无效，<strong>ftp_ssl_connect()</strong> 也会成功。只有调用 <strong>ftp_login()</strong> 时，客户端才会发送对应的 AUTH FTP
  命令，因此在上述情况下 <strong>ftp_login()</strong> 会失败。
  
  在 PHP 7.0 之前，只有 ftp 模块和 OpenSSL 模块都静态编译到 PHP 时，<strong>ftp_ssl_connect()</strong> 才可用；也就是
  说，在 Windows 平台上，此函数在官方 PHP 编译中未定义。如果需要在 Windows 平台使用本函数，需要自行
  编译 PHP 二进制文件。
  
  <strong>ftp_ssl_connect()</strong> 不是用来连接 sFTP 服务的。 要在 PHP 中使用 sFTP，请参见 <strong>ssh2_sftp()</strong>。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  FTP 服务器地址。 此参数末尾不可以有斜线，开头也不可以有 <return>ftp://</return>。
  <info>int</info>     <strong>$port</strong>      要连接的端口。如果省略此参数或设置为 0，将使用 FTP 默认端口 21。
  <info>int</info>     <strong>$timeout</strong>   此参数设置所有后续网络操作的超时时长。 如果省略，默认值为 90 秒。 可以使用
                     <strong>ftp_set_option()</strong> 和 <strong>ftp_get_option()</strong> 函数随时读取或设置超时时长。

<comment>Return:</comment>
  <info>FTP\Connection|false</info>  成功时返回 <class>FTP\Connection</class> 实例， 或者在失败时返回 <info>false</info>。

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


id: ftp_systype
type: function
doc:
<comment>Description:</comment>
  返回远程 FTP 服务器的操作系统类型
  
  返回远程 FTP 服务器的操作系统类型。

<comment>Param:</comment>
  <info>FTP\Connection</info>  <strong>$ftp</strong>  <class>FTP\Connection</class> 实例。

<comment>Return:</comment>
  <info>string|false</info>  返回远程服务器类型，发生错误则返回 <info>false</info>。


id: ftruncate
type: function
doc:
<comment>Description:</comment>
  将文件截断到指定的长度
  
  接受文件指针 <strong>$stream</strong> 作为参数，并将文件大小截取为 <strong>$size</strong>。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件指针。
                     
                     <strong>$stream</strong> 必须打开写入。
  <info>int</info>       <strong>$size</strong>    截断的大小。
                     
                     If <strong>$size</strong> is larger than the file then the file is extended with null bytes.
                     
                     If <strong>$size</strong> is smaller than the file then the file is truncated to that size.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

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


id: func_get_arg
type: function
doc:
<comment>Description:</comment>
  返回参数列表的某一项
  
  从用户自定义函数的参数列表中获取某个指定的参数。
  
  该函数可以配合 <strong>func_get_args()</strong> 和 <strong>func_num_args()</strong> 一起使用，从而使得用户自定义函数可以接受自定义个
  数的参数列表。

<comment>Param:</comment>
  <info>int</info>  <strong>$position</strong>  参数的偏移量。函数的参数是从 0 开始计数的。

<comment>Return:</comment>
  <info>mixed</info>  返回指定的参数，错误则返回 <info>false</info>。

<comment>See Also:</comment>
   * <return>...</return> 语法
   * <strong>func_get_args()</strong>
   * <strong>func_num_args()</strong>


id: func_get_args
type: function
doc:
<comment>Description:</comment>
  返回一个包含函数参数列表的数组
  
  获取函数参数列表的数组。
  
  该函数可以配合 <strong>func_get_arg()</strong> 和 <strong>func_num_args()</strong> 一起使用，从而使得用户自定义函数可以接受自定义个
  数的参数列表。

<comment>Return:</comment>
  <info>array</info>  返回一个数组，其中每个元素都是目前用户自定义函数的参数列表的相应元素的副本。

<comment>See Also:</comment>
   * <return>...</return> 语法
   * <strong>func_get_arg()</strong>
   * <strong>func_num_args()</strong>
   * ReflectionFunctionAbstract::getParameters


id: func_num_args
type: function
doc:
<comment>Description:</comment>
  返回传递给函数的参数数量
  
  获取传递给函数的参数数量。
  
  此函数可以与 <strong>func_get_arg()</strong> 和 <strong>func_get_args()</strong> 结合使用，以便于允许用户定义的函数可以接受可变长度
  的参数列表。

<comment>Return:</comment>
  <info>int</info>  返回传递给当前用户定义函数的参数数量。

<comment>See Also:</comment>
   * <return>...</return> 语法
   * <strong>func_get_arg()</strong>
   * <strong>func_get_args()</strong>
   * ReflectionFunctionAbstract::getNumberOfParameters


id: function_exists
type: function
doc:
<comment>Description:</comment>
  如果给定的函数已经被定义就返回 true
  
  在已经定义的函数列表（包括系统自带的函数和用户自定义的函数）中查找 <strong>$function</strong>。

<comment>Param:</comment>
  <info>string</info>  <strong>$function</strong>  函数名，必须为一个字符串。

<comment>Return:</comment>
  <info>bool</info>  如果 <strong>$function</strong> 存在且的确是一个函数就返回 <info>true</info>，反之则返回 <info>false</info>。
        
        对于语法结构的判断，例如 <strong>include_once()</strong> 和 <strong>echo()</strong> 将会返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>method_exists()</strong>
   * <strong>is_callable()</strong>
   * <strong>get_defined_functions()</strong>
   * <strong>class_exists()</strong>
   * <strong>extension_loaded()</strong>


id: fwrite
type: function
doc:
<comment>Description:</comment>
  写入文件（可安全用于二进制文件）
  
  <strong>fwrite()</strong> 把 <strong>$data</strong> 的内容写入 文件指针 <strong>$stream</strong> 处。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  文件系统指针，是典型地由
                     <strong>fopen()</strong> 创建的 <info>resource</info>(资源)。
  <info>string</info>    <strong>$data</strong>    要写入的字符串。
  <info>int|null</info>  <strong>$length</strong>  如果 <strong>$length</strong> 是 <info>int</info>，当写入了 <strong>$length</strong> 个字节或者写完了 <strong>$string</strong> 以后，写入就会停
                     止，看先碰到哪种情况。

<comment>Return:</comment>
  <info>int|false</info>  <strong>fwrite()</strong> 返回写入的字符数， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>fread()</strong>
   * <strong>fopen()</strong>
   * <strong>fsockopen()</strong>
   * <strong>popen()</strong>
   * <strong>file_get_contents()</strong>
   * <strong>pack()</strong>


id: gc_collect_cycles
type: function
doc:
<comment>Description:</comment>
  强制收集所有现存的垃圾循环周期
  
  强制收集所有现存的垃圾循环周期。

<comment>Return:</comment>
  <info>int</info>  返回收集的循环数量。

<comment>See Also:</comment>
   * 垃圾回收机制


id: gc_disable
type: function
doc:
<comment>Description:</comment>
  停用循环引用收集器
  
  停用循环引用收集器，设置 zend.enable_gc 为 <return>0</return>。

<comment>Return:</comment>
  <info>void</info>  没有返回值。

<comment>See Also:</comment>
   * 垃圾回收机制


id: gc_enable
type: function
doc:
<comment>Description:</comment>
  激活循环引用收集器
  
  设置 zend.enable_gc 为 <return>1</return>， 激活循环引用收集器。

<comment>Return:</comment>
  <info>void</info>  没有返回值。

<comment>See Also:</comment>
   * 垃圾回收机制


id: gc_enabled
type: function
doc:
<comment>Description:</comment>
  返回循环引用计数器的状态
  
  返回循环引用计数器的状态。

<comment>Return:</comment>
  <info>bool</info>  如果垃圾收集器已启用则返回 <info>true</info>，否则返回 <info>false</info>。

<comment>See Also:</comment>
   * 垃圾回收机制


id: gc_mem_caches
type: function
doc:
<comment>Description:</comment>
  Reclaims memory used by the Zend Engine memory manager
   
  
  Reclaims memory used by the Zend Engine memory manager.

<comment>Return:</comment>
  <info>int</info>  Returns the number of bytes freed.

<comment>See Also:</comment>
   * Garbage Collection


id: gc_status
type: function
doc:
<comment>Description:</comment>
  获取有关垃圾回收的信息
  
  获取有关当前垃圾收集状态的信息。

<comment>Return:</comment>
  <info>array</info>  返回包含以下元素的关联数组： <return>"runs"</return><return>"collected"</return><return>"threshold"</return><return>"roots"</return>
         
         <return>"runs"</return>
         
         <return>"collected"</return>
         
         <return>"threshold"</return>
         
         <return>"roots"</return>

<comment>See Also:</comment>
   * 垃圾回收


id: gd_info
type: function
doc:
<comment>Description:</comment>
  取得当前安装的 GD 库的信息
  
  获取当前安装的 GD 库的版本和功能的信息。

<comment>Return:</comment>
  <info>array</info>  返回一个关联数组。
         
         <strong>gd_info()</strong> 返回的数组元素属性含义GD Version描述安装的 <return>libgd</return> 的版本的 <info>string</info> 值。FreeType
         Support<info>bool</info> 值。如果安装了 FreeType 支持则为 <info>true</info>。FreeType Linkage 描述 FreeType 链接方式
         的 <info>string</info> 值。 可能值为：'with freetype'、'with TTF library' 和 'with unknown library'。 仅
         当 <return>FreeType Support</return> 为 <info>true</info> 时才会有该属性。 GIF Read Support<info>bool</info> 值。 如果支持 读取 <return>GIF</return> 图
         像， 则为 <info>true</info>。 GIF Create Support<info>bool</info> 值。 如果支持 创建 <return>GIF</return> 图像， 则为 <info>true</info>。 JPEG
         Support<info>bool</info> 值。 如果支持 <return>JPEG</return> 则为 <info>true</info>。 PNG Support<info>bool</info> 值。 如果支持 <return>PNG</return> 则为 <info>true</info>。
         WBMP Support<info>bool</info> 值。 如果支持 <return>WBMP</return> 则为 <info>true</info>。 XBM Support<info>bool</info> 值。 如果支持 <return>XBM</return> 则为
         <info>true</info>。 WebP Support<info>bool</info> 值。 如果支持 <return>WebP</return> 则为 <info>true</info>。 AVIF Support<info>bool</info> 值。 如果支持 <return>AVIF</return>
         则为 <info>true</info>。 从 PHP 8.1.0 开始可用。

<comment>See Also:</comment>
   * <strong>imagepng()</strong>
   * <strong>imagejpeg()</strong>
   * <strong>imagegif()</strong>
   * <strong>imagewbmp()</strong>
   * <strong>imagewebp()</strong>
   * <strong>imageavif()</strong>
   * <strong>imagetypes()</strong>


id: geoip_asnum_by_name
type: function
doc:
<comment>Description:</comment>
  获取自治系统号(ASN)
  
  <strong>geoip_asnum_by_name()</strong> 函数将会返回和 IP 地址相关联的自治系统号(ASN)。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  主机的 IP 地址。

<comment>Return:</comment>
  <info>string</info>  如果成功将会返回自治系统号，如果在数据库中未找到相关信息则返回 <info>false</info>。


id: geoip_continent_code_by_name
type: function
doc:
<comment>Description:</comment>
  获取七大洲的大写字母简称
  
  <strong>geoip_continent_code_by_name()</strong> 函数将会返回主机或者IP地址相对应的七大洲大写字母简称。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  所要定位的主机或IP地址。

<comment>Return:</comment>
  <info>string</info>  成功，返回两个大写字母组成的七大洲简称字符串, 如果在数据库中未找到相关信息则返回 <info>false</info> 。

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


id: geoip_country_code3_by_name
type: function
doc:
<comment>Description:</comment>
  获取三个字母组成的国家简称
  
  <strong>geoip_country_code3_by_name()</strong> 函数返回由三个字母组成和主机或者 IP 相对应的国家代码。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  定位所用的主机名或者 IP 地址。

<comment>Return:</comment>
  <info>string</info>  成功，返回由三个字母组成的国家简称，如果在数据库中未找到相关信息则返回 <info>false</info> 。

<comment>See Also:</comment>
   * <strong>geoip_country_code_by_name()</strong>
   * <strong>geoip_country_name_by_name()</strong>


id: geoip_country_code_by_name
type: function
doc:
<comment>Description:</comment>
  获取国家代码
  
  <strong>geoip_country_code_by_name()</strong> 函数将会返回主机或者IP地址所在的国家代码。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  定位的主机名或者IP地址。

<comment>Return:</comment>
  <info>string</info>  成功，返回 ISO 定义的国家代码，如果在数据库中未找到相关信息则返回 <info>false</info> 。

<comment>See Also:</comment>
   * <strong>geoip_country_code3_by_name()</strong>
   * <strong>geoip_country_name_by_name()</strong>


id: geoip_country_name_by_name
type: function
doc:
<comment>Description:</comment>
  获取国家的全称
  
  <strong>geoip_country_name_by_name()</strong> 函数返回主机或者 IP 地址所对应的国家名全称。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  定位所用的主机或者 IP 地址。

<comment>Return:</comment>
  <info>string</info>  成功，返回国家全称，如果在数据库中未找到相关信息则返回 <info>false</info> 。

<comment>See Also:</comment>
   * <strong>geoip_country_code_by_name()</strong>
   * <strong>geoip_country_code3_by_name()</strong>


id: geoip_database_info
type: function
doc:
<comment>Description:</comment>
  获取 GeoIP 数据库的信息
  
  <strong>geoip_database_info()</strong> 函数返回 GeoIP 数据库版本的信息。
  
  如果无参调用该函数，则返回 GeoIP 免费国家版的版本信息。

<comment>Param:</comment>
  <info>int</info>  <strong>$database</strong>  该变量的类型为整型。你可以使用该扩展的预定义常量(类似: GEOIP_*_EDITION)。

<comment>Return:</comment>
  <info>string</info>  如果成功，返回数据库的版本信息，错误则返回<info>null</info> 。


id: geoip_db_avail
type: function
doc:
<comment>Description:</comment>
  GeoIP 数据库是否可用
  
  <strong>geoip_db_avail()</strong> 函数返回 GeoI P数据库是否可以在磁盘上打开并且可用。
  
  该函数不能用来判断是否是个合适的数据库，除非这个数据库可读。

<comment>Param:</comment>
  <info>int</info>  <strong>$database</strong>  变量类型为整型。你可以使用该扩展的预定义常量(比如: GEOIP_*_EDITION)。

<comment>Return:</comment>
  <info>bool</info>  如果存在则返回 <info>true</info> , 未找到则返回 <info>false</info> , 错误则返回 <info>null</info> 。


id: geoip_db_filename
type: function
doc:
<comment>Description:</comment>
  返回 GeoIP 数据库相对应的文件名
  
  <strong>geoip_db_filename()</strong> 函数将会返回和 GeoIP 数据库相对应的文件名。
  
  这个函数不会判别文件是否存在在磁盘上，只会表明拓展库在哪里查找数据库。

<comment>Param:</comment>
  <info>int</info>  <strong>$database</strong>  该参数为整型。你可以使用该扩展的预定义常量  (比如: GEOIP_*_EDITION)。

<comment>Return:</comment>
  <info>string</info>  成功则返回相对应的数据库文件名，错误则返回<info>null</info> 。


id: geoip_db_get_all_info
type: function
doc:
<comment>Description:</comment>
  返回所有 GeoIP 数据库类型的详细信息
  
  <strong>geoip_db_get_all_info()</strong> 函数将会返回包含所有 GeoIP 数据库类型详细信息的多维数组
  
  即使没有安装数据库，这个函数依旧可用。它将会列出数据库是否可用。
  
  返回的关联数组，各键值所代表的含义如下：
  
   "available" -- 布尔值, 表示数据库是否可用(请参考 <strong>geoip_db_avail()</strong>)  "description" -- 数据库的描述
  "filename" -- 磁盘上的数据库文件名(请参考 <strong>geoip_db_filename()</strong>)
  
  "available" -- 布尔值, 表示数据库是否可用(请参考 <strong>geoip_db_avail()</strong>)
  
  "description" -- 数据库的描述
  
  "filename" -- 磁盘上的数据库文件名(请参考 <strong>geoip_db_filename()</strong>)

<comment>Return:</comment>
  <info>array</info>  返回一个关联数组。


id: geoip_domain_by_name
type: function
doc:
<comment>Description:</comment>
  获取二级域名
  
  <strong>geoip_domain_by_name()</strong> 函数将会返回和主机或者 IP 地址相关联的二级域名。
  
  当前该函数只对购买了商业 GeoIP 域名版本的用户是可用的。如果没有该版本的数据库，使用该函数时将会抛
  出一个警告。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  主机名或者 IP 地址。

<comment>Return:</comment>
  <info>string</info>  成功，返回域名，如果在数据库中未找到信息则返回 <info>false</info> 。


id: geoip_id_by_name
type: function
doc:
<comment>Description:</comment>
  获取网络连接类型
  
  <strong>geoip_id_by_name()</strong> 函数将会返回和主机名或者 IP 地址相对应的网络连接类型。
  
  函数返回值是数字可以和以下常量对照：
  
   GEOIP_UNKNOWN_SPEED  GEOIP_DIALUP_SPEED  GEOIP_CABLEDSL_SPEED  GEOIP_CORPORATE_SPEED 
  
  GEOIP_UNKNOWN_SPEED
  
  GEOIP_DIALUP_SPEED
  
  GEOIP_CABLEDSL_SPEED
  
  GEOIP_CORPORATE_SPEED

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  要查找连接类型的主机或者 IP 地址。

<comment>Return:</comment>
  <info>int</info>  返回连接类型。


id: geoip_isp_by_name
type: function
doc:
<comment>Description:</comment>
  获取 ISP (网络服务提供商)的名称
  
  <strong>geoip_isp_by_name()</strong> 函数将会返回 IP 地址所归属的网络服务提供商(ISP)的名称。
  
  目前，该函数只对购买了商业 GeoIP ISP 版本的用户可用，否则将会抛出一个警告！

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  主机或者 IP 地址。

<comment>Return:</comment>
  <info>string</info>  成功，则返回 ISP 名称，未找到相关信息则返回 <info>false</info> 。


id: geoip_netspeedcell_by_name
type: function
doc:
<comment>Description:</comment>
  获取网络连接速度
  
  <strong>geoip_netspeedcell_by_name()</strong> 函数将会返回主机或者 IP 地址对应的网络连接类型和速度。
  
  该函数只有在 GeoIP 1.4.8 版本以上才能使用。
  
  目前，该函数只对购买了商业 GeoIP NetSpeedCell 版本的用户可用，否则将会抛出一个警告！
  
  返回值为字符串，结果集如下：
  
   Cable/DSL  Dialup  Cellular  Corporate 
  
  Cable/DSL
  
  Dialup
  
  Cellular
  
  Corporate

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  主机名或者 IP 地址。

<comment>Return:</comment>
  <info>string</info>  成功，返回连接速度，未找到相关信息则返回 <info>false</info> 。


id: geoip_org_by_name
type: function
doc:
<comment>Description:</comment>
  获取机构的名称
  
  <strong>geoip_org_by_name()</strong> 函数将会返回 IP 地址所分配的机构名称。
  
  目前，该函数只对购买了商业 GeoIP Organization， ISP 或者 AS 版本的用户可用，否则将会抛出一个警告！

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  主机名或者 IP 地址。

<comment>Return:</comment>
  <info>string</info>  成功， 返回组织的名称，未找到相关信息则返回 <info>false</info> 。


id: geoip_record_by_name
type: function
doc:
<comment>Description:</comment>
  返回 GeoIP 数据库中详细的城市信息
  
  <strong>geoip_record_by_name()</strong> 函数将会返回主机或者 IP 地址所对应的记录信息。
  
  该函数在 GeoLite City 版本和商业 GeoIP City 版本中可用。 版本不对的话，将会抛出一个警告。
  
  返回的关联数组不同的键名对应如下：
  
   "continent_code" -- 由两个字符组成的洲简称。(要求 GeoIP 的库版本是1.0.4以上)  "country_code" --
  由2个字母组成的国家简称。(参见 <strong>geoip_country_code_by_name()</strong>)  "country_code3" -- 由三个字母组成的
  国家简称。(参见 <strong>geoip_country_code3_by_name()</strong>)  "country_name" -- 国家名称 (参见
  <strong>geoip_country_name_by_name()</strong>)  "region" -- 地区代码 (比如: CA 对应 California)  "city" -- 城市名
  称。  "postal_code" -- 邮编，FSA 或者 Zip 编码。  "latitude" -- 有符号的 <info>float</info> 纬度。  "longitude"
  -- 有符号的 <info>float</info> 经度。  "dma_code" -- 指定市场区号 (只支持美国和加拿大)  "area_code" -- PSTN
  （公共交换电话网络）地区代码。 (比如: 212)
  
  "continent_code" -- 由两个字符组成的洲简称。(要求 GeoIP 的库版本是1.0.4以上)
  
  "country_code" -- 由2个字母组成的国家简称。(参见 <strong>geoip_country_code_by_name()</strong>)
  
  "country_code3" -- 由三个字母组成的国家简称。(参见 <strong>geoip_country_code3_by_name()</strong>)
  
  "country_name" -- 国家名称 (参见 <strong>geoip_country_name_by_name()</strong>)
  
  "region" -- 地区代码 (比如: CA 对应 California)
  
  "city" -- 城市名称。
  
  "postal_code" -- 邮编，FSA 或者 Zip 编码。
  
  "latitude" -- 有符号的 <info>float</info> 纬度。
  
  "longitude" -- 有符号的 <info>float</info> 经度。
  
  "dma_code" -- 指定市场区号 (只支持美国和加拿大)
  
  "area_code" -- PSTN （公共交换电话网络）地区代码。 (比如: 212)

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  所要查找的主机或者 IP 地址。

<comment>Return:</comment>
  <info>array</info>  成功，返回关联数组，未找到相关信息则返回 <info>false</info> 。


id: geoip_region_by_name
type: function
doc:
<comment>Description:</comment>
  获取国家和地区代码
  
  <strong>geoip_region_by_name()</strong> 函数将会返回与主机或者 IP 地址相关的国家和地区代码。
  
  该函数只对购买了商业 GeoIP Region 版本的用户可用。否则将会抛出一个警告！
  
  所返回的关联数组的各字段具体含义如下：
  
   "country_code" -- 由两个字母组成的国家代码(参见 <strong>geoip_country_code_by_name()</strong>)  "region" -- 地区代
  码。 (比如: CA 对应 California)
  
  "country_code" -- 由两个字母组成的国家代码(参见 <strong>geoip_country_code_by_name()</strong>)
  
  "region" -- 地区代码。 (比如: CA 对应 California)

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  查找的主机或者 IP 地址。

<comment>Return:</comment>
  <info>array</info>  成功，返回关联数组， 如果信息未找到则返回 <info>false</info>。


id: geoip_region_name_by_code
type: function
doc:
<comment>Description:</comment>
  返回给定的国家和地区代码组合所对应的地区名称
  
  <strong>geoip_region_name_by_code()</strong> 函数将会返回与给定的国家和地区代码组合相对应的地区名称。
  
  在美国，地区代码是每个州对应的两个字母的缩写，而在加拿大，则是由两个字母组成的每个省的邮政编码。
  
  在世界其他地区，GeoIP使用 FIPS 给定的10到4位的代码来表示各地区。你可以点击以下连接
  http://www.maxmind.com/app/fips10_4 查看详细信息。
  
  该函数只在 GeoIP 1.4.1版本以上的库才可用。并且结果集的数据来源是直接从 GeoIP 库中获取的，而不是从
  任何数据库中。

<comment>Param:</comment>
  <info>string</info>  <strong>$country_code</strong>  由两个字母组成的国家代码 (参见 <strong>geoip_country_code_by_name()</strong>)
  <info>string</info>  <strong>$region_code</strong>   由两个字母组成的地区代码 (参见  <strong>geoip_region_by_name()</strong>)

<comment>Return:</comment>
  <info>string</info>  成功，返回地区名字，如果相关信息未找到则返回 <info>false</info> 。


id: geoip_setup_custom_directory
type: function
doc:
<comment>Description:</comment>
  自定义 GeoIP 数据库的目录
  
  <strong>geoip_setup_custom_directory()</strong> 函数将会更改 GeoIP 数据库的默认目录。这个设置和直接在 php 配置文件
  中设置的geoip.custom_directory参数效果是一样的。

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  磁盘上 GeoIP 数据库的绝对路径。

<comment>Return:</comment>
  <info>void</info>  没有返回值。


id: geoip_time_zone_by_country_and_region
type: function
doc:
<comment>Description:</comment>
  返回国家和地区的时区
  
  <strong>geoip_time_zone_by_country_and_region()</strong> 函数将会返回与国家或者地区相对应的时区。
  
  在美国，地区代码是每个州对应的两个字母的缩写，而在加拿大，则是由两个字母组成的每个省的邮政编码。
  
  在世界上其他地区，GeoIP 使用 FIPS 给定的10到4位的代码来表示各地区。你可以点击以下连接
  http://www.maxmind.com/app/fips10_4 查看详细信息。
  
  该函数只在 GeoIP 1.4.1版本以上的库才可用。并且结果集的数据来源是直接从 GeoIP 库中获取的，而不是从
  任何数据库中。

<comment>Param:</comment>
  <info>string</info>  <strong>$country_code</strong>  由两个字母组成的国家代码 (参见 <strong>geoip_country_code_by_name()</strong>)
  <info>string</info>  <strong>$region_code</strong>   由两个字母组成的地区代码 (参见  <strong>geoip_region_by_name()</strong>)

<comment>Return:</comment>
  <info>string</info>  成功，返回地区名字，如果相关信息未找到则返回 <info>false</info> 。


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>
  获取浏览器具有的功能
  
  通过查找 browscap.ini 文件中的浏览器信息，尝试检测用户的浏览器所具有的功能。

<comment>Param:</comment>
  <info>string|null</info>  <strong>$user_agent</strong>    要分析的用户代理。默认使用HTTP头中User-Agent的值，不过，你可以通过传递
                              该参数改变User-Agent。(比如查找另一个浏览器的信息)
                              
                              你可以传递一个 <info>null</info> 来忽略该参数。
  <info>bool</info>         <strong>$return_array</strong>  如果设置为 <info>true</info>，该函数会返回一个 <info>array</info>，而不是 <info>object</info>。

<comment>Return:</comment>
  <info>object|array|false</info>  信息会以包含一系列数据的数组或者对象返回。例如：浏览器的主版本号、次版本号和
                      ID字符串；框架、JavaScript、cookies等功能是否支持 <info>true</info>/<info>false</info> 的值。
                      
                      <return>cookies</return> 的值仅意味着浏览器是否具有接收cookies的功能，不代表用户是否已允许启用
                      cookies。 测试的唯一办法，只有通过 <strong>setcookie()</strong> 设置一个cookie，刷新页面并检测
                      该cookie的值。
                      
                      当无法检索到信息时返回 <info>false</info>，比如未设置 php.ini 中的 browscap 配置项。


id: get_called_class
type: function
doc:
<comment>Description:</comment>
  后期静态绑定（"Late Static Binding"）类的名称
  
  获取静态方法调用的类名。

<comment>Return:</comment>
  <info>string</info>  返回类的名称。

<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>
  获取 PHP 配置选项的值
  
  获取 PHP 配置选项 <strong>$option</strong> 的值。
  
  此函数不会返回 PHP 编译的配置信息，或从 Apache 配置文件读取。
  
  检查系统是否使用了一个配置文件，并尝试获取 cfg_file_path 的配置设置的值。如果有效，将会使用一个配
  置文件。

<comment>Param:</comment>
  <info>string</info>  <strong>$option</strong>  配置选项的名称。

<comment>Return:</comment>
  <info>string|array|false</info>  返回 <strong>$option</strong> 指定的当前 PHP 配置变量的值，错误发生时返回 <info>false</info>。

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


id: get_class
type: function
doc:
<comment>Description:</comment>
  返回对象的类名
  
  返回指定 <strong>$object</strong> 的类名。

<comment>Param:</comment>
  <info>object</info>  <strong>$object</strong>  要测试的对象。如果在类里，此参数可以省略。
                   
                   自 PHP 7.2.0 起，<strong>$object</strong> 不再允许显式传递 <info>null</info> 并抛出 <info>E_WARNING</info>。自 PHP 8.0.0
                   起，传递 <info>null</info> 会抛出 <class>TypeError</class>。

<comment>Return:</comment>
  <info>string</info>  返回 <strong>$object</strong> 实例的类名。
          
          如果在类中省略 <strong>$object</strong>， 则返回当前所在类的名称。
          
          如果 <strong>$object</strong> 是命名空间中某个类的实例，则会返回带上命名空间的类名。

<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>
  返回由类的方法名组成的数组
  
  获取类的方法名称列表。

<comment>Param:</comment>
  <info>object|string</info>  <strong>$object_or_class</strong>  类名或者对象实例。

<comment>Return:</comment>
  <info>array</info>  返回由 <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>
  获取类的默认属性
  
  获取指定类的默认属性。

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>  类名

<comment>Return:</comment>
  <info>array</info>  返回从当前作用域中声明的可见属性组成的关联数组及其默认值。生成的数组元素采用 <return>varname =&gt;
         value</return> 的形式，如果出现错误，则返回 <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>
  获取当前 PHP 脚本所有者名称
  
  返回当前 PHP 脚本所有者名称。

<comment>Return:</comment>
  <info>string</info>  以字符串返回用户名。

<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>
  以适合调试的方式获取变量的类型名称
  
  会返回 PHP 变量 <strong>$value</strong> 的类型名称。 该函数会将对象解析为其类名，资源解析为其资源类型名称，标量值解
  析为其常用名称，就像在类型声明中使用的那样。
  
  该函数与 <strong>gettype()</strong> 的区别在于：它返回的类型名称更符合实际用法，而不是那些出于历史原因而存在的名
  称。

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  要检查类型的变量。

<comment>Return:</comment>
  <info>string</info>  返回的字符串可能有以下值：
           类型 + 状态返回值备注null<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>例如：使用 fclose 关闭后的文件流
          Objects from Named Classes 类的全名，包括其命名空间，例如 <return>Foo\Bar</return> -Objects from Anonymous
          Classes<return>"class@anonymous"</return> 匿名类是通过 $x = new class { ... } 语法创建的类

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


id: get_declared_classes
type: function
doc:
<comment>Description:</comment>
  返回由已定义类的名字所组成的数组
  
  返回由当前脚本中已定义类的名字组成的数组。

<comment>Return:</comment>
  <info>array</info>  返回由当前脚本中已定义类的名字组成的数组。
         
         需要注意的是额外类的出现依赖于你已编译到 PHP  中的库。这意味着你不能使用这些类名定义自己的
         类。在附录的 预定义类 部分有预定义类的列表。

<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>
  返回一个数组包含所有已声明的接口
  
  返回一个数组包含所有已声明的接口。

<comment>Return:</comment>
  <info>array</info>  本函数返回一个数组，其内容是当前脚本中所有已声明的接口的名字。

<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>
  返回所有已定义的 traits 的数组

<comment>Return:</comment>
  <info>array</info>  返回一个数组，其值包含了所有已定义的 traits 的名称。

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


id: get_defined_constants
type: function
doc:
<comment>Description:</comment>
  返回所有常量的关联数组，键是常量名，值是常量值
  
  返回当前所有已定义的常量名和值。 这包含 <strong>define()</strong> 函数所创建的，也包含了所有扩展所创建的。

<comment>Param:</comment>
  <info>bool</info>  <strong>$categorize</strong>  让此函数返回一个多维数组，分类为第一维的键名，常量和它们的值位于第二维。 
                     ]]>以上示例的输出类似于： 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 )
                     
                     )
                     ]]>
                     
                     以上示例的输出类似于：

<comment>Return:</comment>
  <info>array</info>  返回的数组为 常量名 =&gt; 常量值，也可以按注册变量的扩展名称来分组。

<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>
  返回所有已定义函数的数组
  
  获取所有已定义函数的数组。

<comment>Param:</comment>
  <info>bool</info>  <strong>$exclude_disabled</strong>  禁用的函数是否应该在返回的数据里排除。

<comment>Return:</comment>
  <info>array</info>  返回数组，包含了所有已定义的函数，包括内置/用户定义的函数。可通过 $arr["internal"] 来访问系
         统内置函数，通过 $arr["user"] 来访问用户自定义函数（参见示例）。

<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>
  返回由所有已定义变量所组成的数组
    
  
  此函数返回多维数组。包含调用 <strong>get_defined_vars()</strong> 作用域内所有已定义的变量、环境变量、服务器变量、用
  户定义变量列表。

<comment>Return:</comment>
  <info>array</info>  包含所有变量的多维数组。

<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>
  返回模块函数名称的数组
  
  该函数根据 <strong>$extension</strong> 返回模块内定义的所有函数的名称。

<comment>Param:</comment>
  <info>string</info>  <strong>$extension</strong>  模块名称。
                      
                      这个参数必须是小写（lowercase）的。

<comment>Return:</comment>
  <info>array|false</info>  返回包含所有函数名的数组，如果 <strong>$extension</strong> 不是一个有效的扩展则返回 <info>false</info>。

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


id: get_headers
type: function
doc:
<comment>Description:</comment>
  取得服务器响应 HTTP 请求所发送的所有标头
  
  <strong>get_headers()</strong> 返回一个数组，包含有服务器响应一个 HTTP 请求所发送的标头。

<comment>Param:</comment>
  <info>string</info>         <strong>$url</strong>          目标 URL。
  <info>bool</info>           <strong>$associative</strong>  如果将可选的 <strong>$associative</strong> 参数设为 true，则 <strong>get_headers()</strong> 会解析相应
                               的信息并设定数组的键名。
  <info>resource|null</info>  <strong>$context</strong>      使用 <strong>stream_context_create()</strong> 创建的有效上下文资源，<info>null</info> 使用默认上下
                               文。

<comment>Return:</comment>
  <info>array|false</info>  返回包含有服务器响应一个 HTTP 请求所发送标头的索引或关联数组，如果失败则返回 <info>false</info>。

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


id: get_html_translation_table
type: function
doc:
<comment>Description:</comment>
  返回使用 htmlspecialchars 和 htmlentities 后的转换表
  
  <strong>get_html_translation_table()</strong> 将返回 <strong>htmlspecialchars()</strong> 和 <strong>htmlentities()</strong> 处理后的转换表。
  
  特殊字符可以使用多种转换方式。 例如： <return>"</return> 可以被转换成 , <return>&#34;</return> 或者 <return>&#x22</return>.
  <strong>get_html_translation_table()</strong> 返回其中最常用的。

<comment>Param:</comment>
  <info>int</info>     <strong>$table</strong>     有两个新的常量 (<info>HTML_ENTITIES</info>, <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>. 可用的 <strong>$flags</strong> 常量常量名说明
                     <info>ENT_COMPAT</info>表格将包含双引号但不包含单引号实体。<info>ENT_QUOTES</info>表格将包含双引号和单引
                     号实体。<info>ENT_NOQUOTES</info>表格不包含双引号实体，也不包含单引号实体。<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>HTML 4.01 表格。<info>ENT_XML1</info>XML 1 表格。<info>ENT_XHTML</info>XHTML 表格。
                     <info>ENT_HTML5</info>HTML 5 表格。
  <info>string</info>  <strong>$encoding</strong>  要使用的编码。如果省略，则此参数的默认值是 UTF-8。
                     
                     支持以下字符集： 支持的字符集列表字符集别名描述ISO-8859-1ISO8859-1 西欧，
                     Latin-1 ISO-8859-5ISO8859-5 Little used cyrillic charset (Latin/Cyrillic).
                     ISO-8859-15ISO8859-15 西欧，Latin-9。增加欧元符号，法语和芬兰语字母在
                     Latin-1(ISO-8859-1) 中缺失。 UTF-8 ASCII 兼容的多字节 8 位 Unicode。
                     cp866ibm866, 866 DOS 特有的西里尔编码。本字符集在 4.3.2 版本中得到支持。
                     cp1251Windows-1251, win-1251, 1251 Windows 特有的西里尔编码。本字符集在 4.3.2
                     版本中得到支持。 cp1252Windows-1252, 1252 Windows 特有的西欧编码。
                     KOI8-Rkoi8-ru, koi8r 俄语。本字符集在 4.3.2 版本中得到支持。 BIG5950 繁体中文，
                     主要用于中国台湾省。 GB2312936 简体中文，中国国家标准字符集。 BIG5-HKSCS 繁体中
                     文，附带香港扩展的 Big5 字符集。 Shift_JISSJIS, 932 日语 EUC-JPEUCJP 日语
                     MacRoman 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.   其他字符集没
                     有认可。将会使用默认编码并抛出异常。
                     
                     其他字符集没有认可。将会使用默认编码并抛出异常。

<comment>Return:</comment>
  <info>array</info>  将转换表作为数组返回，原始字符为键，实体为值。

<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>
  获取当前的 include_path 配置选项
  
  获取当前 include_path 配置选项的值。

<comment>Return:</comment>
  <info>string|false</info>  返回字符串的路径， 或者在失败时返回 <info>false</info>。

<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>
  返回被 include 和 require 文件名的 array
  
  返回所有被 <strong>include()</strong>、 <strong>include_once()</strong>、 <strong>require()</strong> 和 <strong>require_once()</strong> 的文件名。

<comment>Return:</comment>
  <info>array</info>  返回所有文件名称的 array。
         
         脚本最初被称为”被包含的文件“，所以脚本自身也会和 <strong>include()</strong> 系列函数引用的脚本列在一起。
         
         被多次 include 和 require 的文件在返回的 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>
  返回所有编译并加载模块名的 array
  
  该函数返回了 PHP 解析器里所有编译并加载的模块名。

<comment>Param:</comment>
  <info>bool</info>  <strong>$zend_extensions</strong>  只返回 Zend 扩展，并非类似 mysqli 的普通扩展。默认是 <info>false</info> (返回普通扩
                          展)。

<comment>Return:</comment>
  <info>array</info>  返回所有模块名的一个索引数组(array)。

<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>
  获取当前 magic_quotes_gpc 的配置选项设置
  
  始终返回 <info>false</info>。

<comment>Return:</comment>
  <info>false</info>  始终返回 <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>
  获取当前 magic_quotes_runtime 配置选项的激活状态
  
  始终返回 <info>false</info>。

<comment>Return:</comment>
  <info>false</info>  始终返回 <info>false</info>。

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


id: get_mangled_object_vars
type: function
doc:
<comment>Description:</comment>
  返回将对象属性混在一起的数组
  
  返回 <info>array</info>，其元素是 <strong>$object</strong> 的属性。key 是成员变量名，但有几个显著的异常：private 变量的变量名前
  加上类名，protected 变量的变量名前面加上 <return>*</return> 号。这些前置值在两边都带有 <return>NUL</return> 字节。未初始化的类型属性
  会默默丢弃。

<comment>Param:</comment>
  <info>object</info>  <strong>$object</strong>  对象实例。

<comment>Return:</comment>
  <info>array</info>  返回包含 <strong>$object</strong> 的所有属性的 <info>array</info>，无论其可见性如何。

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


id: get_meta_tags
type: function
doc:
<comment>Description:</comment>
  从一个文件中提取所有的 meta 标签 content 属性，返回一个数组
    
  
  打开 <strong>$filename</strong> 逐行解析文件中的  \<meta&gt; 标签。解析工作将在 <return>\</head&gt;</return> 处停止。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>          HTML 文件的路径字符串。 此参数可以是本地文件也可以是一个 URL。
                             
                             <strong>get_meta_tags()</strong> 解析了什么
                             
                             
                             
                              
                             ]]>
  <info>bool</info>    <strong>$use_include_path</strong>  将 <strong>$use_include_path</strong> 设置为 <info>true</info> 将使  PHP 尝试按照 include_path 标准包
                             含路径中的每个指向去打开文件。这只用于本地文件，不适用于 URL。

<comment>Return:</comment>
  <info>array|false</info>  返回一个数组，包含所有解析过的 meta 标签。
               
               返回的关联数组以属性 name 的值作为键，属性 content  的值作为值，所以你可以很容易地使
               用标准数组函数遍历此关联数组或访问某个值。 属性 name 中的特殊字符将使用‘_’替换，而其
               它字符则转换成小写。如果有两个 meta 标签拥有相同的 name，则只返回最后出现的那一个。
               
               失败时返回 <info>false</info> 。

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


id: get_object_vars
type: function
doc:
<comment>Description:</comment>
  获取指定对象的属性
  
  根据作用域获取指定 <strong>$object</strong> 的可访问非静态属性。

<comment>Param:</comment>
  <info>object</info>  <strong>$object</strong>  对象实例。

<comment>Return:</comment>
  <info>array</info>  返回指定 <strong>$object</strong> 在当前作用域的属性组成的关联数组，属性为已定义、非静态、可访问。

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


id: get_parent_class
type: function
doc:
<comment>Description:</comment>
  检索对象或者类的父级类名
  
  检索对象或者类的父级类名。

<comment>Param:</comment>
  <info>object|string</info>  <strong>$object_or_class</strong>  检查的对象或者类名。如果是从对象内的方法中调用此函数，则此参数可
                                   选。

<comment>Return:</comment>
  <info>string|false</info>  返回 <strong>$object_or_class</strong> 是类名或者类实例的父类名称。
                
                如果对象没有父类或者指定的类名不存在，则返回 <info>false</info>。
                
                如果在对象外部不带参数调用，则返回 <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>
  别名 get_included_files
  
  此函数是该函数的别名： <strong>get_included_files()</strong>.


id: get_resource_id
type: function
doc:
<comment>Description:</comment>
  返回给定资源的整数标识符
    
  
  此函数提供了一种类型安全的方式来生成资源的整数标识符。

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource</strong>  需要获取的资源句柄。

<comment>Return:</comment>
  <info>int</info>  给定 <strong>$resource</strong> 的 <info>int</info> 标识符。
       
       此函数本质上是对 <strong>$resource</strong> 的 <info>int</info> 转换，使得更容易获取资源的标识符。

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


id: get_resource_type
type: function
doc:
<comment>Description:</comment>
  返回资源类型
    
  
  此函数获取指定资源的类型。

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource</strong>  要求值的资源句柄。

<comment>Return:</comment>
  <info>string</info>  如果指定 <strong>$resource</strong>  是资源，则此函数将返回表示其类型的字符串。如果此函数未识别类型，则返回
          值是字符串 <return>Unknown</return>。
          
          如果 <strong>$resource</strong> 不是 <info>resource</info>，则此函数将返回 <info>null</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>
  获取全部 HTTP 请求头信息
  
  获取当前请求的所有请求头信息。
  
  此函数是 <strong>apache_request_headers()</strong>的别名。 请阅读 <strong>apache_request_headers()</strong> 文档获得更多信息。

<comment>Return:</comment>
  <info>array</info>  包含当前请求所有头信息的数组，失败返回 <info>false</info> 。

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


id: getcwd
type: function
doc:
<comment>Description:</comment>
  取得当前工作目录
  
  取得当前工作目录。

<comment>Return:</comment>
  <info>string|false</info>  成功则返回当前工作目录，失败返回 <info>false</info>。
                
                在某些 Unix 的变种下，如果任何父目录没有设定可读或搜索模式，即使当前目录设定了，
                <strong>getcwd()</strong> 还是会返回 <info>false</info>。有关模式与权限的更多信息见 <strong>chmod()</strong>。

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


id: getdate
type: function
doc:
<comment>Description:</comment>
  获取日期/时间信息
  
  返回关联 <info>array</info>，包含 <strong>$timestamp</strong> 或者当前本地时间（如果省略 <strong>$timestamp</strong> 或为 <info>null</info>）的日期信息。

<comment>Param:</comment>
  <info>int|null</info>  <strong>$timestamp</strong>  可选的 <strong>$timestamp</strong> 参数是一个 <info>int</info> 的 Unix
                        时间戳，如未指定或是 <info>null</info>，参数值默认为当前本地时间。也就是说，其值默认为
                        <strong>time()</strong> 的返回值。

<comment>Return:</comment>
  <info>array</info>  返回关联 <info>array</info>，包含 <strong>$timestamp</strong> 相关信息。返回的关联数组中的元素如下：
         
         返回的关联数组中的键元素键名说明返回值例子<return>"seconds"</return>秒的数字表示<return>0</return> 到 <return>59</return><return>"minutes"</return>分钟的数字表
         示<return>0</return> 到 <return>59</return><return>"hours"</return>小时的数字表示<return>0</return> 到 <return>23</return><return>"mday"</return>月份中第几天的数字表示<return>1</return> 到 <return>31</return><return>"wday"</return>星期几的数字
         表示<return>0</return>（周日）到 <return>6</return>（周六）<return>"mon"</return>月份的数字表示<return>1</return> 到 <return>12</return><return>"year"</return>4 位数字表示的完整年份比如： <return>1999</return>
         或 <return>2003</return><return>"yday"</return>一年中第几天的数字表示<return>0</return> 到 <return>365</return><return>"weekday"</return>星期几的完整文本表示<return>Sunday</return> 到
         <return>Saturday</return><return>"month"</return>月份的完整文本表示，比如 January 或 March<return>January</return> 到 <return>December</return><return>0</return> 自从 Unix 纪元
         开始至今的秒数，和 <strong>time()</strong> 的返回值以及用于 <strong>date()</strong> 的值类似。  系统相关，通常从 <return>-2147483648</return>
         到 <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>
  获取单个或者全部环境变量
  
  获取单个或者全部环境变量。
  
  使用 <strong>phpinfo()</strong> 你可以看到所有环境变量的列表。 这些变量很多都在 RFC 3875 的范围之内， 尤其是章节
  4.1，"Request Meta-Variables"。

<comment>Param:</comment>
  <info>string|null</info>  <strong>$name</strong>        <info>string</info> 形式的变量名或为 <info>null</info>。
  <info>bool</info>         <strong>$local_only</strong>  当设置为 <info>true</info> 时，仅返回由操作系统或 <strong>putenv()</strong> 设置的本地环境变量。这只在
                            <strong>$name</strong> 是 <info>string</info> 时才生效。

<comment>Return:</comment>
  <info>string|array|false</info>  返回环境变量 <strong>$name</strong> 的值，如果环境变量 <strong>$name</strong> 不存在则返回 <info>false</info>。如果 <strong>$name</strong> 是
                      <info>null</info>，则所有环境变量都将作为关联 <info>array</info> 返回。

<comment>See Also:</comment>
   * <strong>putenv()</strong>
   * <strong>apache_getenv()</strong>
   * 超全局变量


id: gethostbyaddr
type: function
doc:
<comment>Description:</comment>
  获取指定 IP 地址对应的 Internet 主机名
    
  
  返回由 <strong>$ip</strong> 指定的 Internet 主机名。

<comment>Param:</comment>
  <info>string</info>  <strong>$ip</strong>  主机 IP 地址。

<comment>Return:</comment>
  <info>string|false</info>  成功则返回主机名，失败时返回未修改的 <strong>$ip</strong>，输入错误时返回 <info>false</info>。

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


id: gethostbyname
type: function
doc:
<comment>Description:</comment>
  返回主机名对应的 IPv4地址。
    
  
  返回主机名 <strong>$hostname</strong> 对应的 IPv4 互联网地址。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  主机名

<comment>Return:</comment>
  <info>string</info>  成功时返回 IPv4 地址，失败时原封不动返回 <strong>$hostname</strong> 字符串。

<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>
  获取互联网主机名对应的 IPv4 地址列表
    
  
  返回互联网主机名 <strong>$hostname</strong> 解析出来的 IPv4 地址列表。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  主机名

<comment>Return:</comment>
  <info>array|false</info>  返回 IPv4 地址数组，或在 <strong>$hostname</strong> 无法解析时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>gethostbyname()</strong>
   * <strong>gethostbyaddr()</strong>
   * <strong>checkdnsrr()</strong>
   * <strong>getmxrr()</strong>
   * <return>named(8)</return> 手册页


id: gethostname
type: function
doc:
<comment>Description:</comment>
  获取主机名
  
  <strong>gethostname()</strong> 可以获取本地机器的标准主机名。

<comment>Return:</comment>
  <info>string|false</info>  成功时返回主机名称字符串，失败时返回 <info>false</info>。

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


id: getimagesize
type: function
doc:
<comment>Description:</comment>
  取得图像大小
  
  <strong>getimagesize()</strong> 函数将确定任何支持的指定图像文件的大小，并返回尺寸以及文件类型和 <return>height/width</return> 文本
  字符串，以在标准 HTML IMG 标签和对应的 HTTP 内容类型中使用。
  
  <strong>getimagesize()</strong> 还可以在 <strong>$image_info</strong> 参数中返回更多信息。
  
  此函数要求 <strong>$filename</strong> 是有效的图像文件。如果提供的是非图像，可能会错误的识别为图像且函数会成功返
  回，但数组可能包含无意义的值。
  
  不要使用 <strong>getimagesize()</strong> 识别指定的文件是否是有效的图像。请使用专业解决方案，比如 Fileinfo 扩展。
  
  注意 JPC 和 JP2 是具有不同位深度的组件。此外，JP2 文件可能包含有<return>多个 JPEG 2000 代码流</return>，此情况下，
  <strong>getimagesize()</strong> 返回此文件顶层中碰到的第一个代码流的值。
  
  从具有最高比特率的 icon 中检索有关 icon 的信息。
  
  GIF 图像由一个或多个帧组成，其中每个帧可能只占据图像的一部分。<strong>getimagesize()</strong> 报告的图像大小是整体
  大小（从逻辑屏幕描述符中读取）。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>    此参数指定希望检索其信息的文件。可以指向本地文件或（配置允许）使用某个支持的
                       流的远程文件。
  <info>array</info>   <strong>$image_info</strong>  可选参数允许从图像文件中提取一些扩展信息。目前会将不同的 JPG APP 标记作为关联
                       数组返回。一些程序使用这些 APP 标记在图像中嵌入文本信息。 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.
                       
                       <strong>$image_info</strong> 仅支持 JFIF 文件。

<comment>Return:</comment>
  <info>array|false</info>  返回信息最多包含 7 个元素。并非所有图像类型都包含 <return>channels</return> 和 <return>bits</return> 元素。
               
               索引 0 和 1 分别包含图像的宽度和高度。
               
               一些格式可能没有图像或者包含多个图像。在这种情况下，<strong>getimagesize()</strong> 可能无法正确确定图
               像大小。<strong>getimagesize()</strong> 此时会返回的宽高为 0。
               
               索引 2 是表示图像类型的某个 IMAGETYPE_XXX 常量。
               
               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> 是图像对应的 MIME 类型。此信息可用于传递具有正确 HTTP  <return>Content-type</return> 报头的图像：
               <strong>getimagesize()</strong> 和 MIME 类型
               ]]>
               
               <return>channels</return> 对 RGB 图片为 3，对 CMYK 图像为 4。
               
               <return>bits</return> 是每种颜色的位数。
               
               对应一些图像类型，<return>channels</return> 和 <return>bits</return> 值的存在可能会让人困惑。 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.
               
               失败时返回 <info>false</info>。

<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>
  从字符串中获取图像尺寸信息
  
  同 <strong>getimagesize()</strong> 函数，区别是 <strong>getimagesizefromstring()</strong> 的第一个参数是接受字符串而不是文件名。
  
  关于本函数如何工作的更多信息请参见 <strong>getimagesize()</strong> 函数。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      图像数据的字符串表示。
  <info>array</info>   <strong>$image_info</strong>  参见 <strong>getimagesize()</strong>。

<comment>Return:</comment>
  <info>array|false</info>  参见 <strong>getimagesize()</strong>。

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


id: getlastmod
type: function
doc:
<comment>Description:</comment>
  获取页面最后修改的时间
  
  获取执行的主脚本的最后修改时间。
  
  如果你对其他文件的最后修改时间的感兴趣，可考虑使用 <strong>filemtime()</strong>。

<comment>Return:</comment>
  <info>int|false</info>  返回当前页面最后修改的时间。这个值是一个 Unix 时间戳，可以传入 <strong>date()</strong>。 错误时返回
             <info>false</info>。

<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>
  获取 Internet 主机名对应的 MX 记录
  
  在 DNS 中搜索 <strong>$hostname</strong> 对应的 MX 记录。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>  Internet 主机名。
  <info>array</info>   <strong>$hosts</strong>     找到的 MX 记录列表存放于 <strong>$hosts</strong> 数组。
  <info>array</info>   <strong>$weights</strong>   提供了 <strong>$weights</strong> 数组后，它会用找到的权重信息填充数组。

<comment>Return:</comment>
  <info>bool</info>  找到记录返回  <info>true</info>，没找到或者出错时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>checkdnsrr()</strong>
   * <strong>dns_get_record()</strong>
   * <strong>gethostbyname()</strong>
   * <strong>gethostbynamel()</strong>
   * <strong>gethostbyaddr()</strong>
   * Linux 手册页面 <return>named(8)</return>


id: getmygid
type: function
doc:
<comment>Description:</comment>
  获取当前 PHP 脚本拥有者的 GID
  
  获取当前 PHP 脚本拥有者的用户组 ID。

<comment>Return:</comment>
  <info>int|false</info>  返回当前 PHP 脚本拥有者的用户组 ID，或在错误时返回 <info>false</info>。

<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>
  获取当前脚本的索引节点（inode）
  
  获取当前脚本的索引节点（inode）。

<comment>Return:</comment>
  <info>int|false</info>  以整型返回当前脚本的索引节点（inode），或在错误时返回 <info>false</info>。

<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>
  获取 PHP 进程的 ID
  
  获取当前 PHP 进程 ID。

<comment>Return:</comment>
  <info>int|false</info>  返回当前 PHP 进程 ID，或在错误时返回 <info>false</info>。

<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>
  获取 PHP 脚本所有者的 UID
  
  获取当前脚本的用户 ID。

<comment>Return:</comment>
  <info>int|false</info>  返回当前脚本的用户 ID，或在错误时返回 <info>false</info>。

<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>
  从命令行参数列表中获取选项
  
  解析传入脚本的选项。

<comment>Param:</comment>
  <info>string</info>  <strong>$short_options</strong>  该字符串中的每个字符会被当做选项字符，匹配传入脚本的选项以单个连字符 (<return>-</return>)
                          开头。
                          
                          比如，一个选项字符串 <return>"x"</return> 识别了一个选项 <return>-x</return>。
                          
                          只允许 a-z、A-Z 和 0-9。
  <info>array</info>   <strong>$long_options</strong>   选项数组。此数组中的每个元素会被作为选项字符串，匹配了以两个连字符 (<return>--</return>) 传
                          入到脚本的选项。
                          
                          例如，长选项元素 <return>"opt"</return> 识别了一个选项 <return>--opt</return>。
  <info>int</info>     <strong>$rest_index</strong>     如果传递了 <strong>$rest_index</strong> 参数，那么参数解析停止时的索引，将被赋值给此变量。

<comment>Return:</comment>
  <info>array|false</info>  此函数会返回选项/参数对， 或者在失败时返回 <info>false</info>。
               
               选项的解析会终止于找到的第一个非选项，之后的任何东西都会被丢弃。

<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,  或者在失败时返回 <info>false</info>.

<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,  或者在失败时返回 <info>false</info>.

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


id: getrandmax
type: function
doc:
<comment>Description:</comment>
  显示随机数最大的可能值
  
  返回调用 <strong>rand()</strong> 可能返回的最大值。

<comment>Return:</comment>
  <info>int</info>  <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>
  获取当前资源使用状况
  
  这是 getrusage(2) 的接口。它返回了调用自系统的数据。

<comment>Param:</comment>
  <info>int</info>  <strong>$mode</strong>  如果 <strong>$mode</strong> 是 1，getrusage 会使用 <info>RUSAGE_CHILDREN</info> 来调用。

<comment>Return:</comment>
  <info>array|false</info>  返回了一个包含系统返回数据的关联数组。所以条目均可通过文档中字段的名称来访问。失败时
               返回 <info>false</info>。

<comment>See Also:</comment>
   * 系统上 getrusage(2) 的 man 页面


id: getservbyname
type: function
doc:
<comment>Description:</comment>
  获取互联网服务协议对应的端口
  
  <strong>getservbyname()</strong>  返回互联网服务 <strong>$service</strong> 指定的协议 <strong>$protocol</strong> 中对应的端口， 依据 /etc/services。

<comment>Param:</comment>
  <info>string</info>  <strong>$service</strong>   互联网服务名称的字符串。
  <info>string</info>  <strong>$protocol</strong>  <strong>$protocol</strong> 既可以是 <return>"tcp"</return> 也可以是 <return>"udp"</return> (小写)。

<comment>Return:</comment>
  <info>int|false</info>  返回端口号，如果 <strong>$service</strong> 或 <strong>$protocol</strong> 未找到返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>getservbyport()</strong>
   * http://www.iana.org/assignments/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,  或者在失败时返回 <info>false</info>.

<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>
  取得当前时间
  
  本函数是 gettimeofday(2) 的接口。返回一个关联数组，包含有系统调用返回的数据。

<comment>Param:</comment>
  <info>bool</info>  <strong>$as_float</strong>  当其设为 <info>true</info> 时，会返回浮点数而不是数组。

<comment>Return:</comment>
  <info>array|float</info>  默认返回 <info>array</info>。如果设置了 <strong>$as_float</strong> 则会返回 <info>float</info>。
               
               数组中的键为：  "sec" - 自 Unix 纪元起的秒数  "usec" - 微秒数  "minuteswest" - 格林威
               治向西的分钟数  "dsttime" - 夏令时修正的类型
               
               "sec" - 自 Unix 纪元起的秒数
               
               "usec" - 微秒数
               
               "minuteswest" - 格林威治向西的分钟数
               
               "dsttime" - 夏令时修正的类型


id: gettype
type: function
doc:
<comment>Description:</comment>
  获取变量的类型
  
  返回 PHP <strong>$value</strong> 变量的类型。 对于类型检查，请使用 <return>is_*</return> 函数。

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  要检查类型的变量。

<comment>Return:</comment>
  <info>string</info>  返回字符串，可能值为： <return>"boolean"</return><return>"integer"</return><return>"double"</return> （由于历史原因，如果是浮点型，则返回
          <return>"double"</return>，而不仅仅是 <return>"float"</return>） <return>"string"</return><return>"array"</return><return>"object"</return><return>"resource"</return><return>"resource (closed)"</return> 自 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>
  寻找与模式匹配的文件路径
  
  <strong>glob()</strong> 函数依照 libc glob() 函数使用的规则寻找所有与 <strong>$pattern</strong> 匹配的文件路径，类似于一般 shells 所
  用的规则一样。

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  匹配模式（pattern）。 不进行缩写扩展或参数替代。
                    
                    特殊字符： <return>*</return> - 匹配零个或多个字符。 <return>?</return> - 只匹配单个字符（任意字符）。 <return>[...]</return> - 匹
                    配一组字符中的一个字符。 如果第一个字符是 <return>!</return>，则为否定模式， 即匹配不在这组字符中
                    的任意字符。 <return>\</return> - 只要没有使用 <info>GLOB_NOESCAPE</info> 标记，该字符会转义后面的字符。
                    
                    <return>*</return> - 匹配零个或多个字符。
                    
                    <return>?</return> - 只匹配单个字符（任意字符）。
                    
                    <return>[...]</return> - 匹配一组字符中的一个字符。 如果第一个字符是 <return>!</return>，则为否定模式， 即匹配不在
                    这组字符中的任意字符。
                    
                    <return>\</return> - 只要没有使用 <info>GLOB_NOESCAPE</info> 标记，该字符会转义后面的字符。
  <info>int</info>     <strong>$flags</strong>    有效标记有： <info>GLOB_MARK</info> - 在每个返回的项目中加一个斜线 <info>GLOB_NOSORT</info> - 按照文件在目
                    录中出现的原始顺序返回（不排序） <info>GLOB_NOCHECK</info> - 如果没有文件匹配则返回用于搜索的
                    模式 <info>GLOB_NOESCAPE</info> - 反斜线不转义元字符 <info>GLOB_BRACE</info> - 扩充 {a,b,c} 来匹配 'a'，
                    'b' 或 'c' <info>GLOB_ONLYDIR</info> - 仅返回与模式匹配的目录项 <info>GLOB_ERR</info> - 停止并读取错误信息
                    （比如说不可读的目录），默认的情况下忽略所有错误  <info>GLOB_BRACE</info> 在一些非 GNU 系统上
                    无效，比如 Solaris 和  Alpine Linux 。
                    
                    <info>GLOB_MARK</info> - 在每个返回的项目中加一个斜线
                    
                    <info>GLOB_NOSORT</info> - 按照文件在目录中出现的原始顺序返回（不排序）
                    
                    <info>GLOB_NOCHECK</info> - 如果没有文件匹配则返回用于搜索的模式
                    
                    <info>GLOB_NOESCAPE</info> - 反斜线不转义元字符
                    
                    <info>GLOB_BRACE</info> - 扩充 {a,b,c} 来匹配 'a'，'b' 或 'c'
                    
                    <info>GLOB_ONLYDIR</info> - 仅返回与模式匹配的目录项
                    
                    <info>GLOB_ERR</info> - 停止并读取错误信息（比如说不可读的目录），默认的情况下忽略所有错误
                    
                    <info>GLOB_BRACE</info> 在一些非 GNU 系统上无效，比如 Solaris 和  Alpine Linux 。

<comment>Return:</comment>
  <info>array|false</info>  返回包含有匹配文件和目录的数组，没有匹配文件时返回空数组，出错返回 <info>false</info>。
               
               在个别操作系统上，无法区分是否为空匹配或错误。

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


id: gmdate
type: function
doc:
<comment>Description:</comment>
  格式化 GMT/UTC 日期／时间
  
  同 <strong>date()</strong> 函数一样，只是返回的时间是格林威治标准时（GMT）。

<comment>Param:</comment>
  <info>string</info>    <strong>$format</strong>     输出日期 <info>string</info> 的格式。参阅 <strong>date()</strong> 函数格式化选项。
  <info>int|null</info>  <strong>$timestamp</strong>  可选的 <strong>$timestamp</strong> 参数是一个 <info>int</info> 的 Unix
                        时间戳，如未指定或是 <info>null</info>，参数值默认为当前本地时间。也就是说，其值默认为
                        <strong>time()</strong> 的返回值。

<comment>Return:</comment>
  <info>string</info>  返回格式化的日期字符串。

<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>
  取得 GMT 日期的 UNIX 时间戳
  
  和 <strong>mktime()</strong> 相同，但传递的参数是 GMT 日期。 <strong>gmmktime()</strong> internally uses <strong>mktime()</strong> so only times
  valid in derived local time can be used.
  
  和 <strong>mktime()</strong> 一样，可选参数可以从右到左的顺序省略，省略的参数会被设为当前对应的 GMT 值。
  
  不再支持不带参数调用 <strong>gmmktime()</strong>，并会导致 <class>ArgumentCountError</class>。 <strong>time()</strong> 可用于获取当前时间戳。

<comment>Param:</comment>
  <info>int</info>       <strong>$hour</strong>    相对于一天开始的小时数，由 <strong>$month</strong>、<strong>$day</strong> 和 <strong>$year</strong> 确定。负值是指当天零点前的小
                     时。值大于 23 是指接下来几天的适当小时。
  <info>int|null</info>  <strong>$minute</strong>  相对于 <strong>$hour</strong> 开始的分钟数。负值指的是上个小时的分钟。大于 59 的值将指向接下来几
                     个小时的适当分钟。
  <info>int|null</info>  <strong>$second</strong>  相对于 <strong>$minute</strong> 开始的秒数。负值是指前一分钟的秒数。大于 59 的值是指接下来几分钟
                     的适当秒。
  <info>int|null</info>  <strong>$month</strong>   相对于去年年底的月份数。值 1 到 12 是指相关年份的正常日历月份。小于 1 的值（包
                     括负值）按相反的顺序指向去年的月份，因此 0 是 12 月，-1 是 11 月，以此类推。值
                     大于 12 是指接下来几年的适当月份。
  <info>int|null</info>  <strong>$day</strong>     相对于上个月月底的天数。值 1 到 28、29、30 或 31（取决于月份）是指相关月份的正
                     常天数。小于 1 的值（包括负值）是指上个月的天数，因此 0 是上个月的最后一天，-1
                     是倒数第二天，以此类推。大于相关月份天数的值是指接下来几个月的适当某一天。
  <info>int|null</info>  <strong>$year</strong>    年份

<comment>Return:</comment>
  <info>int|false</info>  成功时返回 <info>int</info> Unix 时间戳，如果时间戳不适合 PHP 整数则返回 <info>false</info>。

<comment>See Also:</comment>
   * <class>DateTimeImmutable</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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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).
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  The second summand (addend).
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象。

<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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_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.
                                  
                                  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>           The number that <strong>$num1</strong> is being divided by.
                                  
                                  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>.
                                  
                                  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>GMP</info>  <class>GMP</class> 对象。

<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.
                                  
                                  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>           The number that <strong>$num1</strong> is being divided by.
                                  
                                  <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                                  
                                  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>           The number that <strong>$num1</strong> is being divided by.
                                  
                                  <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  The number that <strong>$num1</strong> is being divided by.
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>GMP</info>  <class>GMP</class> 对象。


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.
                        
                        <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>GMP</info>  <class>GMP</class> 对象。


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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
                         
                         It should be positive.
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象。

<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
                         
                         Should be odd and must be positive.

<comment>Return:</comment>
  <info>int</info>  <class>GMP</class> 对象。

<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>GMP</info>  <class>GMP</class> 对象。

<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
                         
                         Should be odd and must be positive.

<comment>Return:</comment>
  <info>int</info>  <class>GMP</class> 对象。

<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  The modulo that is being evaluated.
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>GMP</info>  <class>GMP</class> 对象。


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>.
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  A number that will be multiplied by <strong>$num1</strong>.
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>GMP</info>  <class>GMP</class> 对象。


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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>GMP</info>  <class>GMP</class> 对象。


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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                        
                        <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                             
                             <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                             
                             <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$exponent</strong>  The positive power to raise the <strong>$num</strong>.
                             
                             <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$modulus</strong>   The modulo.
                             
                             <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                                
                                <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                                
                                <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
  
  本函数并不会生成安全加密的值，并且不可用于加密或者要求返回值不可猜测的目的。
  
  如果需要加密安全随机，则可以将 <class>Random\Engine\Secure</class> 引擎用于 <class>Random\Randomizer</class>。对于简单的用例，
  <strong>random_int()</strong> 和 <strong>random_bytes()</strong> 函数提供了操作系统的 CSPRNG 支持的方便且安全的 API。

<comment>Param:</comment>
  <info>int</info>  <strong>$limiter</strong>  The limiter.
                 
                 <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
  
  本函数并不会生成安全加密的值，并且不可用于加密或者要求返回值不可猜测的目的。
  
  如果需要加密安全随机，则可以将 <class>Random\Engine\Secure</class> 引擎用于 <class>Random\Randomizer</class>。对于简单的用例，
  <strong>random_int()</strong> 和 <strong>random_bytes()</strong> 函数提供了操作系统的 CSPRNG 支持的方便且安全的 API。

<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>.
  
  本函数并不会生成安全加密的值，并且不可用于加密或者要求返回值不可猜测的目的。
  
  如果需要加密安全随机，则可以将 <class>Random\Engine\Secure</class> 引擎用于 <class>Random\Randomizer</class>。对于简单的用例，
  <strong>random_int()</strong> 和 <strong>random_bytes()</strong> 函数提供了操作系统的 CSPRNG 支持的方便且安全的 API。

<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.
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>void</info>  没有返回值。

<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                          
                          <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                          
                          <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象。

<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                        
                        <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<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.
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  The number subtracted from <strong>$num1</strong>.
                         
                         <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>GMP</info>  <class>GMP</class> 对象。


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>    <class>GMP</class> 对象或 <info>int</info> ，或数字<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>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。
  <info>GMP|int|string</info>  <strong>$num2</strong>  <class>GMP</class> 对象或 <info>int</info> ，或数字<info>string</info>。

<comment>Return:</comment>
  <info>GMP</info>  <class>GMP</class> 对象。


id: gmstrftime
type: function
doc:
<comment>Description:</comment>
  根据区域设置格式化 GMT/UTC 时间/日期
  
  行为和 <strong>strftime()</strong> 相同，只是返回的时间是格林威治标准时（GMT）。例如，在东部标准时（EST，GMT
  -0500）运行时，下面第一行显示“Dec 31 1998 20:00:00”，而第二行显示“Jan 01 1999 01:00:00”。
  
  此函数依赖于操作系统区域设置信息，这些信息可能彼此不一致，或者根本不能用。而是使用
  IntlDateFormatter::format 方法。

<comment>Param:</comment>
  <info>string</info>    <strong>$format</strong>     See description in <strong>strftime()</strong>.
  <info>int|null</info>  <strong>$timestamp</strong>  可选的 <strong>$timestamp</strong> 参数是一个 <info>int</info> 的 Unix
                        时间戳，如未指定或是 <info>null</info>，参数值默认为当前本地时间。也就是说，其值默认为
                        <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>   gnupg 标识符，由对
                          <strong>gnupg_init()</strong> 或 <class>gnupg</class> 的调用生成。
  <info>string</info>    <strong>$fingerprint</strong>  指纹键名。
  <info>string</info>    <strong>$passphrase</strong>   The pass phrase.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


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

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>   gnupg 标识符，由对
                          <strong>gnupg_init()</strong> 或 <class>gnupg</class> 的调用生成。
  <info>string</info>    <strong>$fingerprint</strong>  指纹键名。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


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

<comment>Param:</comment>
  <info>resource</info>  <strong>$identifier</strong>   gnupg 标识符，由对
                          <strong>gnupg_init()</strong> 或 <class>gnupg</class> 的调用生成。
  <info>string</info>    <strong>$fingerprint</strong>  指纹键名。
  <info>string</info>    <strong>$passphrase</strong>   The pass phrase.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <class>gnupg</class> 的调用生成。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <class>gnupg</class> 的调用生成。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <class>gnupg</class> 的调用生成。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>    gnupg 标识符，由对
                           <strong>gnupg_init()</strong> 或 <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>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>   gnupg 标识符，由对
                          <strong>gnupg_init()</strong> 或 <class>gnupg</class> 的调用生成。
  <info>string</info>    <strong>$fingerprint</strong>  指纹键名。

<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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  没有返回值。


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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。


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>  gnupg 标识符，由对
                         <strong>gnupg_init()</strong> 或 <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>   gnupg 标识符，由对
                          <strong>gnupg_init()</strong> 或 <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
  
  过程化风格
  
  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, 或者在失败时返回 <info>false</info>.

<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
  
  过程化风格
  
  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
  
  过程化风格
  
  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
  
  过程化风格
  
  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,  或者在失败时返回 <info>false</info>.

<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
  
  过程化风格
  
  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
  
  过程化风格
  
  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
  
  过程化风格
  
  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
  
  过程化风格
  
  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
  
  过程化风格
  
  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>,  或者在失败时返回 <info>false</info>.

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


id: gregoriantojd
type: function
doc:
<comment>Description:</comment>
  将公历日期转为儒略日数
  
  公历的有效范围是从公元前 4714 年 11 月 25 日开始。至少到公元 9999 年 12 月 31 日
  
  虽然这个函数可以处理追溯到公元前 4714 年以前的日期，但这样做可能没有意义。公历直到 1582 年 10 年
  15  日（或是儒略历 1582 年 10 月 5 日）才被发明，一些国家直到很久以后才接受它。比如，英国是在 1752
  年开始使用公历，苏联是在 1918 年，希腊是在 1923 年，大部分的欧洲国家在公历前使用儒略历。

<comment>Param:</comment>
  <info>int</info>  <strong>$month</strong>  月份的范围是 1（January）到 12（December）之间的数字。
  <info>int</info>  <strong>$day</strong>    天的范围是 1 到 31 之间的数字。如果该月的天数小于指定的天数， 则会发生溢出。请参考下
               面的示例。
  <info>int</info>  <strong>$year</strong>   年份的范围是 -4714 到 9999 之间的数字。负数表示公元前，正数表示公元。注意没有公元 <return>0</return>
               年，公元前 1 年 12 月 31 日紧跟其后的是公元 1 年 1 月 1 日。

<comment>Return:</comment>
  <info>int</info>  int 类型的指定公历日期的儒略日。日期超出范围值返回 <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>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<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  或者在失败时返回 <info>false</info>.

<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, 或者在失败时返回 <info>false</info>.

<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: 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,  或者在失败时返回 <info>false</info>.

<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>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<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,  或者
             在失败时返回 <info>false</info>.

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


