# php_manual

id: stream_socket_client
type: function
doc:
<comment>Description:</comment>
  Open Internet or Unix domain socket connection
  
  Initiates a stream or datagram connection to the destination specified by <strong>$address</strong>.  The type of
  socket created is determined by the transport specified using standard URL formatting:
  <return>transport://target</return>.  For Internet Domain sockets (AF_INET) such as TCP and UDP, the <return>target</return> portion
  of the <strong>$address</strong> parameter should consist of a hostname or IP address followed by a colon and a
  port number.  For Unix domain sockets, the <return>target</return> portion should point to the socket file on the
  filesystem.
  
  The stream will by default be opened in blocking mode.  You can switch it to non-blocking mode by
  using <strong>stream_set_blocking()</strong>.

<comment>Param:</comment>
  <info>string</info>         <strong>$address</strong>        Address to the socket to connect to.
  <info>int</info>            <strong>$error_code</strong>     Will be set to the system level error number if connection fails.
  <info>string</info>         <strong>$error_message</strong>  Will be set to the system level error message if the connection
                                 fails.
  <info>float|null</info>     <strong>$timeout</strong>        Number of seconds until the <return>connect()</return> system call should timeout.
                                 By default, default_socket_timeout is used.  This parameter only
                                 applies when not making asynchronous connection attempts.   To set
                                 a timeout for reading/writing data over the socket, use the
                                 <strong>stream_set_timeout()</strong>, as the <strong>$timeout</strong> only applies while making
                                 connecting the socket.
                                 
                                 This parameter only applies when not making asynchronous connection
                                 attempts.
                                 
                                 To set a timeout for reading/writing data over the socket, use the
                                 <strong>stream_set_timeout()</strong>, as the <strong>$timeout</strong> only applies while making
                                 connecting the socket.
  <info>int</info>            <strong>$flags</strong>          Bitmask field which may be set to any combination of connection
                                 flags. Currently the select of connection flags is limited to
                                 <info>STREAM_CLIENT_CONNECT</info> (default), <info>STREAM_CLIENT_ASYNC_CONNECT</info> and
                                 <info>STREAM_CLIENT_PERSISTENT</info>.
  <info>resource|null</info>  <strong>$context</strong>        A valid context resource created with <strong>stream_context_create()</strong>.

<comment>Return:</comment>
  <info>resource|false</info>  On success a stream resource is returned which may be used together with the other
                  file functions (such as <strong>fgets()</strong>, <strong>fgetss()</strong>, <strong>fwrite()</strong>, <strong>fclose()</strong>, and <strong>feof()</strong>), <info>false</info>
                  on failure.

<comment>See Also:</comment>
   * <strong>stream_socket_server()</strong>
   * <strong>stream_set_blocking()</strong>
   * <strong>stream_set_timeout()</strong>
   * <strong>stream_select()</strong>
   * <strong>fgets()</strong>
   * <strong>fgetss()</strong>
   * <strong>fwrite()</strong>
   * <strong>fclose()</strong>
   * <strong>feof()</strong>
   * 


id: stream_socket_enable_crypto
type: function
doc:
<comment>Description:</comment>
  Turns encryption on/off on an already connected socket
  
  Enable or disable encryption on the stream.
  
  Once the crypto settings are established, cryptography can be turned on and off dynamically by
  passing <info>true</info> or <info>false</info> in the <strong>$enable</strong> parameter.

<comment>Param:</comment>
  <info>resource</info>       <strong>$stream</strong>          The stream resource.
  <info>bool</info>           <strong>$enable</strong>          Enable/disable cryptography on the stream.
  <info>int|null</info>       <strong>$crypto_method</strong>   Setup encryption on the stream. Valid methods are
                                  <info>STREAM_CRYPTO_METHOD_SSLv2_CLIENT</info><info>STREAM_CRYPTO_METHOD_SSLv3_CLIENT</info><info>STREAM_CRYPTO_METHOD_SSLv23_CLIENT</info><info>STREAM_CRYPTO_METHOD_ANY_CLIENT</info><info>STREAM_CRYPTO_METHOD_TLS_CLIENT</info><info>STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT</info><info>STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT</info><info>STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT</info><info>STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT</info>
                                  (as of PHP
                                  7.4.0)<info>STREAM_CRYPTO_METHOD_SSLv2_SERVER</info><info>STREAM_CRYPTO_METHOD_SSLv3_SERVER</info><info>STREAM_CRYPTO_METHOD_SSLv23_SERVER</info><info>STREAM_CRYPTO_METHOD_ANY_SERVER</info><info>STREAM_CRYPTO_METHOD_TLS_SERVER</info><info>STREAM_CRYPTO_METHOD_TLSv1_0_SERVER</info><info>STREAM_CRYPTO_METHOD_TLSv1_1_SERVER</info><info>STREAM_CRYPTO_METHOD_TLSv1_2_SERVER</info><info>STREAM_CRYPTO_METHOD_TLSv1_3_SERVER</info>
                                  (as of PHP 7.4.0)
                                  
                                  <info>STREAM_CRYPTO_METHOD_SSLv2_CLIENT</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_SSLv3_CLIENT</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_SSLv23_CLIENT</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_ANY_CLIENT</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLS_CLIENT</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLSv1_0_CLIENT</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLSv1_1_CLIENT</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLSv1_3_CLIENT</info> (as of PHP 7.4.0)
                                  
                                  <info>STREAM_CRYPTO_METHOD_SSLv2_SERVER</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_SSLv3_SERVER</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_SSLv23_SERVER</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_ANY_SERVER</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLS_SERVER</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLSv1_0_SERVER</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLSv1_1_SERVER</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLSv1_2_SERVER</info>
                                  
                                  <info>STREAM_CRYPTO_METHOD_TLSv1_3_SERVER</info> (as of PHP 7.4.0)
                                  
                                  If omitted, the <return>crypto_method</return> context option on the stream's SSL
                                  context will be used instead.
  <info>resource|null</info>  <strong>$session_stream</strong>  Seed the stream with settings from <strong>$session_stream</strong>.

<comment>Return:</comment>
  <info>int|bool</info>  Returns <info>true</info> on success, <info>false</info> if negotiation has failed or <return>0</return> if there isn't enough data
            and you should try again (only for non-blocking sockets).

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


id: stream_socket_get_name
type: function
doc:
<comment>Description:</comment>
  获取本地或者远程的套接字名称
  
  返回给定的本地或者远程套接字连接的名称。

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>  需要获取其名称的套接字连接。
  <info>bool</info>      <strong>$remote</strong>  如果设置为 <info>true</info> ，那么将返回 <return>remote</return> 套接字连接名称；如果设置为 <info>false</info> 则返回
                     <return>local</return> 套接字连接名称。

<comment>Return:</comment>
  <info>string|false</info>  套接字连接的名称， 或者在失败时返回 <info>false</info>。

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


id: stream_socket_pair
type: function
doc:
<comment>Description:</comment>
  创建一对完全一样的网络套接字连接流
    
  
  <strong>stream_socket_pair()</strong> 创建一对完全一样的网络套接字连接，这个函数通常会被用在进程间通信
  （Inter-Process Communication）。

<comment>Param:</comment>
  <info>int</info>  <strong>$domain</strong>    使用的协议族： <info>STREAM_PF_INET</info>, <info>STREAM_PF_INET6</info> or <info>STREAM_PF_UNIX</info>
  <info>int</info>  <strong>$type</strong>      通信类型: <info>STREAM_SOCK_DGRAM</info>、 <info>STREAM_SOCK_RAW</info>、 <info>STREAM_SOCK_RDM</info>、
                  <info>STREAM_SOCK_SEQPACKET</info>、 <info>STREAM_SOCK_STREAM</info>
  <info>int</info>  <strong>$protocol</strong>  使用的传输协议: <info>STREAM_IPPROTO_ICMP</info>、 <info>STREAM_IPPROTO_IP</info>、 <info>STREAM_IPPROTO_RAW</info>、
                  <info>STREAM_IPPROTO_TCP</info>、 <info>STREAM_IPPROTO_UDP</info>

<comment>Return:</comment>
  <info>array|false</info>  成功时将返回一个包含了两个 socket 资源的 <info>array</info>，错误时返回 <info>false</info>。


id: stream_socket_recvfrom
type: function
doc:
<comment>Description:</comment>
  Receives data from a socket, connected or not 
  
  <strong>stream_socket_recvfrom()</strong> accepts data from a remote socket up to <strong>$length</strong> bytes.

<comment>Param:</comment>
  <info>resource</info>     <strong>$socket</strong>   The remote socket.
  <info>int</info>          <strong>$length</strong>   The number of bytes to receive from the <strong>$socket</strong>.
  <info>int</info>          <strong>$flags</strong>    The value of <strong>$flags</strong> can be any combination of the following: Possible
                         values for <strong>$flags</strong><info>STREAM_OOB</info> Process OOB (<return>out-of-band</return>) data. <info>STREAM_PEEK</info>
                         Retrieve data from the socket, but do not consume the buffer. Subsequent
                         calls to <strong>fread()</strong> or <strong>stream_socket_recvfrom()</strong> will see the same data.
  <info>string|null</info>  <strong>$address</strong>  If <strong>$address</strong> is provided it will be populated with the address of the remote
                         socket.

<comment>Return:</comment>
  <info>string|false</info>  Returns the read data, as a string, 或者在失败时返回 <info>false</info>.

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


id: stream_socket_sendto
type: function
doc:
<comment>Description:</comment>
  Sends a message to a socket, whether it is connected or not 
  
  Sends the specified <strong>$data</strong> through the <strong>$socket</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$socket</strong>   The socket to send <strong>$data</strong> to.
  <info>string</info>    <strong>$data</strong>     The data to be sent.
  <info>int</info>       <strong>$flags</strong>    The value of <strong>$flags</strong> can be any combination of the following: possible values
                      for <strong>$flags</strong><info>STREAM_OOB</info> Process OOB (out-of-band) data.
  <info>string</info>    <strong>$address</strong>  The address specified when the socket stream was created will be used unless
                      an alternate address is specified in <strong>$address</strong>.
                      
                      If specified, it must be in dotted quad (or [ipv6]) format.

<comment>Return:</comment>
  <info>int|false</info>  Returns a result code, as an integer, 或者在失败时返回 <info>false</info>.

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


id: stream_socket_server
type: function
doc:
<comment>Description:</comment>
  创建 Internet 或 Unix 域服务器套接字
  
  在指定 <strong>$address</strong> 上创建 stream 或者数据包套接字（datagram socket）。
  
  此函数仅创建套接字，并使用 <strong>stream_socket_accept()</strong> 开始接受连接。

<comment>Param:</comment>
  <info>string</info>         <strong>$address</strong>        传输器决定创建的套接字类型，其传输器由标准 URL 格式
                                 （<return>transport://target</return>）指定。
                                 
                                 对于 Internet 域套接字（<info>AF_INET</info>），比如 TCP 和 UDP， <strong>$remote_socket</strong>
                                 参数的 <return>target</return> 部分应由主机名或者 IP 地址，随后跟着冒号和端口号组
                                 成。 对于 Unix 域套接字， <return>target</return> 部分指向文件系统中的套接字文件。
                                 
                                 环境的不同，可能会导致 Unix 域套接字无法使用。可以使用
                                 <strong>stream_get_transports()</strong> 检索可以使用的传输器列表。查看获取内置传输
                                 器列表。
  <info>int</info>            <strong>$error_code</strong>     如果指定了可选的 <strong>$error_code</strong> 和 <strong>$error_message</strong> 参数，它们将被设置为
                                 指出在系统级别进行 <return>socket()</return>、<return>bind()</return>、 <return>listen()</return> 调用时发生的真实系统
                                 级别错误。如果 <strong>$error_code</strong> 返回的值为 <return>0</return> 且函数返回 <info>false</info>，则表明错
                                 误发生在 <return>bind()</return> 调用之前。请注意 <strong>$error_code</strong> 和 <strong>$error_message</strong> 始终
                                 通过引用传递。
  <info>string</info>         <strong>$error_message</strong>  参阅 <strong>$error_code</strong> 描述。
  <info>int</info>            <strong>$flags</strong>          位掩码字段，可以设置为套接字创建 flag 的任意组合。
                                 
                                 对于 UDP 套接字，你必须使用 <info>STREAM_SERVER_BIND</info> 作为 <strong>$flags</strong> 参数。
  <info>resource|null</info>  <strong>$context</strong>        

<comment>Return:</comment>
  <info>resource|false</info>  返回已创建的 stream，错误时返回 <info>false</info>。

<comment>See Also:</comment>
   * <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>
   * Curl 扩展


id: stream_socket_shutdown
type: function
doc:
<comment>Description:</comment>
  Shutdown a full-duplex connection
  
  Shutdowns (partially or not) a full-duplex connection.
  
  The associated buffer, or buffers, may or may not be emptied.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  An open stream (opened with <strong>stream_socket_client()</strong>, for example)
  <info>int</info>       <strong>$mode</strong>    One of the following constants: <info>STREAM_SHUT_RD</info> (disable further receptions),
                     <info>STREAM_SHUT_WR</info> (disable further transmissions) or <info>STREAM_SHUT_RDWR</info> (disable
                     further receptions and transmissions).

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

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


id: stream_supports_lock
type: function
doc:
<comment>Description:</comment>
  Tells whether the stream supports locking
  
  Tells whether the stream supports locking through  <strong>flock()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  The stream to check.

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

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


id: stream_wrapper_register
type: function
doc:
<comment>Description:</comment>
  注册一个用 PHP 类实现的 URL 封装协议
  
  允许用户实现自定义的协议处理器和流，用于所有其它的文件系统函数中（例如 <strong>fopen()</strong>，<strong>fread()</strong> 等）。

<comment>Param:</comment>
  <info>string</info>  <strong>$protocol</strong>  待注册的封装的名字。有效的协议名字必须只包含字母数字、点（.）、加号（+）、连字
                     符（-）。
  <info>string</info>  <strong>$class</strong>     实现了 <strong>$protocol</strong> 的类名。
  <info>int</info>     <strong>$flags</strong>     如果 <strong>$protocol</strong> 是一个 URL 协议，应该设置为 <info>STREAM_IS_URL</info>。默认为 0，本地流。

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。
        
        当 <strong>$protocol</strong> 已经有处理者时，<strong>stream_wrapper_register()</strong> 将返回<info>false</info>

<comment>See Also:</comment>
   * 原型类
   * 
   * <strong>stream_wrapper_unregister()</strong>
   * <strong>stream_wrapper_restore()</strong>
   * <strong>stream_get_wrappers()</strong>


id: stream_wrapper_restore
type: function
doc:
<comment>Description:</comment>
  Restores a previously unregistered built-in wrapper
  
  Restores a built-in wrapper previously unregistered with <strong>stream_wrapper_unregister()</strong>.

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

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


id: stream_wrapper_unregister
type: function
doc:
<comment>Description:</comment>
  Unregister a URL wrapper
  
  Allows you to disable an already defined stream wrapper. Once the wrapper has been disabled you
  may override it with a user-defined wrapper using <strong>stream_wrapper_register()</strong> or reenable it later
  on with <strong>stream_wrapper_restore()</strong>.

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

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


id: strftime
type: function
doc:
<comment>Description:</comment>
  根据区域设置格式化本地时间/日期
  
  返回用给定的格式字串对给出的 <strong>$timestamp</strong> 进行格式输出后的字符串。如果没有给出时间戳则用当前的本地时
  间。月份和星期几以及其它和语言有关的字符串写法和用 <strong>setlocale()</strong> 设定的当前的区域有关。
  
  可能不是所有的转换标记都被 C 库文件支持，这种情况下 PHP 的 <strong>strftime()</strong> 也不支持。此外，不是所有的平
  台都支持负的时间戳，因此日期的范围可能限定在不早于 Unix 纪元。这意味着例如 %e, %T，%R 和 %D（可能
  更多）以及早于 <return>Jan 1, 1970</return> 的时间在 Windows，一些 Linux 发行版本，以及其它几个操作系统中无效。对于
  Windows 系统，所支持的转换标记可在 MSDN 网站找到。 Instead use the IntlDateFormatter::format
  method.

<comment>Param:</comment>
  <info>string</info>    <strong>$format</strong>     <strong>$format</strong> 里能够识别的格式字串有以下标记：<strong>$格式</strong>描述返回值示例日------<return>%a</return>当前区
                        域星期几的简写<return>Sun</return> 到 <return>Sat</return><return>%A</return>当前区域星期几的全称<return>Sunday</return> 到 <return>Saturday</return><return>%d</return>月份中的第
                        几天，十进制数字（范围从 01 到 31）<return>01</return> 到 <return>31</return><return>%e</return> 月份中的第几天，十进制数字，一
                        位的数字前会加上一个空格（范围从 ' 1' 到 '31'） 在 Windows 上尚未按描述实
                        现。更多信息见下方。 <return> 1</return> 到 <return>31</return><return>%j</return>年份中的第几天，带前导零的三位十进制数（范围
                        从  001 到 366）<return>001</return> 到 <return>366</return><return>%u</return>符合 ISO-8601 星期几的十进制数表达 [1,7]，1 表示
                        星期一<return>1</return> (星期一) 到 <return>7</return> (星期日)<return>%w</return>星期中的第几天，星期天为 0<return>0</return> (星期天) 到 <return>6</return>
                        (星期六)周------<return>%U</return>本年的第几周，从第一周的第一个星期天作为第一天开始<return>13</return> (for
                        the 13th full week of the year)<return>%V</return> %V - 本年第几周的 ISO-8601:1988 格式，范围
                        从 01 到 53，第 1 周是本年第一个至少还有 4 天的星期，星期一作为每周的第一
                        天。（用 %G 或者 %g 作为指定时间戳相应周数的年份组成。） <return>01</return> 到 <return>53</return> (where 53
                        accounts for an overlapping week)<return>%W</return>本年的第几周数，从第一周的第一个星期一作
                        为第一天开始<return>46</return> (for the 46th week of the year beginning with a Monday)月
                        ------<return>%b</return>当前区域月份的简写<return>Jan</return> 到 <return>Dec</return><return>%B</return>当前区域月份的全称<return>January</return> 到
                        <return>December</return><return>%h</return>当前区域月份的简写（%b 的别名）<return>Jan</return> 到 <return>Dec</return><return>%m</return>两位数的月份<return>01</return> (是一月
                        份) 到 <return>12</return> (是十二月份)年------<return>%C</return>两位数显示世纪（年份除以 100，截成整数）<return>19</return>
                        是 20 世纪<return>%g</return> 2 位数的年份，符合 ISO-8601:1988 星期数（参见 %V）。和 %V 的格
                        式和值一样，只除了如果 ISO 星期数属于前一年或者后一年，则使用那一年。 比如：
                        2009年1月6日那一周是 <return>09</return>。<return>%G</return>%g 的完整四位数版本比如：2009年1月3日那一周是
                        <return>2008</return>.<return>%y</return>两位数显示年份比如： <return>09</return> 是 2009，<return>79</return> 是 1979<return>%Y</return>四位数显示年份比如：
                        <return>2038</return>时间------<return>%H</return>以 24 小时格式显示两位小时数<return>00</return> 到 <return>23</return><return>%k</return>Hour in 24-hour
                        format, with a space preceding single digits<return> 0</return> through <return>23</return><return>%I</return>以 12 小时格式显
                        示两位小时数<return>01</return> 到 <return>12</return><return>%l（'L' 的小写）</return>以 12 小时格式显示小时数，单个数字前含空
                        格<return> 1</return> 到 <return>12</return><return>%M</return>两位的分钟数<return>00</return> 到 <return>59</return><return>%p</return>指定时间的大写 “AM” 或 “PM”比如： 00:31 是
                        <return>AM</return> ，22:23  是<return>PM</return>。The exact result depends on the Operating System, and they
                        can also return lower-case variants, or variants with dots (such as
                        <return>a.m.</return>).<return>%P</return>指定时间的小写 “am” 或 “pm”比如：00:31 是 <return>am</return> ，22:23  是<return>pm</return>。Not
                        supported by all Operating Systems.<return>%r</return>和 "%I:%M:%S %p" 一样比如： 21:34:17 是
                        <return>09:34:17 PM</return><return>%R</return>和 "%H:%M" 一样比如： 12:35 AM 是 <return>00:35</return>，4:44 PM 是 <return>16:44</return><return>%S</return>两位
                        数字表示秒<return>00</return> 到 <return>59</return><return>%T</return>和 "%H:%M:%S" 一样比如： 09:34:17 PM 是 <return>21:34:17</return><return>%X</return>当前区
                        域首选的时间表示法，不包括日期例如： <return>03:59:16</return> 或 <return>15:59:16</return><return>%z</return>The time zone
                        offset. Not implemented as described on Windows. See below for more
                        information.Example: <return>-0500</return> for US Eastern Time<return>%Z</return>The time zone abbreviation.
                        Not implemented as described on Windows. See below for more
                        information.Example: <return>EST</return> for Eastern Time时间和日期戳------<return>%c</return>当前区域设置首
                        选的日期时间表达比如： 2009 年 2 月 5 日上午 12:45:10 是 <return>Tue Feb  5 00:45:10
                        2009</return><return>%D</return>和 "%m/%d/%y" 一样比如： 2009 年 2 月 5 日是 <return>02/05/09</return><return>%F</return>Same as
                        "%Y-%m-%d" (commonly used in database datestamps)比如：2009 年 2 月 5 日是
                        <return>2009-02-05</return><return>%s</return>Unix纪元的时间戳（和 <strong>time()</strong> 函数一样）比如： 1979 年 9 月 10 日
                        上午 8 点 40 分 00 秒是 <return>305815200</return><return>%x</return>当前区域首选的时间表示法，不包括时间比
                        如： 2009 年 2 月 5 日是 <return>02/05/09</return>其他------<return>%n</return>换行符("\n")---<return>%t</return>Tab 字符
                        ("\t")---<return>%%</return>文字上的百分字符("%")---
                        
                        尽管 ISO 9889:1999（当前的 C 标准）明确指出一周从星期一开始，但是 Sun
                        Solaris 的一周似乎从星期天开始并作为 1。所以 %u 的结果也许不会和手册里描述得
                        一样。
                        
                        仅针对 Windows：
                        
                        这个函数里 <return>%e</return>  修饰符修饰符还不能支持 Windows。为了得到这个值可以用 <return>%#d</return> 修饰
                        符来代替。下例说明了如何写一个跨平台支持的函数。
                        
                        The <return>%z</return> and <return>%Z</return> modifiers both return the time zone name instead of the offset
                        or abbreviation.
                        
                        仅针对 macOS 和 musl：这个函数里 <return>%P</return> 修饰符还不能支持 macOS。
  <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>  根据指定的 <strong>$timestamp</strong> 或未给出 timestamp 是使用当前本地时间， 返回 <strong>$format</strong> 格式化的
                字符。 月份、星期名和其他与语言相关的字符串遵守 <strong>setlocale()</strong> 设置的当前区域设置。 The
                function returns <info>false</info> if <strong>$format</strong> is empty, contains unsupported conversion
                specifiers, or if the length of the returned string would be greater than <return>4095</return>.

<comment>See Also:</comment>
   * IntlDateFormatter::format
   * DateTimeInterface::format
   * Online strftime() format design tool
   * <strong>setlocale()</strong>
   * <strong>mktime()</strong>
   * <strong>strptime()</strong>
   * <strong>gmstrftime()</strong>
   * Open Group specification of <strong>strftime()</strong>


id: strip_tags
type: function
doc:
<comment>Description:</comment>
  从字符串中去除 HTML 和 PHP 标签
  
  该函数尝试返回给定的字符串 <strong>$string</strong> 去除空字符、HTML 和 PHP 标签后的结果。它使用与函数 <strong>fgetss()</strong> 一
  样的机制去除标签。

<comment>Param:</comment>
  <info>string</info>             <strong>$string</strong>        输入字符串。
  <info>array|string|null</info>  <strong>$allowed_tags</strong>  使用可选的第二个参数指定不被去除的标签列表。要么是 <info>string</info>，要么
                                    自 PHP 7.4.0 起是 <info>array</info>。有关此参数的格式，请参考以下示例：
                                    
                                    HTML 注释和 PHP 标签也会被去除。这里是硬编码处理的，所以无法通过
                                    <strong>$allowed_tags</strong> 参数进行改变。
                                    
                                    将会忽略自闭合 XHTML 标签，<strong>$allowed_tags</strong> 仅可用于非自闭合标签。
                                    例如，要同时允许 <return>\<br&gt;</return> 和 <return>\<br/&gt;</return>，应该使用：

<comment>Return:</comment>
  <info>string</info>  返回处理后的字符串。

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


id: stripcslashes
type: function
doc:
<comment>Description:</comment>
  反引用一个使用 addcslashes 转义的字符串
  
  返回反转义后的字符串。可识别类似 C 语言的 <return>\n</return>，<return>\r</return>，... 八进制以及十六进制的描述。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  需要反转义的字符串。

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

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


id: stripos
type: function
doc:
<comment>Description:</comment>
  查找字符串首次出现的位置（不区分大小写）
  
  返回在<info>字符串</info> <strong>$haystack</strong> 中 <strong>$needle</strong> 首次出现的数字位置。
  
  与 <strong>strpos()</strong> 不同，<strong>stripos()</strong> 不区分大小写。

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  在该字符串中查找。
  <info>string</info>  <strong>$needle</strong>    要搜索的字符串。
                     
                     Prior to PHP 8.0.0, if <strong>$needle</strong> is not a string, it is converted to an integer
                     and applied as the ordinal value of a character. This behavior is deprecated as
                     of PHP 7.3.0, and relying on it is highly discouraged. Depending on the
                     intended behavior, the <strong>$needle</strong> should either be explicitly cast to string, or
                     an explicit call to <strong>chr()</strong> should be performed.
  <info>int</info>     <strong>$offset</strong>    可选的 <strong>$offset</strong> 参数，从字符此数量的开始位置进行搜索。 如果是负数，就从字符末尾
                     此数量的字符数开始统计。

<comment>Return:</comment>
  <info>int|false</info>  返回 needle 存在于 <strong>$haystack</strong> 字符串开始的位置(独立于偏移量)。同时注意字符串位置起始于
             0，而不是 1。
             
             如果未发现 needle 将返回 <info>false</info>。
             
             此函数可能返回布尔值
             <info>false</info>，但也可能返回等同于 <info>false</info> 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用
             ===
             运算符来测试此函数的返回值。

<comment>See Also:</comment>
   * <strong>mb_stripos()</strong>
   * <strong>str_contains()</strong>
   * <strong>str_ends_with()</strong>
   * <strong>str_starts_with()</strong>
   * <strong>strpos()</strong>
   * <strong>strrpos()</strong>
   * <strong>strripos()</strong>
   * <strong>stristr()</strong>
   * <strong>substr()</strong>
   * <strong>str_ireplace()</strong>


id: stripslashes
type: function
doc:
<comment>Description:</comment>
  反引用一个引用字符串
  
  反引用一个引用字符串。
  
  如果不需要将数据插入到一个需要转义的位置（例如数据库）则可以使用 <strong>stripslashes()</strong>。例如，直接从 HTML
  表单输出数据。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  输入字符串。

<comment>Return:</comment>
  <info>string</info>  返回一个去除转义反斜线后的字符串（<return>\'</return> 转换为 <return>'</return> 等等）。双反斜线（<return>\\</return>）被转换为单个反斜线
          （<return>\</return>）。

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


id: stristr
type: function
doc:
<comment>Description:</comment>
  strstr 函数的忽略大小写版本
  
  返回 <strong>$haystack</strong> 字符串从 <strong>$needle</strong> 第一次出现的位置开始到结尾的字符串。

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>       在该字符串中查找。
  <info>string</info>  <strong>$needle</strong>         要搜索的字符串。
                          
                          Prior to PHP 8.0.0, if <strong>$needle</strong> is not a string, it is converted to an
                          integer and applied as the ordinal value of a character. This behavior is
                          deprecated as of PHP 7.3.0, and relying on it is highly discouraged.
                          Depending on the intended behavior, the <strong>$needle</strong> should either be
                          explicitly cast to string, or an explicit call to <strong>chr()</strong> should be
                          performed.
  <info>bool</info>    <strong>$before_needle</strong>  若为 <info>true</info>，<strong>strstr()</strong> 将返回 <strong>$needle</strong> 在 <strong>$haystack</strong> 中的位置之前的部分(不包括
                          needle)。

<comment>Return:</comment>
  <info>string|false</info>  返回匹配的子字符串。如果 <strong>$needle</strong> 未找到，返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>strstr()</strong>
   * <strong>strrchr()</strong>
   * <strong>stripos()</strong>
   * <strong>strpbrk()</strong>
   * <strong>preg_match()</strong>


id: strlen
type: function
doc:
<comment>Description:</comment>
  获取字符串长度
  
  返回给定的字符串 <strong>$string</strong> 的长度。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  需要计算长度的<info>字符串</info>。

<comment>Return:</comment>
  <info>int</info>  返回 <strong>$string</strong> 的字节数。

<comment>See Also:</comment>
   * <strong>count()</strong>
   * <strong>grapheme_strlen()</strong>
   * <strong>iconv_strlen()</strong>
   * <strong>mb_strlen()</strong>


id: strnatcasecmp
type: function
doc:
<comment>Description:</comment>
  使用“自然顺序”算法比较字符串（不区分大小写）
  
  该函数实现了以人类习惯对数字型字符串进行排序的比较算法。除了不区分大小写，该函数的行为与
  <strong>strnatcmp()</strong> 类似。更多信息，参见：Martin Pool 的自然顺序的字符串比较页面。

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  第一个字符串。
  <info>string</info>  <strong>$string2</strong>  第二个字符串。

<comment>Return:</comment>
  <info>int</info>  与其他字符串比较函数类似，如果 <strong>$string1</strong> 小于 <strong>$string2</strong> 返回 <return>-1</return>； 如果 <strong>$string1</strong> 大于 <strong>$string2</strong>
       返回 <return>1</return>；如果两者相等，返回 <return>0</return>。

<comment>See Also:</comment>
   * <strong>preg_match()</strong>
   * <strong>strcmp()</strong>
   * <strong>strcasecmp()</strong>
   * <strong>substr()</strong>
   * <strong>stristr()</strong>
   * <strong>strncasecmp()</strong>
   * <strong>strncmp()</strong>
   * <strong>strstr()</strong>
   * <strong>setlocale()</strong>


id: strnatcmp
type: function
doc:
<comment>Description:</comment>
  使用自然排序算法比较字符串
  
  该函数实现了以人类习惯对数字型字符串进行排序的比较算法，这就是“自然顺序”。注意该比较区分大小写。

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  第一个字符串。
  <info>string</info>  <strong>$string2</strong>  第二个字符串。

<comment>Return:</comment>
  <info>int</info>  与其他字符串比较函数类似，如果 <strong>$string1</strong> 小于 <strong>$string2</strong> 返回 <return>-1</return>； 如果 <strong>$string1</strong> 大于 <strong>$string2</strong>
       返回 <return>1</return>；如果两者相等，返回 <return>0</return>。

<comment>See Also:</comment>
   * <strong>preg_match()</strong>
   * <strong>strcasecmp()</strong>
   * <strong>substr()</strong>
   * <strong>stristr()</strong>
   * <strong>strcmp()</strong>
   * <strong>strncmp()</strong>
   * <strong>strncasecmp()</strong>
   * <strong>strnatcasecmp()</strong>
   * <strong>strstr()</strong>
   * <strong>natsort()</strong>
   * <strong>natcasesort()</strong>


id: strncasecmp
type: function
doc:
<comment>Description:</comment>
  二进制安全比较字符串开头的若干个字符（不区分大小写）
  
  该函数与 <strong>strcasecmp()</strong> 类似，不同之处在于可以指定两个字符串比较时使用的长度（即最大比较长度）。

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  第一个字符串。
  <info>string</info>  <strong>$string2</strong>  第二个字符串。
  <info>int</info>     <strong>$length</strong>   最大比较长度。

<comment>Return:</comment>
  <info>int</info>  如果 <strong>$string1</strong> 小于 <strong>$string2</strong> 返回 <return>-1</return>；如果 <strong>$string1</strong> 大于 <strong>$string2</strong>，返回 <return>1</return>；如果两者相等，返回
       <return>0</return>。

<comment>See Also:</comment>
   * <strong>strncmp()</strong>
   * <strong>preg_match()</strong>
   * <strong>substr_compare()</strong>
   * <strong>strcasecmp()</strong>
   * <strong>stristr()</strong>
   * <strong>substr()</strong>


id: strncmp
type: function
doc:
<comment>Description:</comment>
  二进制安全比较字符串开头的若干个字符
  
  该函数与 <strong>strcmp()</strong> 类似，不同之处在于你可以指定两个字符串比较时使用的长度（即最大比较长度）。
  
  注意该比较区分大小写。

<comment>Param:</comment>
  <info>string</info>  <strong>$string1</strong>  第一个字符串。
  <info>string</info>  <strong>$string2</strong>  第二个字符串。
  <info>int</info>     <strong>$length</strong>   最大比较长度。

<comment>Return:</comment>
  <info>int</info>  如果 <strong>$string1</strong> 小于 <strong>$string2</strong> 返回 <return>-1</return>；如果 <strong>$string1</strong> 大于 <strong>$string2</strong> 返回 <return>1</return>；如果两者相等，返回
       <return>0</return>。

<comment>See Also:</comment>
   * <strong>strncasecmp()</strong>
   * <strong>preg_match()</strong>
   * <strong>substr_compare()</strong>
   * <strong>strcmp()</strong>
   * <strong>strstr()</strong>
   * <strong>substr()</strong>


id: strpbrk
type: function
doc:
<comment>Description:</comment>
  在字符串中查找一组字符的任何一个字符
  
  <strong>strpbrk()</strong> 在 <strong>$string</strong> 字符串中查找 <strong>$characters</strong>。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      在此字符串中查找 <strong>$string</strong>。
  <info>string</info>  <strong>$characters</strong>  该参数区分大小写。

<comment>Return:</comment>
  <info>string|false</info>  返回以找到的字符开始的子字符串。如果没有找到，则返回 <info>false</info>。

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


id: strpos
type: function
doc:
<comment>Description:</comment>
  查找字符串首次出现的位置
  
  返回 <strong>$needle</strong> 在 <strong>$haystack</strong> 中首次出现的数字位置。

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  在该字符串中进行查找。
  <info>string</info>  <strong>$needle</strong>    要搜索的字符串。
                     
                     Prior to PHP 8.0.0, if <strong>$needle</strong> is not a string, it is converted to an integer
                     and applied as the ordinal value of a character. This behavior is deprecated as
                     of PHP 7.3.0, and relying on it is highly discouraged. Depending on the
                     intended behavior, the <strong>$needle</strong> should either be explicitly cast to string, or
                     an explicit call to <strong>chr()</strong> should be performed.
  <info>int</info>     <strong>$offset</strong>    如果提供了此参数，搜索会从字符串该字符数的起始位置开始统计。 如果是负数，搜索会
                     从字符串结尾指定字符数开始。

<comment>Return:</comment>
  <info>int|false</info>  返回 needle 存在于 <strong>$haystack</strong> 字符串起始的位置(独立于 offset)。同时注意字符串位置是从0开
             始，而不是从1开始的。
             
             如果没找到 needle，将返回 <info>false</info>。
             
             此函数可能返回布尔值
             <info>false</info>，但也可能返回等同于 <info>false</info> 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用
             ===
             运算符来测试此函数的返回值。

<comment>See Also:</comment>
   * <strong>stripos()</strong>
   * <strong>str_contains()</strong>
   * <strong>str_ends_with()</strong>
   * <strong>str_starts_with()</strong>
   * <strong>strrpos()</strong>
   * <strong>strripos()</strong>
   * <strong>strstr()</strong>
   * <strong>strpbrk()</strong>
   * <strong>substr()</strong>
   * <strong>preg_match()</strong>


id: strptime
type: function
doc:
<comment>Description:</comment>
  解析由 strftime 生成的日期／时间
  
  <strong>strptime()</strong> 返回一个将 <strong>$timestamp</strong> 解析后的数组，如果出错返回 <info>false</info>。
  
  月份和星期几的名字以及其它与语种有关的字符串对应于 <strong>setlocale()</strong>设定的当前区域（<info>LC_TIME</info>）。

<comment>Param:</comment>
  <info>string</info>  <strong>$timestamp</strong>  被解析的字符串（例如从 <strong>strftime()</strong> 返回的）
  <info>string</info>  <strong>$format</strong>     <strong>$timestamp</strong> 所使用的格式（例如同 <strong>strftime()</strong> 中所使用的相同）。
                      
                      更多有关格式选项的信息见 <strong>strftime()</strong> 页面。

<comment>Return:</comment>
  <info>array|false</info>  返回一个数组 或者在失败时返回 <info>false</info>
               
               数组中包含以下单元键名说明tm_sec当前分钟内的秒数（0-61）tm_min当前小时内的分钟数
               （0-59）tm_hour午夜起的小时数（0-23）tm_mday月份中的第几天（1-31）tm_mon自一月起过了
               几个月（0-11）tm_year自 1900 年起过了几年tm_wday自星期天起过了几天（0-6）tm_yday本年
               自一月一日起过了多少天（0-365）unparsed<strong>$timestamp</strong> 中未能通过指定的 <strong>$format</strong> 识别的部分

<comment>See Also:</comment>
   * IntlDateFormatter::parse
   * DateTime::createFromFormat
   * <strong>checkdate()</strong>
   * <strong>strftime()</strong>
   * <strong>date_parse_from_format()</strong>


id: strrchr
type: function
doc:
<comment>Description:</comment>
  查找指定字符在字符串中的最后一次出现
  
  该函数返回 <strong>$haystack</strong> 字符串中的一部分，这部分以 <strong>$needle</strong> 的最后出现位置开始，直到 <strong>$haystack</strong> 末尾。

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>       在该字符串中查找。
  <info>string</info>  <strong>$needle</strong>         如果 <strong>$needle</strong> 包含了多个字符，那么仅使用第一个字符。该行为不同于 <strong>strstr()</strong>。
                          
                          Prior to PHP 8.0.0, if <strong>$needle</strong> is not a string, it is converted to an
                          integer and applied as the ordinal value of a character. This behavior is
                          deprecated as of PHP 7.3.0, and relying on it is highly discouraged.
                          Depending on the intended behavior, the <strong>$needle</strong> should either be
                          explicitly cast to string, or an explicit call to <strong>chr()</strong> should be
                          performed.
  <info>bool</info>    <strong>$before_needle</strong>  如果为 <info>true</info>，<strong>strrchr()</strong> 返回最后一次出现 <strong>$needle</strong> 之前的 <strong>$haystack</strong> 部分（不
                          包括 needle）。

<comment>Return:</comment>
  <info>string|false</info>  该函数返回字符串的一部分。如果 <strong>$needle</strong> 未被找到，返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>strstr()</strong>
   * <strong>strrpos()</strong>


id: strrev
type: function
doc:
<comment>Description:</comment>
  反转字符串
  
  返回 <strong>$string</strong> 反转后的字符串。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  待反转的原始字符串。

<comment>Return:</comment>
  <info>string</info>  返回反转后的字符串。


id: strripos
type: function
doc:
<comment>Description:</comment>
  计算指定字符串在目标字符串中最后一次出现的位置（不区分大小写）
  
  以不区分大小写的方式查找指定字符串在目标字符串中最后一次出现的位置。与 <strong>strrpos()</strong> 不同，<strong>strripos()</strong>
  不区分大小写。

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  在此字符串中进行查找。
  <info>string</info>  <strong>$needle</strong>    要搜索的字符串。
                     
                     Prior to PHP 8.0.0, if <strong>$needle</strong> is not a string, it is converted to an integer
                     and applied as the ordinal value of a character. This behavior is deprecated as
                     of PHP 7.3.0, and relying on it is highly discouraged. Depending on the
                     intended behavior, the <strong>$needle</strong> should either be explicitly cast to string, or
                     an explicit call to <strong>chr()</strong> should be performed.
  <info>int</info>     <strong>$offset</strong>    如果为 0 或正数，则从左到右搜索，跳过 <strong>$haystack</strong> 的开头 <strong>$offset</strong> 个字节。
                     
                     如果为负数，则从右向左执行搜索，跳过 <strong>$haystack</strong> 的最后 <strong>$offset</strong> 个字节并搜索首次
                     出现的 <strong>$needle</strong>。  这实际是在最后 <strong>$offset</strong> 个字节之前寻找最后出现的 <strong>$needle</strong>。
                     
                     这实际是在最后 <strong>$offset</strong> 个字节之前寻找最后出现的 <strong>$needle</strong>。

<comment>Return:</comment>
  <info>int|false</info>  返回 needle 相对于 <strong>$haystack</strong> 字符串的位置(和搜索的方向和偏移量无关)。  字符串位置从 0
             开始，而不是 1。
             
             字符串位置从 0 开始，而不是 1。
             
             如果未找到 needle，则返回 <info>false</info>。
             
             此函数可能返回布尔值
             <info>false</info>，但也可能返回等同于 <info>false</info> 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用
             ===
             运算符来测试此函数的返回值。

<comment>See Also:</comment>
   * <strong>strpos()</strong>
   * <strong>stripos()</strong>
   * <strong>strrchr()</strong>
   * <strong>substr()</strong>
   * <strong>stristr()</strong>
   * <strong>strstr()</strong>


id: strrpos
type: function
doc:
<comment>Description:</comment>
  计算指定字符串在目标字符串中最后一次出现的位置
  
  返回 <strong>$haystack</strong> 字符串中 <strong>$needle</strong> 最后一次出现的数字位置。

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>  在此字符串中进行查找。
  <info>string</info>  <strong>$needle</strong>    要搜索的字符串。
                     
                     Prior to PHP 8.0.0, if <strong>$needle</strong> is not a string, it is converted to an integer
                     and applied as the ordinal value of a character. This behavior is deprecated as
                     of PHP 7.3.0, and relying on it is highly discouraged. Depending on the
                     intended behavior, the <strong>$needle</strong> should either be explicitly cast to string, or
                     an explicit call to <strong>chr()</strong> should be performed.
  <info>int</info>     <strong>$offset</strong>    如果为 0 或正数，则从左到右搜索，跳过 <strong>$haystack</strong> 的开头 <strong>$offset</strong> 个字节。
                     
                     如果为负数，搜索从右侧 <strong>$offset</strong> 个字节开始，而不是从开头 <strong>$haystack</strong> 个字节开始。
                     搜索从右往左进行，从所选字节中搜索第一个出现的 <strong>$needle</strong>。  这实际是在最后
                     <strong>$offset</strong> 个字节之前寻找最后出现的 <strong>$needle</strong> 的位置。
                     
                     这实际是在最后 <strong>$offset</strong> 个字节之前寻找最后出现的 <strong>$needle</strong> 的位置。

<comment>Return:</comment>
  <info>int|false</info>  返回 needle 在 <strong>$haystack</strong> 字符串中存在的位置（与搜索顺序或者 offset 无关）。  字符串位置
             从 0 开始，而不是 1。
             
             字符串位置从 0 开始，而不是 1。
             
             如果未找到 needle，则返回 <info>false</info>。
             
             此函数可能返回布尔值
             <info>false</info>，但也可能返回等同于 <info>false</info> 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用
             ===
             运算符来测试此函数的返回值。

<comment>See Also:</comment>
   * <strong>strpos()</strong>
   * <strong>stripos()</strong>
   * <strong>strripos()</strong>
   * <strong>strrchr()</strong>
   * <strong>substr()</strong>


id: strspn
type: function
doc:
<comment>Description:</comment>
  计算字符串中全部字符都存在于指定字符集合中的第一段子串的长度
    
  
  返回 <strong>$string</strong> 中全部字符仅存在于 <strong>$characters</strong> 中的第一组连续字符(子字符串)的长度。
  
  如果省略了 <strong>$offset</strong> 和 <strong>$length</strong> 参数，则检查整个 <strong>$string</strong> 字符串；如果指定了这两个参数，则效果等同于
  调用 <return>strspn(substr($string, $offset, $length), $characters)</return>（更多信息，参见  ）。
  
  代码行： 
  ]]> $var 将被指派为 2，因为 '42' 是 <strong>$string</strong> 中第一段全部字符都存在于 '1234567890' 的连续字符。

<comment>Param:</comment>
  <info>string</info>    <strong>$string</strong>      待检查的字符串。
  <info>string</info>    <strong>$characters</strong>  检查字符列表。
  <info>int</info>       <strong>$offset</strong>      <strong>$string</strong> 的开始检查位置。
                         
                         如果 <strong>$offset</strong> 被设置并且是非负的，<strong>strspn()</strong> 将从 <strong>$string</strong> 的第 <strong>$offset</strong> 个位置
                         开始检查。例如，在字符串 '<return>abcdef</return>' 中，第 <return>0</return> 个位置的字符是 '<return>a</return>'，第二个位置的
                         字符是 '<return>c</return>'，等等。
                         
                         如果 <strong>$offset</strong> 被设置并且为负数，<strong>strspn()</strong> 将从 <strong>$string</strong> 的尾部倒数第 <strong>$offset</strong>
                         个位置开始检查 <strong>$string</strong>。
  <info>int|null</info>  <strong>$length</strong>      <strong>$string</strong> 中检查的长度。
                         
                         如果 <strong>$length</strong> 被设置并且为非负数，那么将从起始位置开始，检查 <strong>$string</strong> 的
                         <strong>$length</strong> 个长度的字符。
                         
                         如果 <strong>$length</strong> 被设置并且为负数，那么将从起始位置开始，直到从 <strong>$string</strong> 尾部开
                         始第 <strong>$length</strong> 个位置，对 <strong>$string</strong> 进行检查。

<comment>Return:</comment>
  <info>int</info>  返回完全由 <strong>$characters</strong> 中的字符组成的 <strong>$string</strong> 初始段的长度。
       
       当设置了 <strong>$offset</strong> 参数时，返回的长度从此为止开始计算，而不是从 <strong>$string</strong> 的开头开始计算。

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


id: strstr
type: function
doc:
<comment>Description:</comment>
  查找字符串的首次出现
  
  返回 <strong>$haystack</strong> 字符串从 <strong>$needle</strong> 第一次出现的位置开始到 <strong>$haystack</strong> 结尾的字符串。
  
  该函数区分大小写。如果想要不区分大小写，请使用 <strong>stristr()</strong>。
  
  如果你仅仅想确定 <strong>$needle</strong> 是否存在于 <strong>$haystack</strong> 中，请使用速度更快、耗费内存更少的 <strong>strpos()</strong> 函数。

<comment>Param:</comment>
  <info>string</info>  <strong>$haystack</strong>       输入字符串。
  <info>string</info>  <strong>$needle</strong>         要搜索的字符串。
                          
                          Prior to PHP 8.0.0, if <strong>$needle</strong> is not a string, it is converted to an
                          integer and applied as the ordinal value of a character. This behavior is
                          deprecated as of PHP 7.3.0, and relying on it is highly discouraged.
                          Depending on the intended behavior, the <strong>$needle</strong> should either be
                          explicitly cast to string, or an explicit call to <strong>chr()</strong> should be
                          performed.
  <info>bool</info>    <strong>$before_needle</strong>  若为 <info>true</info>，<strong>strstr()</strong> 将返回 <strong>$needle</strong> 在 <strong>$haystack</strong> 中的位置之前的部分。

<comment>Return:</comment>
  <info>string|false</info>  返回字符串的一部分或者 <info>false</info>（如果未发现 <strong>$needle</strong>）。

<comment>See Also:</comment>
   * <strong>preg_match()</strong>
   * <strong>stristr()</strong>
   * <strong>strpos()</strong>
   * <strong>strrchr()</strong>
   * <strong>substr()</strong>


id: strtok
type: function
doc:
<comment>Description:</comment>
  标记分割字符串
  
  可选 token （不支持命名参数）：
  
  <strong>strtok()</strong> 将字符串 <strong>$string</strong> 分割为若干子字符串，每个子字符串以 <strong>$token</strong> 中的字符分割。这也就意味着，如
  果有个字符串是 "This is an example string"， 你可以使用空格字符作为 <strong>$token</strong>，将这句话分割成独立的单
  词。
  
  注意，仅第一次调用 strtok 函数时才使用 <strong>$string</strong> 参数。 随后每次调用 strtok 都将只使用 <strong>$token</strong> 参数，
  因为它会记住它在当前字符串中的位置。 如果要重新开始分割一个新的字符串，你需要再次使用 <strong>$string</strong> 参数
  来调用 strtok 函数来对其进行初始化。 注意，可以在 <strong>$token</strong> 参数中使用多个字符。字符串将被 <strong>$token</strong> 参
  数中任何一个字符分割。
  
  这个函数的行为可能与熟悉 <strong>explode()</strong> 的人期望略有不同。 首先，在解析的字符串中，两个或多个连续的
  <strong>$token</strong> 的 字符被认为是单一的分隔符。 此外，位于字符串开始或结束处的 <strong>$token</strong> 将被忽略。 例如，如果使
  用一个字符串 <return>";aaa;;bbb;"</return> ，连续调用 <strong>strtok()</strong> 并将 <return>";"</return> 作为一个 <strong>$token</strong> 将返回字符串 "aaa" 和
  "bbb"，然后返回 <info>false</info> 。 因此，字符串将仅被拆分为两个元素，而 <return>explode(";", $string)</return> 将返回一个包含
  5 个元素的数组。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  被分成若干子字符串的原始<info>字符串</info>。
  <info>string</info>  <strong>$token</strong>   分割 <strong>$string</strong> 时使用的分界字符。

<comment>Return:</comment>
  <info>string|false</info>  标记后的<info>字符串</info>，如果没有更多标记可用，则返回 <info>false</info> 。

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


id: strtolower
type: function
doc:
<comment>Description:</comment>
  将字符串转化为小写
  
  将 <strong>$string</strong> 中所有的 ASCII 字母字符转换为小写并返回。
  
  <return>"A"</return>（0x41）到 <return>"Z"</return>（0x5a）范围内的字节会通过将每个字节值加 32 转为相应的小写字母。
  
  这可用于转换用 UTF-8 编码的字符串中的 ASCII 字符，但会忽略多字节 UTF-8 字符。要转换多字节非 ASCII
  字符，请使用 <strong>mb_strtolower()</strong>。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  输入字符串。

<comment>Return:</comment>
  <info>string</info>  返回转换后的小写字符串。

<comment>See Also:</comment>
   * <strong>strtoupper()</strong>
   * <strong>ucfirst()</strong>
   * <strong>ucwords()</strong>
   * <strong>mb_strtolower()</strong>


id: strtotime
type: function
doc:
<comment>Description:</comment>
  将任何英文文本日期时间描述解析为 Unix 时间戳
  
  本函数期望接受包含英文日期格式的字符串并尝试将其解析为 Unix 时间戳（自 January 1 1970 00:00:00 UTC
  起的秒数），其值跟 <strong>$baseTimestamp</strong> 参数给出的时间相关，如果没有提供 <strong>$baseTimestamp</strong> 参数则为当前时
  间。在日期和时间格式中定义了日期字符串解析，并且有几个微秒的注意事项，强烈建议查看完整详细信息。
  
  本函数返回的 Unix 时间戳不包含时区信息，为了实现对日期/时间信息进行计算，推荐使用功能更强大的
  <class>DateTimeImmutable</class>。
  
  本函数的每个参数都使用默认时区，除非在该参数指定了时区。注意不要在每个参数中使用不同的时区，除非是
  故意的。参考 <strong>date_default_timezone_get()</strong> 获取定义默认时区的各种方法。

<comment>Param:</comment>
  <info>string</info>    <strong>$datetime</strong>       日期/时间字符串。正确格式的说明详见 日期与时间格式。
  <info>int|null</info>  <strong>$baseTimestamp</strong>  时间戳，用作计算相对日期的基础。

<comment>Return:</comment>
  <info>int|false</info>  成功则返回时间戳，否则返回 <info>false</info>。

<comment>See Also:</comment>
   * <class>DateTimeImmutable</class>
   * DateTimeImmutable::createFromFormat
   * 日期和时间格式
   * <strong>checkdate()</strong>
   * <strong>strptime()</strong>


id: strtoupper
type: function
doc:
<comment>Description:</comment>
  将字符串转化为大写
  
  将 <strong>$string</strong> 中所有 ASCII 字母字符转换为大写并返回。
  
  <return>"a"</return>（0x61）到 <return>"z"</return>（0x7a）范围内的字节会通过将每个字节值减 32 转为相应的大写字母。
  
  这可用于转换用 UTF-8 编码的字符串中的 ASCII 字符，但会忽略多字节 UTF-8 字符。要转换多字节非 ASCII
  字符，请使用 <strong>mb_strtoupper()</strong>。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  输入字符串。

<comment>Return:</comment>
  <info>string</info>  返回转换后的大写字符串。

<comment>See Also:</comment>
   * <strong>strtolower()</strong>
   * <strong>ucfirst()</strong>
   * <strong>ucwords()</strong>
   * <strong>mb_strtoupper()</strong>


id: strtr
type: function
doc:
<comment>Description:</comment>
  转换字符或替换字串
  
  替代签名（不支持命名参数）：
  
  如果指定三个参数，则该函数返回 <strong>$string</strong> 的副本，<strong>$from</strong> 中所有出现的每个（单字节）字符都已转换为 <strong>$to</strong>
  中的相应字符。例如，每次出现的 <return>$from[$n]</return> 都会替换为 <return>$to[$n]</return>，<return>$n</return> 是两个参数中的有效位移(offset)。
  
  如果 <strong>$from</strong> 与 <strong>$to</strong> 长度不相等，那么忽略两者中较长的多余字符。<strong>$string</strong> 的长度将与返回的长度一样。
  
  如果指定两个参数，则第二个参数应该是 <return>array('from' =&gt; 'to', ...)</return> 形式的 <info>array</info>。返回值是 <info>string</info>，
  数组中所有所有出现的键都替换为相应的值。首先会尝试最长的键。一旦子字符串被替换，则新值将不会再次搜
  索。
  
  在这种情况下，键和值可以是任意长度，前提是没有空值的键；另外，返回值的长度可以跟 <strong>$string</strong> 的长度不
  同。但是，当所有键的长度相同时，函数最有效。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>         待转换的 <info>string</info>。
  <info>string</info>  <strong>$from</strong>           要转成 <strong>$to</strong> 的 <info>string</info>。
  <info>string</info>  <strong>$to</strong>             替换 <strong>$from</strong> 的 <info>string</info>。
  <info>array</info>   <strong>$replace_pairs</strong>  参数 <strong>$replace_pairs</strong> 可以用来取代 <strong>$to</strong> 和 <strong>$from</strong> ，因为它是 <return>array('from'
                          =&gt; 'to', ...)</return> 形式的 <info>array</info>。
                          
                          如果 <strong>$replace_pairs</strong> 包含空 <info>string</info>（<return>""</return>）键，将忽略该元素；自 PHP 8.0.0 起，
                          这种情况会引发 <info>E_WARNING</info>。

<comment>Return:</comment>
  <info>string</info>  返回转换后的 <info>string</info>。

<comment>See Also:</comment>
   * <strong>str_replace()</strong>
   * <strong>preg_replace()</strong>


id: strval
type: function
doc:
<comment>Description:</comment>
  获取变量的字符串值
  
  返回变量的字符串值。参见 <info>string</info> 文档获取更多关于转换为字符串的信息。
  
  此函数对返回值不执行任何格式设置。如果需要将数值格式化字符串的方法，请参阅 <strong>sprintf()</strong> 和
  <strong>number_format()</strong>。

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  可以转换为 <info>string</info> 的变量。
                 
                 <strong>$value</strong> 可以是任何标量类型、<info>null</info> 或者实现了 __toString() 方法的对象。不能在数组或者
                 未实现 __toString() 方法的对象上使用 <strong>strval()</strong>。

<comment>Return:</comment>
  <info>string</info>  <strong>$value</strong> 的 <info>string</info> 值。

<comment>See Also:</comment>
   * <strong>boolval()</strong>
   * <strong>floatval()</strong>
   * <strong>intval()</strong>
   * <strong>settype()</strong>
   * <strong>sprintf()</strong>
   * <strong>number_format()</strong>
   * Type juggling
   * __toString()


id: substr
type: function
doc:
<comment>Description:</comment>
  返回字符串的子串
  
  返回字符串 <strong>$string</strong> 由 <strong>$offset</strong> 和 <strong>$length</strong> 参数指定的子字符串。

<comment>Param:</comment>
  <info>string</info>    <strong>$string</strong>  输入字符串。
  <info>int</info>       <strong>$offset</strong>  如果 <strong>$offset</strong> 是非负数，返回的字符串将从 <strong>$string</strong> 的 <strong>$offset</strong> 位置开始，从 0 开始
                     计算。例如，在字符串 “<return>abcdef</return>” 中，在位置 <return>0</return> 的字符是 “<return>a</return>”，位置 <return>2</return> 的字符串是 “<return>c</return>”
                     等等。
                     
                     如果 <strong>$offset</strong> 是负数，返回的字符串将从 <strong>$string</strong> 结尾处向前数第 <strong>$offset</strong> 个字符开
                     始。
                     
                     如果 <strong>$string</strong> 的长度小于 <strong>$offset</strong>，将返回空字符串。
                     
                     使用负数 <strong>$offset</strong>
                     ]]>
  <info>int|null</info>  <strong>$length</strong>  如果提供了正数的 <strong>$length</strong>，返回的字符串将从 <strong>$offset</strong> 处开始最多包括 <strong>$length</strong> 个字
                     符（取决于 <strong>$string</strong> 的长度）。
                     
                     如果提供了负数的 <strong>$length</strong>，那么 <strong>$string</strong> 末尾处的 <strong>$length</strong> 个字符将会被省略（若
                     <strong>$offset</strong> 是负数则从字符串尾部算起）。如果 <strong>$offset</strong> 不在这段文本中，那么将返回空字
                     符串。
                     
                     如果提供了值为 <return>0</return> 的 <strong>$length</strong>，那么将返回一个空字符串。
                     
                     如果忽略 <strong>$length</strong> 或为 <info>null</info>，返回的子字符串将从 <strong>$offset</strong> 位置开始直到字符串结尾。

<comment>Return:</comment>
  <info>string</info>  返回提取的 <strong>$string</strong> 部分或者空字符串。

<comment>See Also:</comment>
   * <strong>strrchr()</strong>
   * <strong>substr_replace()</strong>
   * <strong>preg_match()</strong>
   * <strong>trim()</strong>
   * <strong>mb_substr()</strong>
   * <strong>wordwrap()</strong>
   * 字符串访问和修改


id: substr_compare
type: function
doc:
<comment>Description:</comment>
  二进制安全比较字符串（从偏移位置比较指定长度）
  
  <strong>substr_compare()</strong> 从偏移位置 <strong>$offset</strong> 开始比较 <strong>$haystack</strong> 与 <strong>$needle</strong>，比较长度为 <strong>$length</strong> 个字符。

<comment>Param:</comment>
  <info>string</info>    <strong>$haystack</strong>          待比较的第一个字符串。
  <info>string</info>    <strong>$needle</strong>            待比较的第二个字符串。
  <info>int</info>       <strong>$offset</strong>            比较开始的位置。如果为负数，则从字符串结尾处开始算起。
  <info>int|null</info>  <strong>$length</strong>            比较的长度。默认值为 <strong>$needle</strong> 的长度与 <strong>$haystack</strong> 的长度减去位置偏移量
                               <strong>$offset</strong> 后二者中的较大者。
  <info>bool</info>      <strong>$case_insensitive</strong>  如果 <strong>$case_insensitive</strong> 为 <info>true</info>，比较将不区分大小写。

<comment>Return:</comment>
  <info>int</info>  如果 <strong>$haystack</strong> 从偏移位置 <strong>$offset</strong> 起的子字符串小于 <strong>$needle</strong>，则返回 <return>-1</return>；如果大于 <strong>$needle</strong>，则返
       回 <return>1</return>；如果二者相等，则返回 <return>0</return>。如果 <strong>$offset</strong> 等于（在 PHP 7.2.18, 7.3.5 之前）或大于 <strong>$haystack</strong>
       的长度，或设置 <strong>$length</strong> 小于或等于 0，<strong>substr_compare()</strong> 将打印出警告信息并且返回 <info>false</info>。

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


id: substr_count
type: function
doc:
<comment>Description:</comment>
  计算字串出现的次数
  
  <strong>substr_count()</strong> 返回子字符串 <strong>$needle</strong> 在字符串 <strong>$haystack</strong> 中出现的次数。注意 <strong>$needle</strong> 区分大小写。
  
  该函数不会计算重叠字符串！参见下面的例子。

<comment>Param:</comment>
  <info>string</info>    <strong>$haystack</strong>  在此字符串中进行搜索。
  <info>string</info>    <strong>$needle</strong>    要搜索的字符串。
  <info>int</info>       <strong>$offset</strong>    开始计数的偏移位置。如果是负数，就从字符的末尾开始统计。
  <info>int|null</info>  <strong>$length</strong>    指定偏移位置之后的最大搜索长度。如果偏移量加上这个长度的和大于 <strong>$haystack</strong> 的总
                       长度，则打印警告信息。 负数的长度 length 是从 <strong>$haystack</strong> 的末尾开始统计的。

<comment>Return:</comment>
  <info>int</info>  该函数返回 <info>int</info>。

<comment>See Also:</comment>
   * <strong>count_chars()</strong>
   * <strong>strpos()</strong>
   * <strong>substr()</strong>
   * <strong>strstr()</strong>


id: substr_replace
type: function
doc:
<comment>Description:</comment>
  替换字符串的子串
  
  <strong>substr_replace()</strong> 在字符串 <strong>$string</strong> 的副本中将由 <strong>$offset</strong> 和可选的 <strong>$length</strong> 参数限定的子字符串使用
  <strong>$replace</strong> 进行替换。

<comment>Param:</comment>
  <info>array|string</info>    <strong>$string</strong>   输入字符串。
                            
                            可以提供 <info>array</info> 类型的 <info>string</info>，会依次替换出现的字符串。在这种情况下，
                            <strong>$replace</strong>、<strong>$offset</strong> 和 <strong>$length</strong> 参数可以作为标量值依次提供给每个输入字符
                            串，或者作为 <info>array</info> 提供，然后数组元素将会相应的用于每个输入字符串。
  <info>array|string</info>    <strong>$replace</strong>  替换字符串。
  <info>array|int</info>       <strong>$offset</strong>   如果 <strong>$offset</strong> 为非负数，替换将从 <strong>$string</strong> 的 <strong>$offset</strong> 位置开始。
                            
                            如果 <strong>$offset</strong> 为负数，替换将从 <strong>$string</strong> 的倒数第 <strong>$offset</strong> 个位置开始。
  <info>array|int|null</info>  <strong>$length</strong>   如果设定了这个参数并且为正数，表示 <strong>$string</strong> 中被替换的子字符串的长度。如
                            果设定为负数，它表示待替换的子字符串结尾处距离 <strong>$string</strong> 末端的字符个数。
                            如果没有提供此参数，那么它默认为 strlen( <strong>$string</strong> )（字符串的长度）。当
                            然，如果 <strong>$length</strong> 为 0，那么这个函数的功能为将 <strong>$replace</strong> 插入到 <strong>$string</strong> 的
                            <strong>$offset</strong> 位置处。

<comment>Return:</comment>
  <info>string|array</info>  返回结果字符串。如果 <strong>$string</strong> 是个数组，那么也将返回一个数组。

<comment>See Also:</comment>
   * <strong>str_replace()</strong>
   * <strong>substr()</strong>
   * 字符串访问与修改


id: svn_add
type: function
doc:
<comment>Description:</comment>
  在工作目录列入新增项
  
  添加文件, 目录或者链接在 <strong>$path</strong> 到工作目录。将在下一次执行 <strong>svn_commit()</strong> 时把工作副本添加到项目中。

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>       添加项的路径。
                      
                      相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所
                      在目录解析, 使用<strong>realpath()</strong> 或 dirname(__FILE__)。
  <info>bool</info>    <strong>$recursive</strong>  如果添加项为目录是否递归目录下所有文件。 默认为 <info>true</info>
  <info>bool</info>    <strong>$force</strong>      如果为 true，Subversion 将递归到已版本化的目录，以添加可能隐藏在这些目录中的未
                      版本化文件。默认为 <info>false</info>

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

<comment>See Also:</comment>
   * 关于 svn add 的 SVN 文档


id: svn_auth_get_parameter
type: function
doc:
<comment>Description:</comment>
  Retrieves authentication parameter
  
  Retrieves authentication parameter at <strong>$key</strong>. For a list of valid keys and their meanings, consult
  the authentication constants list.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  String key name. Use the authentication constants defined by this extension to
                specify a key.

<comment>Return:</comment>
  <info>string</info>  Returns the string value of the parameter at <strong>$key</strong>; returns <info>null</info> if parameter does not
          exist.

<comment>See Also:</comment>
   * <strong>svn_auth_set_parameter()</strong>
   * Authentication constants


id: svn_auth_set_parameter
type: function
doc:
<comment>Description:</comment>
  Sets an authentication parameter
  
  Sets authentication parameter at <strong>$key</strong> to <strong>$value</strong>. For a list of valid keys and their meanings,
  consult the authentication constants list.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    String key name. Use the authentication constants defined by this extension to
                  specify a key.
  <info>string</info>  <strong>$value</strong>  String value to set to parameter at key. Format of value varies with the
                  parameter.

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

<comment>See Also:</comment>
   * <strong>svn_auth_get_parameter()</strong>
   * Authentication constants


id: svn_blame
type: function
doc:
<comment>Description:</comment>
  Get the SVN blame for a file
  
  Get the SVN blame of a file from a repository URL.

<comment>Param:</comment>
  <info>string</info>  <strong>$repository_url</strong>  The repository URL.
  <info>int</info>     <strong>$revision_no</strong>     The revision number.

<comment>Return:</comment>
  <info>array</info>  An <info>array</info> of SVN blame information separated by line which includes the revision number,
         line number, line of code, author, and date.

<comment>See Also:</comment>
   * <strong>svn_diff()</strong>
   * <strong>svn_logs()</strong>
   * <strong>svn_status()</strong>


id: svn_cat
type: function
doc:
<comment>Description:</comment>
  Returns the contents of a file in a repository
  
  Returns the contents of the URL <strong>$repos_url</strong> to a file in the repository, optionally at revision
  number <strong>$revision_no</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$repos_url</strong>    String URL path to item in a repository.
  <info>int</info>     <strong>$revision_no</strong>  Integer revision number of item to retrieve, default is the HEAD revision.

<comment>Return:</comment>
  <info>string</info>  Returns the string contents of the item from the repository on success, and <info>false</info> on
          failure.

<comment>See Also:</comment>
   * <strong>svn_list()</strong>
   * SVN documentation on svn cat


id: svn_checkout
type: function
doc:
<comment>Description:</comment>
  Checks out a working copy from the repository
  
  Checks out a working copy from the repository at <strong>$repos</strong> to <strong>$targetpath</strong> at revision <strong>$revision</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$repos</strong>       String URL path to directory in repository to check out.
  <info>string</info>  <strong>$targetpath</strong>  String local path to directory to check out in to
                       
                       相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所
                       在目录解析, 使用<strong>realpath()</strong> 或 dirname(__FILE__)。
  <info>int</info>     <strong>$revision</strong>    Integer revision number of repository to check out. Default is HEAD, the most
                       recent revision.
  <info>int</info>     <strong>$flags</strong>       Any combination of <info>SVN_NON_RECURSIVE</info> and <info>SVN_IGNORE_EXTERNALS</info>.

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

<comment>See Also:</comment>
   * <strong>svn_add()</strong>
   * <strong>svn_commit()</strong>
   * <strong>svn_status()</strong>
   * <strong>svn_update()</strong>
   * SVN documentation on svn checkout


id: svn_cleanup
type: function
doc:
<comment>Description:</comment>
  Recursively cleanup a working copy directory, finishing incomplete operations and removing locks
  
  Recursively cleanup working copy directory <strong>$workingdir</strong>, finishing any incomplete operations and
  removing working copy locks. Use when a working copy is in limbo and needs to be usable again.

<comment>Param:</comment>
  <info>string</info>  <strong>$workingdir</strong>  String path to local working directory to cleanup
                       
                       相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所
                       在目录解析, 使用<strong>realpath()</strong> 或 dirname(__FILE__)。

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

<comment>See Also:</comment>
   * <strong>update()</strong>
   * SVN documentation on svn cleanup


id: svn_client_version
type: function
doc:
<comment>Description:</comment>
  Returns the version of the SVN client libraries
  
  Returns the version of the SVN client libraries

<comment>Return:</comment>
  <info>string</info>  String version number, usually in form of x.y.z.


id: svn_commit
type: function
doc:
<comment>Description:</comment>
  将修改的本地文件副本发送至版本库
  
  提交本地文件副本的改变使用参数 <strong>$targets</strong> ，使用 <strong>$log</strong> 参数作为提交日志，<strong>$targets</strong> 参数默认使用递归，
  <strong>$recursive</strong> 参数设置为 <info>false</info> 将不使用递归。
  
  此方法没有指定任何认证参数，用户名和密码必须使用 <strong>svn_auth_set_parameter()</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$log</strong>        长文本的提交日志
  <info>array</info>   <strong>$targets</strong>    本地文件路径数组
                      
                      此参数必须是一个数组，一个单一字符串是不被接收的。
                      
                      相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所
                      在目录解析, 使用<strong>realpath()</strong> 或 dirname(__FILE__)。
  <info>bool</info>    <strong>$recursive</strong>  布尔类型，是否禁用 <strong>$targets</strong> 递归。默认值为 <info>true</info>

<comment>Return:</comment>
  <info>array</info>  返回数组信息如下:
         
         失败返回 <info>false</info>

<comment>See Also:</comment>
   * <strong>svn_auth_set_parameter()</strong>
   * 参见 svn 官方文档


id: svn_delete
type: function
doc:
<comment>Description:</comment>
  Delete items from a working copy or repository
  
  Deletes the file, directory or symbolic link at <strong>$path</strong> from the working directory. The item will be
  deleted from the repository the next time you call <strong>svn_commit()</strong> on the working copy.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>   Path of item to delete.
                  
                  相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所在目
                  录解析, 使用<strong>realpath()</strong> 或 dirname(__FILE__)。
  <info>bool</info>    <strong>$force</strong>  If <info>true</info>, the file will be deleted even if it has local modifications. Otherwise,
                  local modifications will result in a failure. Default is <info>false</info>

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

<comment>See Also:</comment>
   * SVN documentation on svn
    delete


id: svn_diff
type: function
doc:
<comment>Description:</comment>
  Recursively diffs two paths
  
  Recursively diffs two paths, <strong>$path1</strong> and <strong>$path2</strong>.
  
  This is not a general-purpose diff utility. Only local files that are versioned may be diffed:
  other files will fail.

<comment>Param:</comment>
  <info>string</info>  <strong>$path1</strong>  First path to diff. This can be a URL to a file/directory in an SVN repository or
                  a local file/directory path.
                  
                  相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所在目
                  录解析, 使用<strong>realpath()</strong> 或 dirname(__FILE__)。
                  
                  If a local file path has only backslashes and no forward slashes, this extension
                  will fail to find the path. Always replace all backslashes with forward slashes
                  when using this function.
  <info>int</info>     <strong>$rev1</strong>   First path's revision number. Use <info>SVN_REVISION_HEAD</info> to specify the most recent
                  revision.
  <info>string</info>  <strong>$path2</strong>  Second path to diff. See <strong>$path1</strong> for description.
  <info>int</info>     <strong>$rev2</strong>   Second path's revision number. See <strong>$rev1</strong> for description.

<comment>Return:</comment>
  <info>array</info>  Returns an array-list consisting of two streams: the first is the diff output and the
         second contains error stream output. The streams can be read using <strong>fread()</strong>. Returns <info>false</info>
         or <info>null</info> on error.
         
         The diff output will, by default, be in the form of Subversion's custom unified diff
         format, but an external diff engine may be used depending on Subversion's configuration.

<comment>See Also:</comment>
   * SVN documentation on svn diff


id: svn_export
type: function
doc:
<comment>Description:</comment>
  Export the contents of a SVN directory
  
  Export the contents of either a working copy or repository into a 'clean' directory.

<comment>Param:</comment>
  <info>string</info>  <strong>$frompath</strong>      The path to the current repository.
  <info>string</info>  <strong>$topath</strong>        The path to the new repository.
  <info>bool</info>    <strong>$working_copy</strong>  If <info>true</info>, it will export uncommitted files from the working copy.

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

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


id: svn_fs_abort_txn
type: function
doc:
<comment>Description:</comment>
  Aborts a transaction
  
  本函数还未编写文档，仅有参数列表。
  
  Aborts a transaction.

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

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


id: svn_fs_apply_text
type: function
doc:
<comment>Description:</comment>
  Creates and returns a stream that will be used to replace
  
  本函数还未编写文档，仅有参数列表。
  
  Creates and returns a stream that will be used to replace

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


id: svn_fs_begin_txn2
type: function
doc:
<comment>Description:</comment>
  Create a new transaction
  
  本函数还未编写文档，仅有参数列表。
  
  Create a new transaction

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


id: svn_fs_change_node_prop
type: function
doc:
<comment>Description:</comment>
  Return true if everything is ok, false otherwise
  
  本函数还未编写文档，仅有参数列表。
  
  Return true if everything is ok, false otherwise

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


id: svn_fs_check_path
type: function
doc:
<comment>Description:</comment>
  Determines what kind of item lives at path in a given repository fsroot
  
  本函数还未编写文档，仅有参数列表。
  
  Determines what kind of item lives at path in a given repository fsroot

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


id: svn_fs_contents_changed
type: function
doc:
<comment>Description:</comment>
  Return true if content is different, false otherwise
  
  本函数还未编写文档，仅有参数列表。
  
  Return true if content is different, false otherwise

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


id: svn_fs_copy
type: function
doc:
<comment>Description:</comment>
  Copies a file or a directory
  
  本函数还未编写文档，仅有参数列表。
  
  Copies a file or a directory.

<comment>Param:</comment>
  <info>resource</info>  <strong>$from_root</strong>  
  <info>string</info>    <strong>$from_path</strong>  
  <info>resource</info>  <strong>$to_root</strong>    
  <info>string</info>    <strong>$to_path</strong>    

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


id: svn_fs_delete
type: function
doc:
<comment>Description:</comment>
  Deletes a file or a directory
  
  本函数还未编写文档，仅有参数列表。
  
  Deletes a file or a directory.

<comment>Param:</comment>
  <info>resource</info>  <strong>$root</strong>  
  <info>string</info>    <strong>$path</strong>  

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


id: svn_fs_dir_entries
type: function
doc:
<comment>Description:</comment>
  Enumerates the directory entries under path; returns a hash of dir names to file type
  
  本函数还未编写文档，仅有参数列表。
  
  Enumerates the directory entries under path; returns a hash of dir names to file type

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


id: svn_fs_file_contents
type: function
doc:
<comment>Description:</comment>
  Returns a stream to access the contents of a file from a given version of the fs
  
  本函数还未编写文档，仅有参数列表。
  
  Returns a stream to access the contents of a file from a given version of the fs

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


id: svn_fs_file_length
type: function
doc:
<comment>Description:</comment>
  Returns the length of a file from a given version of the fs
  
  本函数还未编写文档，仅有参数列表。
  
  Returns the length of a file from a given version of the fs

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


id: svn_fs_is_dir
type: function
doc:
<comment>Description:</comment>
  Determines if a path points to a directory
  
  本函数还未编写文档，仅有参数列表。
  
  Determines if the given path points to a directory.

<comment>Param:</comment>
  <info>resource</info>  <strong>$root</strong>  
  <info>string</info>    <strong>$path</strong>  

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the path points to a directory, <info>false</info> otherwise.


id: svn_fs_is_file
type: function
doc:
<comment>Description:</comment>
  Determines if a path points to a file
  
  本函数还未编写文档，仅有参数列表。
  
  Determines if the given path points to a file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$root</strong>  
  <info>string</info>    <strong>$path</strong>  

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the path points to a file, <info>false</info> otherwise.


id: svn_fs_make_dir
type: function
doc:
<comment>Description:</comment>
  Creates a new empty directory
  
  本函数还未编写文档，仅有参数列表。
  
  Creates a new empty directory.

<comment>Param:</comment>
  <info>resource</info>  <strong>$root</strong>  
  <info>string</info>    <strong>$path</strong>  

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


id: svn_fs_make_file
type: function
doc:
<comment>Description:</comment>
  Creates a new empty file
  
  本函数还未编写文档，仅有参数列表。
  
  Creates a new empty file.

<comment>Param:</comment>
  <info>resource</info>  <strong>$root</strong>  
  <info>string</info>    <strong>$path</strong>  

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


id: svn_fs_node_created_rev
type: function
doc:
<comment>Description:</comment>
  Returns the revision in which path under fsroot was created
  
  本函数还未编写文档，仅有参数列表。
  
  Returns the revision in which path under fsroot was created

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


id: svn_fs_node_prop
type: function
doc:
<comment>Description:</comment>
  Returns the value of a property for a node
  
  本函数还未编写文档，仅有参数列表。
  
  Returns the value of a property for a node

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


id: svn_fs_props_changed
type: function
doc:
<comment>Description:</comment>
  Return true if props are different, false otherwise
  
  本函数还未编写文档，仅有参数列表。
  
  Return true if props are different, false otherwise

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


id: svn_fs_revision_prop
type: function
doc:
<comment>Description:</comment>
  Fetches the value of a named property
  
  本函数还未编写文档，仅有参数列表。
  
  Fetches the value of a named property

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


id: svn_fs_revision_root
type: function
doc:
<comment>Description:</comment>
  Get a handle on a specific version of the repository root
  
  本函数还未编写文档，仅有参数列表。
  
  Get a handle on a specific version of the repository root

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


id: svn_fs_txn_root
type: function
doc:
<comment>Description:</comment>
  Creates and returns a transaction root
  
  本函数还未编写文档，仅有参数列表。
  
  Creates and returns a transaction root

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


id: svn_fs_youngest_rev
type: function
doc:
<comment>Description:</comment>
  Returns the number of the youngest revision in the filesystem
  
  本函数还未编写文档，仅有参数列表。
  
  Returns the number of the youngest revision in the filesystem

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


id: svn_import
type: function
doc:
<comment>Description:</comment>
  Imports an unversioned path into a repository
  
  Commits unversioned <strong>$path</strong> into repository at <strong>$url</strong>. If <strong>$path</strong> is a directory and <strong>$nonrecursive</strong> is
  <info>false</info>,  the directory will be imported recursively.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>          Path of file or directory to import.
                         
                         相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本
                         所在目录解析, 使用<strong>realpath()</strong> 或 dirname(__FILE__)。
  <info>string</info>  <strong>$url</strong>           Repository URL to import into.
  <info>bool</info>    <strong>$nonrecursive</strong>  Whether or not to refrain from recursively processing directories.

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

<comment>See Also:</comment>
   * <strong>svn_add()</strong>
   * SVN documentation for svn import


id: svn_log
type: function
doc:
<comment>Description:</comment>
  Returns the commit log messages of a repository URL
  
  <strong>svn_log()</strong> returns the complete history of the item at the repository URL <strong>$repos_url</strong>, or the
  history of a specific revision if <strong>$start_revision</strong> is set. This function is equivalent to svn log
  --verbose -r $start_revision $repos_url.

<comment>Param:</comment>
  <info>string</info>  <strong>$repos_url</strong>       Repository URL of the item to retrieve log history from.
  <info>int</info>     <strong>$start_revision</strong>  Revision number of the first log to retrieve. Use <info>SVN_REVISION_HEAD</info> to
                           retrieve the log from the most recent revision.
  <info>int</info>     <strong>$end_revision</strong>    Revision number of the last log to retrieve. Defaults to <strong>$start_revision</strong>
                           if specified or to <info>SVN_REVISION_INITIAL</info> otherwise.
  <info>int</info>     <strong>$limit</strong>           Number of logs to retrieve.
  <info>int</info>     <strong>$flags</strong>           Any combination of <info>SVN_OMIT_MESSAGES</info>, <info>SVN_DISCOVER_CHANGED_PATHS</info> and
                           <info>SVN_STOP_ON_COPY</info>.

<comment>Return:</comment>
  <info>array</info>  On success, this function returns an array file listing in the format of:  Array, ordered
         most recent (highest) revision first
         ( [rev] => integer revision number [author] => string author name [msg] => string log
         message [date] => string date formatted per ISO 8601, i.e. date('c') [paths] => Array,
         describing changed files ( [0] => Array ( [action] => string letter signifying change
         [path] =>  absolute repository path of changed file ) [1] => ... )
         )
         [1] => ...
         ]]>
         
         The output will always be a numerically indexed array of arrays, even when there are none
         or only one log message(s).
         
         The value of action is a subset of the status output in the first column, where possible
         values are:
         
         If no changes were made to the item, an empty array is returned.

<comment>See Also:</comment>
   * 
      SVN documentation on svn log
     


id: svn_ls
type: function
doc:
<comment>Description:</comment>
  Returns list of directory contents in repository URL, optionally at revision number
  
  This function queries the repository URL and returns a list of files and directories, optionally
  from a specific revision. This is equivalent to svn list $repos_url[@$revision_no]
  
  This function does not work with working copies. <strong>$repos_url</strong> must be a repository URL.

<comment>Param:</comment>
  <info></info>      <strong>$url</strong>       URL of the repository, eg. http://www.example.com/svnroot. To access a local
                   Subversion repository via filesystem, use the file URI scheme, eg.
                   file:///home/user/svn-repos
  <info></info>      <strong>$revision</strong>  Integer revision number to retrieve listing of. When omitted, the HEAD revision
                   is used.
  <info>bool</info>  <strong>$recurse</strong>   Enables recursion.

<comment>Return:</comment>
  <info>array</info>  On success, this function returns an array file listing in the format of:  Array (
         [created_rev] => integer revision number of last edit [last_author] => string author name
         of last edit [size] => integer byte file size of file [time] => string date of last edit in
         form 'M d H:i' or 'M d Y', depending on how old the file is [time_t] => integer unix
         timestamp of last edit [name] => name of file/directory [type] => type, can be 'file' or
         'dir' )
         [1] => ...
         ]]>

<comment>See Also:</comment>
   * SVN documentation on svn list


id: svn_mkdir
type: function
doc:
<comment>Description:</comment>
  Creates a directory in a working copy or repository
  
  Creates a directory in a working copy or repository.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  The path to the working copy or repository.

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

<comment>See Also:</comment>
   * <strong>svn_add()</strong>
   * <strong>svn_copy()</strong>


id: svn_repos_create
type: function
doc:
<comment>Description:</comment>
  Create a new subversion repository at path
  
  本函数还未编写文档，仅有参数列表。
  
  Create a new subversion repository at path

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


id: svn_repos_fs
type: function
doc:
<comment>Description:</comment>
  Gets a handle on the filesystem for a repository
  
  本函数还未编写文档，仅有参数列表。
  
  Gets a handle on the filesystem for a repository

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


id: svn_repos_fs_commit_txn
type: function
doc:
<comment>Description:</comment>
  Commits a transaction and returns the new revision
  
  本函数还未编写文档，仅有参数列表。
  
  Commits a transaction and returns the new revision

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


id: svn_repos_hotcopy
type: function
doc:
<comment>Description:</comment>
  Make a hot-copy of the repos at repospath; copy it to destpath
  
  本函数还未编写文档，仅有参数列表。
  
  Make a hot-copy of the repos at repospath; copy it to destpath

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


id: svn_repos_open
type: function
doc:
<comment>Description:</comment>
  Open a shared lock on a repository
  
  本函数还未编写文档，仅有参数列表。
  
  Open a shared lock on a repository.

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


id: svn_repos_recover
type: function
doc:
<comment>Description:</comment>
  Run recovery procedures on the repository located at path
  
  本函数还未编写文档，仅有参数列表。
  
  Run recovery procedures on the repository located at path.

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


id: svn_revert
type: function
doc:
<comment>Description:</comment>
  Revert changes to the working copy
  
  Revert any local changes to the path in a working copy.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>       The path to the working repository.
  <info>bool</info>    <strong>$recursive</strong>  Optionally make recursive changes.

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

<comment>See Also:</comment>
   * <strong>svn_delete()</strong>
   * <strong>svn_export()</strong>


id: svn_status
type: function
doc:
<comment>Description:</comment>
  Returns the status of working copy files and directories
  
  Returns the status of working copy files and directories, giving modifications, additions,
  deletions and other changes to items in the working copy.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>   Local path to file or directory to retrieve status of.
                  
                  相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所在目
                  录解析, 使用<strong>realpath()</strong> 或 dirname(__FILE__)。
  <info>int</info>     <strong>$flags</strong>  Any combination of <info>Svn::NON_RECURSIVE</info>, <info>Svn::ALL</info> (regardless of modification
                  status), <info>Svn::SHOW_UPDATES</info> (entries will be added for items that are out-of-date),
                  <info>Svn::NO_IGNORE</info> (disregard <return>svn:ignore</return> properties when scanning for new files) and
                  <info>Svn::IGNORE_EXTERNALS</info>.

<comment>Return:</comment>
  <info>array</info>  Returns a numerically indexed array of associative arrays detailing the status of items in
         the repository:
         
         The information on the item is an associative array that can contain the following keys:
         
         String path to file/directory of this entry on local filesystem.
         
         Status of item's text. 参见 状态常量列表 获得可能的值.
         
         Status of item's text in repository. Only accurate if <strong>$update</strong> was set to <info>true</info>. 参见 状态常
         量列表 获得可能的值.
         
         Status of item's properties. 参见 状态常量列表 获得可能的值.
         
         Status of item's property in repository. Only accurate if <strong>$update</strong> was set to <info>true</info>. 参见 状
         态常量列表 获得可能的值.
         
         Whether or not the item is locked. (Only set if <info>true</info>.)
         
         Whether or not the item was copied (scheduled for addition with history). (Only set if
         <info>true</info>.)
         
         Whether or not the item was switched using the switch command. (Only set if <info>true</info>)
         
         These keys are only set if the item is versioned:
         
         Base name of item in repository.
         
         URL of item in repository.
         
         Base URL of repository.
         
         Integer revision of item in working copy.
         
         Type of item, i.e. file or directory. 参见 类型常量列表 获取可能的值.
         
         Scheduled action for item, i.e. addition or deletion. Constants for these magic numbers are
         not available, they can be emulated by using:
         
         Whether or not the item was deleted, but parent revision lags behind. (Only set if <info>true</info>.)
         
         Whether or not the item is absent, that is, Subversion knows that there should be something
         there but there isn't. (Only set if <info>true</info>.)
         
         Whether or not the entries file for a directory is incomplete. (Only set if <info>true</info>.)
         
         Integer Unix timestamp of last commit date. (Unaffected by <strong>$update</strong>.)
         
         Integer revision of last commit. (Unaffected by <strong>$update</strong>.)
         
         String author of last commit. (Unaffected by <strong>$update</strong>.)
         
         Integer Unix timestamp of last up-to-date time for properties
         
         Integer Unix timestamp of last up-to-date time for text

<comment>See Also:</comment>
   * <strong>svn_update()</strong>
   * <strong>svn_log()</strong>
   * SVN documentation for svn status


id: svn_update
type: function
doc:
<comment>Description:</comment>
  Update working copy
  
  Update working copy at <strong>$path</strong> to revision <strong>$revno</strong>. If <strong>$recurse</strong> is true, directories will be
  recursively updated.

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>     Path to local working copy.
                    
                    相对路径将会以PHP执行文件所在目录作为当前工作目录进行解析。如果希望依据脚本所在
                    目录解析, 使用<strong>realpath()</strong> 或 dirname(__FILE__)。
  <info>int</info>     <strong>$revno</strong>    Revision number to update to, default is <info>SVN_REVISION_HEAD</info>.
  <info>bool</info>    <strong>$recurse</strong>  Whether or not to recursively update directories.

<comment>Return:</comment>
  <info>int</info>  Returns new revision number on success, returns <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>svn_checkout()</strong>
   * <strong>svn_commit()</strong>
   * SVN documentation for svn update


id: swoole_async_dns_lookup
type: function
doc:
<comment>Description:</comment>
  Async and non-blocking hostname to IP lookup

<comment>Param:</comment>
  <info>string</info>    <strong>$hostname</strong>  The host name.
  <info>callable</info>  <strong>$callback</strong>  The host name.
                       
                       The IP address.
  <info>string</info>    <strong>$hostname</strong>  The host name.
  <info></info>          <strong>$IP</strong>        The IP address.

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


id: swoole_async_read
type: function
doc:
<comment>Description:</comment>
  Read file stream asynchronously

<comment>Param:</comment>
  <info>string</info>    <strong>$filename</strong>    The filename of the file being read.
  <info>callable</info>  <strong>$callback</strong>    The name of the file.
                         
                         The content readed from the file stream.
  <info>string</info>    <strong>$filename</strong>    The name of the file.
  <info>string</info>    <strong>$content</strong>     The content readed from the file stream.
  <info>int</info>       <strong>$chunk_size</strong>  The chunk length.
  <info>int</info>       <strong>$offset</strong>      The offset.

<comment>Return:</comment>
  <info>bool</info>  Whether the read is succeed.


id: swoole_async_readfile
type: function
doc:
<comment>Description:</comment>
  Read a file asynchronously

<comment>Param:</comment>
  <info>string</info>    <strong>$filename</strong>  The filename of the file being read.
  <info>callable</info>  <strong>$callback</strong>  The name of the file.
                       
                       The content read from the file.
  <info>string</info>    <strong>$filename</strong>  The name of the file.
  <info>string</info>    <strong>$content</strong>   The content read from the file.

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


id: swoole_async_set
type: function
doc:
<comment>Description:</comment>
  Update the async I/O options

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

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


id: swoole_async_write
type: function
doc:
<comment>Description:</comment>
  Write data to a file stream asynchronously

<comment>Param:</comment>
  <info>string</info>    <strong>$filename</strong>  The filename being written.
  <info>string</info>    <strong>$content</strong>   The content writing to the file.
  <info>int</info>       <strong>$offset</strong>    The offset.
  <info>callable</info>  <strong>$callback</strong>  

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


id: swoole_async_writefile
type: function
doc:
<comment>Description:</comment>
  Write data to a file asynchronously

<comment>Param:</comment>
  <info>string</info>    <strong>$filename</strong>  The filename being written.
  <info>string</info>    <strong>$content</strong>   The content writing to the file.
  <info>callable</info>  <strong>$callback</strong>  
  <info>int</info>       <strong>$flags</strong>     

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


id: swoole_clear_error
type: function
doc:
<comment>Description:</comment>
  Clear errors in the socket or on the last error code
  
  Clear errors in the socket or on the last error code.

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


id: swoole_client_select
type: function
doc:
<comment>Description:</comment>
  Get the file description which are ready to read/write or error

<comment>Param:</comment>
  <info>array</info>  <strong>$read_array</strong>   
  <info>array</info>  <strong>$write_array</strong>  
  <info>array</info>  <strong>$error_array</strong>  
  <info>float</info>  <strong>$timeout</strong>      

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


id: swoole_cpu_num
type: function
doc:
<comment>Description:</comment>
  Get the number of CPU

<comment>Return:</comment>
  <info>int</info>  The number of CPU.


id: swoole_errno
type: function
doc:
<comment>Description:</comment>
  Get the error code of the latest system call

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


id: swoole_error_log
type: function
doc:
<comment>Description:</comment>
  Output error messages to the log
  
  Output error messages to the log.

<comment>Param:</comment>
  <info>int</info>     <strong>$level</strong>  Log Level, constants can be used: <info>SWOOLE_LOG_DEBUG</info>, <info>SWOOLE_LOG_TRACE</info>,
                  <info>SWOOLE_LOG_INFO</info>, <info>SWOOLE_LOG_NOTICE</info>, <info>SWOOLE_LOG_WARNING</info>, <info>SWOOLE_LOG_ERROR</info>,
                  <info>SWOOLE_LOG_NONE</info>
  <info>string</info>  <strong>$msg</strong>    Message content to be written to the log.

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


id: swoole_event_add
type: function
doc:
<comment>Description:</comment>
  Add new callback functions of a socket into the EventLoop

<comment>Param:</comment>
  <info>int</info>       <strong>$fd</strong>              
  <info>callable</info>  <strong>$read_callback</strong>   
  <info>callable</info>  <strong>$write_callback</strong>  
  <info>int</info>       <strong>$events</strong>          

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


id: swoole_event_defer
type: function
doc:
<comment>Description:</comment>
  Add callback function to the next event loop

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  

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


id: swoole_event_del
type: function
doc:
<comment>Description:</comment>
  Remove all event callback functions of a socket

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

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


id: swoole_event_exit
type: function
doc:
<comment>Description:</comment>
  Exit the eventloop, only available at the client side

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


id: swoole_event_set
type: function
doc:
<comment>Description:</comment>
  Update the event callback functions of a socket

<comment>Param:</comment>
  <info>int</info>       <strong>$fd</strong>              
  <info>callable</info>  <strong>$read_callback</strong>   
  <info>callable</info>  <strong>$write_callback</strong>  
  <info>int</info>       <strong>$events</strong>          

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


id: swoole_event_wait
type: function
doc:
<comment>Description:</comment>
  Start the event loop

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


id: swoole_event_write
type: function
doc:
<comment>Description:</comment>
  Write data to a socket

<comment>Param:</comment>
  <info>int</info>     <strong>$fd</strong>    
  <info>string</info>  <strong>$data</strong>  

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


id: swoole_get_local_ip
type: function
doc:
<comment>Description:</comment>
  Get the IPv4 IP addresses of each NIC on the machine

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


id: swoole_last_error
type: function
doc:
<comment>Description:</comment>
  Get the lastest error message

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


id: swoole_load_module
type: function
doc:
<comment>Description:</comment>
  Load a swoole extension

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


id: swoole_select
type: function
doc:
<comment>Description:</comment>
  Select the file descriptions which are ready to read/write or error in the eventloop

<comment>Param:</comment>
  <info>array</info>  <strong>$read_array</strong>   
  <info>array</info>  <strong>$write_array</strong>  
  <info>array</info>  <strong>$error_array</strong>  
  <info>float</info>  <strong>$timeout</strong>      

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


id: swoole_set_process_name
type: function
doc:
<comment>Description:</comment>
  Set the process name

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

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


id: swoole_strerror
type: function
doc:
<comment>Description:</comment>
  Convert the Errno into error messages

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

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


id: swoole_timer_after
type: function
doc:
<comment>Description:</comment>
  Trigger a one time callback function in the future

<comment>Param:</comment>
  <info>int</info>       <strong>$ms</strong>        
  <info>callable</info>  <strong>$callback</strong>  
  <info>mixed</info>     <strong>$param</strong>     

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


id: swoole_timer_exists
type: function
doc:
<comment>Description:</comment>
  Check if a timer callback function is existed

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

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


id: swoole_timer_tick
type: function
doc:
<comment>Description:</comment>
  Trigger a timer tick callback function by time interval

<comment>Param:</comment>
  <info>int</info>       <strong>$ms</strong>        
  <info>callable</info>  <strong>$callback</strong>  

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


id: swoole_version
type: function
doc:
<comment>Description:</comment>
  Get the version of Swoole

<comment>Return:</comment>
  <info>string</info>  The version of Swoole.


id: symlink
type: function
doc:
<comment>Description:</comment>
  建立符号连接
  
  <strong>symlink()</strong> 对于已有的 <strong>$target</strong> 建立一个名为 <strong>$link</strong> 的符号连接。

<comment>Param:</comment>
  <info>string</info>  <strong>$target</strong>  连接的目标。
  <info>string</info>  <strong>$link</strong>    连接的名称。

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

<comment>See Also:</comment>
   * <strong>link()</strong>
   * <strong>readlink()</strong>
   * <strong>linkinfo()</strong>
   * <strong>unlink()</strong>


id: sys_get_temp_dir
type: function
doc:
<comment>Description:</comment>
  返回用于临时文件的目录
  
  返回 PHP 储存临时文件的默认目录的路径。

<comment>Return:</comment>
  <info>string</info>  返回临时目录的路径。

<comment>See Also:</comment>
   * <strong>tmpfile()</strong>
   * <strong>tempnam()</strong>


id: sys_getloadavg
type: function
doc:
<comment>Description:</comment>
  获取系统的负载（load average）
  
  返回三个系统负载（系统运行队列中的进程数）的样本数据，分别是 1 分钟、5 分钟和 15 分钟之前。失败时
  返回 <info>false</info>。

<comment>Return:</comment>
  <info>array|false</info>  返回一个包含 1 分钟、5 分钟和 15 分钟之前采样数据的 <info>array</info>。


id: syslog
type: function
doc:
<comment>Description:</comment>
  Generate a system log message
  
  <strong>syslog()</strong> generates a log message that will be distributed by the system logger.
  
  For information on setting up a user defined log handler, see the syslog.conf5 Unix manual page.
  More information on the syslog facilities and option can be found in the man pages for syslog3 on
  Unix machines.

<comment>Param:</comment>
  <info>int</info>     <strong>$priority</strong>  <strong>$priority</strong> is a combination of the facility and the level. Possible values are:
                     <strong>syslog()</strong> Priorities (in descending order)ConstantDescription<info>LOG_EMERG</info>system is
                     unusable<info>LOG_ALERT</info>action must be taken immediately<info>LOG_CRIT</info>critical
                     conditions<info>LOG_ERR</info>error conditions<info>LOG_WARNING</info>warning conditions<info>LOG_NOTICE</info>normal,
                     but significant, condition<info>LOG_INFO</info>informational message<info>LOG_DEBUG</info>debug-level
                     message
  <info>string</info>  <strong>$message</strong>   The message to send.

<comment>Return:</comment>
  <info>true</info>  总是返回 <info>true</info>。

<comment>See Also:</comment>
   * <strong>openlog()</strong>
   * <strong>closelog()</strong>
   * syslog.filter INI setting (starting with PHP 7.3)


id: system
type: function
doc:
<comment>Description:</comment>
  执行外部程序，并且显示输出
  
  同 C 版本的 <strong>system()</strong> 函数一样，本函数执行 <strong>$command</strong> 参数所指定的命令，并且输出执行结果。
  
  如果 PHP 运行在服务器模块中，<strong>system()</strong> 函数还会尝试在每行输出完毕之后，自动刷新 web 服务器的输出缓
  存。
  
  如果要获取一个命令未经任何处理的原始输出，请使用 <strong>passthru()</strong> 函数。

<comment>Param:</comment>
  <info>string</info>  <strong>$command</strong>      要执行的命令。
  <info>int</info>     <strong>$result_code</strong>  如果提供 <strong>$result_code</strong> 参数，则外部命令执行后的返回状态将会被设置到此变量中。

<comment>Return:</comment>
  <info>string|false</info>  成功则返回命令输出的最后一行，失败则返回 <info>false</info>

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


id: taint
type: function
doc:
<comment>Description:</comment>
  Taint a string
  
  Make a string tainted. This is used for testing purpose only.

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

<comment>Return:</comment>
  <info>bool</info>  Return TRUE if the transformation is done. Always return TRUE if the taint extension is not
        enabled.


id: tan
type: function
doc:
<comment>Description:</comment>
  正切
  
  <strong>tan()</strong> 返回参数 <strong>$num</strong> 的正切值。参数 <strong>$num</strong> 的单位为弧度。

<comment>Param:</comment>
  <info>float</info>  <strong>$num</strong>  要处理的以弧度为单位的参数

<comment>Return:</comment>
  <info>float</info>  <strong>$num</strong> 的正切值

<comment>See Also:</comment>
   * <strong>atan()</strong>
   * <strong>atan2()</strong>
   * <strong>sin()</strong>
   * <strong>cos()</strong>
   * <strong>tanh()</strong>
   * <strong>deg2rad()</strong>


id: tanh
type: function
doc:
<comment>Description:</comment>
  双曲正切
  
  返回 <strong>$num</strong> 的双曲正切值，定义为 <return>sinh($num)/cosh($num)</return>。

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

<comment>Return:</comment>
  <info>float</info>  <strong>$num</strong> 的双曲正切值

<comment>See Also:</comment>
   * <strong>tan()</strong>
   * <strong>atanh()</strong>
   * <strong>sinh()</strong>
   * <strong>cosh()</strong>


id: tcpwrap_check
type: function
doc:
<comment>Description:</comment>
  Performs a tcpwrap check
  
  This function consults the /etc/hosts.allow and  /etc/hosts.deny files to check if access to
  service  <strong>$daemon</strong> should be granted or denied for a client.

<comment>Param:</comment>
  <info>string</info>  <strong>$daemon</strong>   The service name.
  <info>string</info>  <strong>$address</strong>  The client remote address. Can be either an IP address or a domain name.
  <info>string</info>  <strong>$user</strong>     An optional user name.
  <info>bool</info>    <strong>$nodns</strong>    If <strong>$address</strong> looks like domain name then DNS is  used to resolve it to IP
                    address; set <strong>$nodns</strong> to  <info>true</info> to avoid this.

<comment>Return:</comment>
  <info>bool</info>  This function returns <info>true</info> if access should be granted, <info>false</info> otherwise.


id: tempnam
type: function
doc:
<comment>Description:</comment>
  建立一个具有唯一文件名的文件
  
  在指定目录中建立一个具有唯一文件名的文件。如果该目录不存在或不可写，<strong>tempnam()</strong> 会在系统临时目录中生
  成一个文件，并返回该文件包含文件名的完整路径。

<comment>Param:</comment>
  <info>string</info>  <strong>$directory</strong>  将在其中创建临时文件名的目录。
  <info>string</info>  <strong>$prefix</strong>     产生临时文件的前缀。
                      
                      仅使用前缀的前 63 个字符，忽略其它字符。Windows 仅使用前缀的前三个字符。

<comment>Return:</comment>
  <info>string|false</info>  返回新的带路径的临时文件名，出错返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>tmpfile()</strong>
   * <strong>sys_get_temp_dir()</strong>
   * <strong>unlink()</strong>


id: textdomain
type: function
doc:
<comment>Description:</comment>
  Sets the default domain
  
  This function sets the domain to search within when calls are made to <strong>gettext()</strong>, usually the named
  after an application.

<comment>Param:</comment>
  <info>string|null</info>  <strong>$domain</strong>  The new message domain, or <info>null</info> to get the current setting without changing
                        it

<comment>Return:</comment>
  <info>string</info>  If successful, this function returns the current message domain, after possibly changing
          it.


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

<comment>Param:</comment>
  <info>string|null</info>        <strong>$filename</strong>        If the <strong>$filename</strong> parameter is given, this function will also
                                      read that file and initialize the object with the file, acting
                                      like <strong>tidy_parse_file()</strong>.
  <info>array|string|null</info>  <strong>$config</strong>          The config <strong>$config</strong> can be passed either as an array or as a
                                      string. If a string is passed, it is interpreted as the name
                                      of the configuration file, otherwise, it is interpreted as the
                                      options themselves.
                                      
                                      For an explanation about each option, visit
                                      http://api.html-tidy.org/#quick-reference.
  <info>string|null</info>        <strong>$encoding</strong>        The <strong>$encoding</strong> parameter sets the encoding for input/output
                                      documents. The possible values for encoding  are:  <return>ascii</return>,
                                      <return>latin0</return>, <return>latin1</return>, <return>raw</return>, <return>utf8</return>, <return>iso2022</return>, <return>mac</return>, <return>win1252</return>, <return>ibm858</return>,
                                      <return>utf16</return>, <return>utf16le</return>, <return>utf16be</return>, <return>big5</return>, and <return>shiftjis</return>.
  <info>bool</info>               <strong>$useIncludePath</strong>  Search for the file in the include_path.

<comment>See Also:</comment>
   * <strong>tidy::parseFile()</strong>
   * <strong>tidy::parseString()</strong>


id: tidy::body
type: function
doc:
<comment>Description:</comment>
  Returns a tidyNode object starting from the  tag of the tidy parse tree
  
  面向对象风格
  
  过程化风格
  
  Returns a <class>tidyNode</class> object starting from the  \<body&gt; tag of the tidy parse tree.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>tidyNode|null</info>  Returns a <class>tidyNode</class> object starting from the  \<body&gt; tag of the tidy parse tree.

<comment>See Also:</comment>
   * <strong>tidy::head()</strong>
   * <strong>tidy::html()</strong>


id: tidy::cleanRepair
type: function
doc:
<comment>Description:</comment>
  Execute configured cleanup and repair operations on parsed markup
  
  面向对象风格
  
  过程化风格
  
  This function cleans and repairs the given tidy <strong>$tidy</strong>.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

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

<comment>See Also:</comment>
   * <strong>tidy::repairFile()</strong>
   * <strong>tidy::repairString()</strong>


id: tidy::diagnose
type: function
doc:
<comment>Description:</comment>
  Run configured diagnostics on parsed and repaired markup
  
  面向对象风格
  
  过程化风格
  
  Runs diagnostic tests on the given tidy <strong>$tidy</strong>, adding some more information about the document in
  the error buffer.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

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

<comment>See Also:</comment>
   * <strong>tidy::errorBuffer()</strong>


id: tidy::getConfig
type: function
doc:
<comment>Description:</comment>
  Get current Tidy configuration
  
  面向对象风格
  
  过程化风格
  
  Gets the list of the configuration options in use by the given tidy <strong>$tidy</strong>.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>array</info>  Returns an array of configuration options.
         
         For an explanation about each option, visit http://api.html-tidy.org/#quick-reference.

<comment>See Also:</comment>
   * <strong>tidy_reset_config()</strong>
   * <strong>tidy_save_config()</strong>


id: tidy::getHtmlVer
type: function
doc:
<comment>Description:</comment>
  Get the Detected HTML version for the specified document
  
  面向对象风格
  
  过程化风格
  
  Returns the detected HTML version for the specified tidy <strong>$tidy</strong>.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>int</info>  Returns the detected HTML version.
       
       This function is not yet implemented in the Tidylib itself, so it always return <return>0</return>.


id: tidy::getOpt
type: function
doc:
<comment>Description:</comment>
  Returns the value of the specified configuration option for the tidy document
  
  面向对象风格
  
  过程化风格
  
  Returns the value of the specified <strong>$option</strong> for the specified tidy <strong>$tidy</strong>.

<comment>Param:</comment>
  <info>tidy</info>    <strong>$tidy</strong>    The <class>Tidy</class> 对象。
  <info>string</info>  <strong>$option</strong>  You will find a list with each configuration option and their types at:
                   http://api.html-tidy.org/#quick-reference.

<comment>Return:</comment>
  <info>string|int|bool</info>  Returns the value of the specified <strong>$option</strong>. The return type depends on the type
                   of the specified one.


id: tidy::getOptDoc
type: function
doc:
<comment>Description:</comment>
  Returns the documentation for the given option name
    
  
  面向对象风格
  
  过程化风格
  
  <strong>tidy_get_opt_doc()</strong> returns the documentation for the given option name.
  
  You need at least libtidy from 25 April, 2005 for this function be available.

<comment>Param:</comment>
  <info>tidy</info>    <strong>$tidy</strong>    The <class>Tidy</class> 对象。
  <info>string</info>  <strong>$option</strong>  The option name

<comment>Return:</comment>
  <info>string|false</info>  Returns a string if the option exists and has documentation available, or <info>false</info>
                otherwise.

<comment>See Also:</comment>
   * <strong>tidy::getconfig()</strong>
   * <strong>tidy::getopt()</strong>


id: tidy::getRelease
type: function
doc:
<comment>Description:</comment>
  Get release date (version) for Tidy library
  
  面向对象风格
  
  过程化风格
  
  Gets the release date of the Tidy library.

<comment>Return:</comment>
  <info>string</info>  Returns a string with the release date of the Tidy library, which may be 'unknown'.


id: tidy::getStatus
type: function
doc:
<comment>Description:</comment>
  Get status of specified document
  
  面向对象风格
  
  过程化风格
  
  Returns the status for the specified tidy <strong>$tidy</strong>.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>int</info>  Returns 0 if no error/warning was raised, 1 for warnings or accessibility errors, or 2 for
       errors.


id: tidy::head
type: function
doc:
<comment>Description:</comment>
  Returns a tidyNode object starting from the  tag of the tidy parse tree
  
  面向对象风格
  
  过程化风格
  
  Returns a <class>tidyNode</class> object starting from the \<head&gt; tag of the tidy parse tree.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>tidyNode|null</info>  Returns the <class>tidyNode</class> object.

<comment>See Also:</comment>
   * <strong>tidy::body()</strong>
   * <strong>tidy::html()</strong>


id: tidy::html
type: function
doc:
<comment>Description:</comment>
  Returns a tidyNode object starting from the  tag of the tidy parse tree
  
  面向对象风格
  
  过程化风格
  
  Returns a <class>tidyNode</class> object starting from the \<html&gt; tag of the tidy parse tree.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>tidyNode|null</info>  Returns the <class>tidyNode</class> object.

<comment>See Also:</comment>
   * <strong>tidy::body()</strong>
   * <strong>tidy::head()</strong>


id: tidy::isXhtml
type: function
doc:
<comment>Description:</comment>
  Indicates if the document is a XHTML document
  
  面向对象风格
  
  过程化风格
  
  Tells if the document is a XHTML document.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>bool</info>  This function returns <info>true</info> if the specified tidy <strong>$tidy</strong> is a XHTML document, or <info>false</info>
        otherwise.
        
        This function is not yet implemented in the Tidylib itself, so it always return <info>false</info>.


id: tidy::isXml
type: function
doc:
<comment>Description:</comment>
  Indicates if the document is a generic (non HTML/XHTML) XML document
  
  面向对象风格
  
  过程化风格
  
  Tells if the document is a generic (non HTML/XHTML) XML document.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>bool</info>  This function returns <info>true</info> if the specified tidy <strong>$tidy</strong> is a generic XML document (non
        HTML/XHTML), or <info>false</info> otherwise.
        
        This function is not yet implemented in the Tidylib itself, so it always return <info>false</info>.


id: tidy::parseFile
type: function
doc:
<comment>Description:</comment>
  Parse markup in file or URI
  
  面向对象风格
  
  过程化风格
  
  Parses the given file.

<comment>Param:</comment>
  <info>string</info>             <strong>$filename</strong>        If the <strong>$filename</strong> parameter is given, this function will also
                                      read that file and initialize the object with the file, acting
                                      like <strong>tidy_parse_file()</strong>.
  <info>array|string|null</info>  <strong>$config</strong>          The config <strong>$config</strong> can be passed either as an array or as a
                                      string. If a string is passed, it is interpreted as the name
                                      of the configuration file, otherwise, it is interpreted as the
                                      options themselves.
                                      
                                      For an explanation about each option, see
                                      http://api.html-tidy.org/#quick-reference.
  <info>string|null</info>        <strong>$encoding</strong>        The <strong>$encoding</strong> parameter sets the encoding for input/output
                                      documents. The possible values for encoding  are:  <return>ascii</return>,
                                      <return>latin0</return>, <return>latin1</return>, <return>raw</return>, <return>utf8</return>, <return>iso2022</return>, <return>mac</return>, <return>win1252</return>, <return>ibm858</return>,
                                      <return>utf16</return>, <return>utf16le</return>, <return>utf16be</return>, <return>big5</return>, and <return>shiftjis</return>.
  <info>bool</info>               <strong>$useIncludePath</strong>  Search for the file in the include_path.

<comment>Return:</comment>
  <info>bool</info>  tidy::parseFile returns <info>true</info> on success. <strong>tidy_parse_file()</strong> returns a new <class>tidy</class> instance on
        success. Both, the method and the function return <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>tidy::parsestring()</strong>
   * <strong>tidy::repairfile()</strong>
   * <strong>tidy::repairstring()</strong>


id: tidy::parseString
type: function
doc:
<comment>Description:</comment>
  Parse a document stored in a string
  
  面向对象风格
  
  过程化风格
  
  Parses a document stored in a string.

<comment>Param:</comment>
  <info>string</info>             <strong>$string</strong>    The data to be parsed.
  <info>array|string|null</info>  <strong>$config</strong>    The config <strong>$config</strong> can be passed either as an array or as a string.
                                If a string is passed, it is interpreted as the name of the
                                configuration file, otherwise, it is interpreted as the options
                                themselves.
                                
                                For an explanation about each option, visit
                                http://api.html-tidy.org/#quick-reference.
  <info>string|null</info>        <strong>$encoding</strong>  The <strong>$encoding</strong> parameter sets the encoding for input/output
                                documents. The possible values for encoding  are:  <return>ascii</return>, <return>latin0</return>,
                                <return>latin1</return>, <return>raw</return>, <return>utf8</return>, <return>iso2022</return>, <return>mac</return>, <return>win1252</return>, <return>ibm858</return>, <return>utf16</return>, <return>utf16le</return>,
                                <return>utf16be</return>, <return>big5</return>, and <return>shiftjis</return>.

<comment>Return:</comment>
  <info>bool</info>  tidy::parseString returns <info>true</info> on success. <strong>tidy_parse_string()</strong> returns a new <class>tidy</class> instance
        on success. Both, the method and the function return <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>tidy::parseFile()</strong>
   * <strong>tidy::repairFile()</strong>
   * <strong>tidy::repairString()</strong>


id: tidy::repairFile
type: function
doc:
<comment>Description:</comment>
  Repair a file and return it as a string
  
  面向对象风格
  
  过程化风格
  
  Repairs the given file and returns it as a string.

<comment>Param:</comment>
  <info>string</info>             <strong>$filename</strong>        The file to be repaired.
  <info>array|string|null</info>  <strong>$config</strong>          The config <strong>$config</strong> can be passed either as an array or as a
                                      string. If a string is passed, it is interpreted as the name
                                      of the configuration file, otherwise, it is interpreted as the
                                      options themselves.
                                      
                                      Check http://tidy.sourceforge.net/docs/quickref.html for an
                                      explanation about each option.
  <info>string|null</info>        <strong>$encoding</strong>        The <strong>$encoding</strong> parameter sets the encoding for input/output
                                      documents. The possible values for encoding  are:  <return>ascii</return>,
                                      <return>latin0</return>, <return>latin1</return>, <return>raw</return>, <return>utf8</return>, <return>iso2022</return>, <return>mac</return>, <return>win1252</return>, <return>ibm858</return>,
                                      <return>utf16</return>, <return>utf16le</return>, <return>utf16be</return>, <return>big5</return>, and <return>shiftjis</return>.
  <info>bool</info>               <strong>$useIncludePath</strong>  Search for the file in the include_path.

<comment>Return:</comment>
  <info>string|false</info>  Returns the repaired contents as a string,  或者在失败时返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>tidy::parseFile()</strong>
   * <strong>tidy::parseString()</strong>
   * <strong>tidy::repairString()</strong>


id: tidy::repairString
type: function
doc:
<comment>Description:</comment>
  Repair a string using an optionally provided configuration file
  
  面向对象风格
  
  过程化风格
  
  Repairs the given string.

<comment>Param:</comment>
  <info>string</info>             <strong>$string</strong>    The data to be repaired.
  <info>array|string|null</info>  <strong>$config</strong>    The config <strong>$config</strong> can be passed either as an array or as a string.
                                If a string is passed, it is interpreted as the name of the
                                configuration file, otherwise, it is interpreted as the options
                                themselves.
                                
                                Check http://api.html-tidy.org/#quick-reference for an explanation
                                about each option.
  <info>string|null</info>        <strong>$encoding</strong>  The <strong>$encoding</strong> parameter sets the encoding for input/output
                                documents. The possible values for encoding  are:  <return>ascii</return>, <return>latin0</return>,
                                <return>latin1</return>, <return>raw</return>, <return>utf8</return>, <return>iso2022</return>, <return>mac</return>, <return>win1252</return>, <return>ibm858</return>, <return>utf16</return>, <return>utf16le</return>,
                                <return>utf16be</return>, <return>big5</return>, and <return>shiftjis</return>.

<comment>Return:</comment>
  <info>string|false</info>  Returns the repaired string,  或者在失败时返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>tidy::parseFile()</strong>
   * <strong>tidy::parseString()</strong>
   * <strong>tidy::repairFile()</strong>


id: tidy::root
type: function
doc:
<comment>Description:</comment>
  Returns a tidyNode object representing the root of the tidy parse tree
  
  面向对象风格
  
  过程化风格
  
  Returns a <class>tidyNode</class> object representing the root of the tidy parse tree.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>tidyNode|null</info>  Returns the <class>tidyNode</class> object.


id: tidyNode::getParent
type: function
doc:
<comment>Description:</comment>
  Returns the parent node of the current node
  
  Returns the parent node of the current node.

<comment>Return:</comment>
  <info>tidyNode|null</info>  Returns a <info>tidyNode</info> if the node has a parent, or <info>null</info> otherwise.


id: tidyNode::hasChildren
type: function
doc:
<comment>Description:</comment>
  Checks if a node has children
  
  Tells if the node has children.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the node has children, <info>false</info> otherwise.


id: tidyNode::hasSiblings
type: function
doc:
<comment>Description:</comment>
  Checks if a node has siblings
  
  Tells if the node has siblings.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the node has siblings, <info>false</info> otherwise.


id: tidyNode::isAsp
type: function
doc:
<comment>Description:</comment>
  Checks if this node is ASP
  
  Tells whether the current node is ASP.

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


id: tidyNode::isComment
type: function
doc:
<comment>Description:</comment>
  Checks if a node represents a comment
  
  Tells if the node is a comment.

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


id: tidyNode::isHtml
type: function
doc:
<comment>Description:</comment>
  Checks if a node is an element node
  
  Tells if the node is an element node, but not the root node of the document.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the node is an element node, but not the root node of the document, <info>false</info>
        otherwise.


id: tidyNode::isJste
type: function
doc:
<comment>Description:</comment>
  Checks if this node is JSTE
  
  Tells if the node is JSTE.

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


id: tidyNode::isPhp
type: function
doc:
<comment>Description:</comment>
  Checks if a node is PHP
  
  Tells if the node is PHP.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the current node is PHP code, <info>false</info> otherwise.


id: tidyNode::isText
type: function
doc:
<comment>Description:</comment>
  Checks if a node represents text (no markup)
  
  Tells if the node represents a text (without any markup).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the node represent a text, <info>false</info> otherwise.


id: tidy_access_count
type: function
doc:
<comment>Description:</comment>
  Returns the Number of Tidy accessibility warnings encountered for specified document
  
  <strong>tidy_access_count()</strong> returns the number of accessibility warnings found for the specified document.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

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

<comment>See Also:</comment>
   * <strong>tidy_error_count()</strong>
   * <strong>tidy_warning_count()</strong>


id: tidy_config_count
type: function
doc:
<comment>Description:</comment>
  Returns the Number of Tidy configuration errors encountered for specified document
  
  Returns the number of errors encountered in the configuration of the specified tidy <strong>$tidy</strong>.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

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


id: tidy_error_count
type: function
doc:
<comment>Description:</comment>
  Returns the Number of Tidy errors encountered for specified document
  
  Returns the number of Tidy errors encountered for the specified document.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

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

<comment>See Also:</comment>
   * <strong>tidy_access_count()</strong>
   * <strong>tidy_warning_count()</strong>


id: tidy_get_error_buffer
type: function
doc:
<comment>Description:</comment>
  Return warnings and errors which occurred parsing the specified document
  
  面向对象风格 (property):
  
  过程化风格:
  
  Returns warnings and errors which occurred parsing the specified document.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>string|false</info>  Returns the error buffer as a string, or <info>false</info> if the buffer is empty.

<comment>See Also:</comment>
   * <strong>tidy_access_count()</strong>
   * <strong>tidy_error_count()</strong>
   * <strong>tidy_warning_count()</strong>


id: tidy_get_output
type: function
doc:
<comment>Description:</comment>
  Return a string representing the parsed tidy markup
  
  Gets a string with the repaired html.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

<comment>Return:</comment>
  <info>string</info>  Returns the parsed tidy markup.


id: tidy_warning_count
type: function
doc:
<comment>Description:</comment>
  Returns the Number of Tidy warnings encountered for specified document
  
  Returns the number of Tidy warnings encountered for the specified document.

<comment>Param:</comment>
  <info>tidy</info>  <strong>$tidy</strong>  The <class>Tidy</class> 对象。

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

<comment>See Also:</comment>
   * <strong>tidy_error_count()</strong>
   * <strong>tidy_access_count()</strong>


id: time
type: function
doc:
<comment>Description:</comment>
  返回当前的 Unix 时间戳
  
  返回自从 Unix 纪元（格林威治时间 1970 年 1 月 1 日 00:00:00）到当前时间的秒数。
  
  Unix 时间戳不包含任何有关本地时区的信息。建议使用 <class>DateTimeImmutable</class> 类来处理日期和时间信息， 以避
  免 Unix 时间戳带来的陷阱。

<comment>Return:</comment>
  <info>int</info>  返回当前时间戳。

<comment>See Also:</comment>
   * <class>DateTimeImmutable</class>
   * <strong>date()</strong>
   * <strong>microtime()</strong>


id: time_nanosleep
type: function
doc:
<comment>Description:</comment>
  延缓执行若干秒和纳秒
  
  程序延缓执行指定数量的 <strong>$seconds</strong> 和 <strong>$nanoseconds</strong>。

<comment>Param:</comment>
  <info>int</info>  <strong>$seconds</strong>      必须是一个非负整数。
  <info>int</info>  <strong>$nanoseconds</strong>  必须是一个小于1亿的非负整数。
                     
                     在 Windows 上，系统的睡眠时间可能会超过指定的纳秒数，具体取决于硬件。

<comment>Return:</comment>
  <info>array|bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。
              
              如果延迟被中断，一个关联数组会返回，内容为： <return>seconds</return>——延迟剩余未执行的秒数
              <return>nanoseconds</return>——延迟剩余未执行的纳秒数
              
              <return>seconds</return>——延迟剩余未执行的秒数
              
              <return>nanoseconds</return>——延迟剩余未执行的纳秒数

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


id: time_sleep_until
type: function
doc:
<comment>Description:</comment>
  使脚本睡眠到指定的时间为止
    
  
  使脚本睡眠到指定的 <strong>$timestamp</strong>。

<comment>Param:</comment>
  <info>float</info>  <strong>$timestamp</strong>  将脚本唤醒的时间戳。

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

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


id: timezone_abbreviations_list
type: function
doc:
<comment>Description:</comment>
  别名 DateTimeZone::listAbbreviations
  
  此函数是该函数的别名： DateTimeZone::listAbbreviations


id: timezone_identifiers_list
type: function
doc:
<comment>Description:</comment>
  别名 DateTimeZone::listIdentifiers
  
  此函数是该函数的别名： DateTimeZone::listIdentifiers


id: timezone_location_get
type: function
doc:
<comment>Description:</comment>
  别名 DateTimeZone::getLocation
  
  此函数是该函数的别名： DateTimeZone::getLocation


id: timezone_name_from_abbr
type: function
doc:
<comment>Description:</comment>
  Returns a timezone name by guessing from abbreviation and UTC offset

<comment>Param:</comment>
  <info>string</info>  <strong>$abbr</strong>       Time zone abbreviation.
  <info>int</info>     <strong>$utcOffset</strong>  Offset from GMT in seconds. Defaults to -1 which means that first found time
                      zone corresponding to <strong>$abbr</strong> is returned. Otherwise exact offset is searched
                      and only if not found then the first time zone with any offset is returned.
  <info>int</info>     <strong>$isDST</strong>      Daylight saving time indicator. Defaults to -1, which means that whether the
                      time zone has daylight saving or not is not taken into consideration when
                      searching. If this is set to 1, then the <strong>$utcOffset</strong> is assumed to be an offset
                      with daylight saving in effect; if 0, then <strong>$utcOffset</strong> is assumed to be an
                      offset without daylight saving in effect. If <strong>$abbr</strong> doesn't exist then the time
                      zone is searched solely by the <strong>$utcOffset</strong> and <strong>$isDST</strong>.

<comment>Return:</comment>
  <info>string|false</info>  Returns time zone name on success 或者在失败时返回 <info>false</info>.

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


id: timezone_offset_get
type: function
doc:
<comment>Description:</comment>
  别名 DateTimeZone::getOffset
  
  此函数是该函数的别名： DateTimeZone::getOffset


id: timezone_open
type: function
doc:
<comment>Description:</comment>
  别名 DateTimeZone::__construct
  
  此函数是该函数的别名： DateTimeZone::__construct


id: timezone_transitions_get
type: function
doc:
<comment>Description:</comment>
  别名 DateTimeZone::getTransitions
  
  此函数是该函数的别名： DateTimeZone::getTransitions


id: timezone_version_get
type: function
doc:
<comment>Description:</comment>
  获取 timezonedb 版本
    
  
  返回当前 timezonedb 版本。

<comment>Return:</comment>
  <info>string</info>  返回格式为 <return>YYYY.increment</return> 的 <info>string</info>，比如 <return>2022.2</return>。
          
          如果时区数据库版本比较旧（比如不显示今年），然后可以通过升级 PHP 版本或者安装 timezonedb
          PECL 包来更新时区信息。
          
          一些系统发行版对 PHP 的日期/时间支持打了补丁，以便使用另一个来源的时区信息。在这种情况下，
          此函数将会返回 <return>0.system</return>。在这种情况下也建议安装 timezonedb 包。

<comment>See Also:</comment>
   * 时区支持列表


id: tmpfile
type: function
doc:
<comment>Description:</comment>
  建立一个临时文件
  
  以读写二进制（w+b）模式创建一个具有唯一文件名的临时文件，然后返回该文件的句柄。
  
  文件在关闭后（例如，调用 <strong>fclose()</strong> 或 <strong>tmpfile()</strong> 返回的文件句柄已无引用的情况）或脚本运行结束后，会
  自动删除。
  
  如果脚本运行被意外终止，可能不会删除该临时文件。

<comment>Return:</comment>
  <info>resource|false</info>  返回新文件的句柄，类似于 <strong>fopen()</strong> 返回的文件句柄， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>tempnam()</strong>
   * <strong>sys_get_temp_dir()</strong>


id: token_get_all
type: function
doc:
<comment>Description:</comment>
  将提供的源码按 PHP 标记进行分割
  
  <strong>token_get_all()</strong> 解析提供的 <strong>$code</strong>  源码字符，然后使用 Zend 引擎的语法分析器获取源码中的 PHP 语言的
  解析器记号。
  
  解析器记号列表见，或者使用  <strong>token_name()</strong> 翻译获取这个记号的字符串表示。

<comment>Param:</comment>
  <info>string</info>  <strong>$code</strong>   需要解析的 PHP 源码.
  <info>int</info>     <strong>$flags</strong>  有效 flag： <info>TOKEN_PARSE</info>——在指定上下文中识别关键词。 
                  
                  <info>TOKEN_PARSE</info>——在指定上下文中识别关键词。

<comment>Return:</comment>
  <info>array</info>  记号标识符数组。每个单独的记号标识符要么是单个字符（即 <return>;</return>、<return>.</return>、<return>&gt;</return>、<return>!</return> 等），要么是有三个元素
         的数组，其中元素 0 是记号索引，元素 1 是原始记号的字符串内容和元素 2 是行号。

<comment>See Also:</comment>
   * <strong>PhpToken::tokenize()</strong>
   * <strong>token_name()</strong>


id: token_name
type: function
doc:
<comment>Description:</comment>
  获取提供的 PHP 解析器代号的符号名称
  
  <strong>token_name()</strong> 获取 PHP <strong>$id</strong> 的符号名称。

<comment>Param:</comment>
  <info>int</info>  <strong>$id</strong>  解析器记号的值。

<comment>Return:</comment>
  <info>string</info>  提供的 <strong>$id</strong> 的符号名。

<comment>See Also:</comment>
   * 解析器记号列表
   * <strong>PhpToken::getTokenName()</strong>


id: touch
type: function
doc:
<comment>Description:</comment>
  设定文件的访问和修改时间
  
  尝试将由 <strong>$filename</strong> 给出的文件的访问和修改时间设定为给出的 <strong>$mtime</strong>。 注意访问时间总是会被修改的，不
  论有几个参数。
  
  如果文件不存在，则会被创建。

<comment>Param:</comment>
  <info>string</info>    <strong>$filename</strong>  要设定的文件名。
  <info>int|null</info>  <strong>$mtime</strong>     要设定的时间。如果参数 <strong>$mtime</strong> 为 <info>null</info>，则会使用当前系统的 <strong>time()</strong>。
  <info>int|null</info>  <strong>$atime</strong>     如果这个参数不是 <info>null</info>，则给定文件的访问时间会被设为 <strong>$atime</strong>。 否则会设置为
                       <strong>$mtime</strong>。 如果两个参数都是 <info>null</info>，则使用当前系统时间。

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


id: trader_acos
type: function
doc:
<comment>Description:</comment>
  Vector Trigonometric ACos
  
  Calculates the arc cosine for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ad
type: function
doc:
<comment>Description:</comment>
  Chaikin A/D Line

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>    高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>     低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>   收盘价，浮点数数组。
  <info>array</info>  <strong>$volume</strong>  成交量，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_add
type: function
doc:
<comment>Description:</comment>
  Vector Arithmetic Add
  
  Calculates the vector addition of <strong>$real0</strong> to <strong>$real1</strong> and returns the resulting vector.

<comment>Param:</comment>
  <info>array</info>  <strong>$real0</strong>  浮点数数组。
  <info>array</info>  <strong>$real1</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_adosc
type: function
doc:
<comment>Description:</comment>
  Chaikin A/D Oscillator

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>array</info>  <strong>$volume</strong>      成交量，浮点数数组。
  <info>int</info>    <strong>$fastPeriod</strong>  Number of period for the fast MA. Valid range from 2 to 100000.
  <info>int</info>    <strong>$slowPeriod</strong>  Number of period for the slow MA. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_adx
type: function
doc:
<comment>Description:</comment>
  Average Directional Movement Index

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_adxr
type: function
doc:
<comment>Description:</comment>
  Average Directional Movement Index Rating

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_apo
type: function
doc:
<comment>Description:</comment>
  Absolute Price Oscillator

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$fastPeriod</strong>  Number of period for the fast MA. Valid range from 2 to 100000.
  <info>int</info>    <strong>$slowPeriod</strong>  Number of period for the slow MA. Valid range from 2 to 100000.
  <info>int</info>    <strong>$mAType</strong>      Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_aroon
type: function
doc:
<comment>Description:</comment>
  Aroon

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_aroonosc
type: function
doc:
<comment>Description:</comment>
  Aroon Oscillator

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_asin
type: function
doc:
<comment>Description:</comment>
  Vector Trigonometric ASin
  
  Calculates the arc sine for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_atan
type: function
doc:
<comment>Description:</comment>
  Vector Trigonometric ATan
  
  Calculates the arc tangent for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_atr
type: function
doc:
<comment>Description:</comment>
  Average True Range

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_avgprice
type: function
doc:
<comment>Description:</comment>
  Average Price

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_bbands
type: function
doc:
<comment>Description:</comment>
  Bollinger Bands

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.
  <info>float</info>  <strong>$nbDevUp</strong>     Deviation multiplier for upper band. Valid range from TRADER_REAL_MIN to
                      TRADER_REAL_MAX.
  <info>float</info>  <strong>$nbDevDn</strong>     Deviation multiplier for lower band. Valid range from TRADER_REAL_MIN to
                      TRADER_REAL_MAX.
  <info>int</info>    <strong>$mAType</strong>      Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_beta
type: function
doc:
<comment>Description:</comment>
  Beta

<comment>Param:</comment>
  <info>array</info>  <strong>$real0</strong>       浮点数数组。
  <info>array</info>  <strong>$real1</strong>       浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_bop
type: function
doc:
<comment>Description:</comment>
  Balance Of Power

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cci
type: function
doc:
<comment>Description:</comment>
  Commodity Channel Index

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdl2crows
type: function
doc:
<comment>Description:</comment>
  Two Crows

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdl3blackcrows
type: function
doc:
<comment>Description:</comment>
  Three Black Crows

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdl3inside
type: function
doc:
<comment>Description:</comment>
  Three Inside Up/Down

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdl3linestrike
type: function
doc:
<comment>Description:</comment>
  Three-Line Strike

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdl3outside
type: function
doc:
<comment>Description:</comment>
  Three Outside Up/Down

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdl3starsinsouth
type: function
doc:
<comment>Description:</comment>
  Three Stars In The South

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdl3whitesoldiers
type: function
doc:
<comment>Description:</comment>
  Three Advancing White Soldiers

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlabandonedbaby
type: function
doc:
<comment>Description:</comment>
  Abandoned Baby

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>         开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>         高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>          低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>        收盘价，浮点数数组。
  <info>float</info>  <strong>$penetration</strong>  一个烛台渗入到另一个烛台的百分比。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdladvanceblock
type: function
doc:
<comment>Description:</comment>
  Advance Block

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlbelthold
type: function
doc:
<comment>Description:</comment>
  Belt-hold

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlbreakaway
type: function
doc:
<comment>Description:</comment>
  Breakaway

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlclosingmarubozu
type: function
doc:
<comment>Description:</comment>
  Closing Marubozu

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlconcealbabyswall
type: function
doc:
<comment>Description:</comment>
  Concealing Baby Swallow

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlcounterattack
type: function
doc:
<comment>Description:</comment>
  Counterattack

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdldarkcloudcover
type: function
doc:
<comment>Description:</comment>
  Dark Cloud Cover

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>         开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>         高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>          低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>        收盘价，浮点数数组。
  <info>float</info>  <strong>$penetration</strong>  一个烛台渗入到另一个烛台的百分比。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdldoji
type: function
doc:
<comment>Description:</comment>
  Doji

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdldojistar
type: function
doc:
<comment>Description:</comment>
  Doji Star

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdldragonflydoji
type: function
doc:
<comment>Description:</comment>
  Dragonfly Doji

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlengulfing
type: function
doc:
<comment>Description:</comment>
  Engulfing Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdleveningdojistar
type: function
doc:
<comment>Description:</comment>
  Evening Doji Star

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>         开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>         高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>          低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>        收盘价，浮点数数组。
  <info>float</info>  <strong>$penetration</strong>  一个烛台渗入到另一个烛台的百分比。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdleveningstar
type: function
doc:
<comment>Description:</comment>
  Evening Star

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>         开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>         高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>          低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>        收盘价，浮点数数组。
  <info>float</info>  <strong>$penetration</strong>  一个烛台渗入到另一个烛台的百分比。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlgapsidesidewhite
type: function
doc:
<comment>Description:</comment>
  Up/Down-gap side-by-side white lines

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlgravestonedoji
type: function
doc:
<comment>Description:</comment>
  Gravestone Doji

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlhammer
type: function
doc:
<comment>Description:</comment>
  Hammer

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlhangingman
type: function
doc:
<comment>Description:</comment>
  Hanging Man

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlharami
type: function
doc:
<comment>Description:</comment>
  Harami Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlharamicross
type: function
doc:
<comment>Description:</comment>
  Harami Cross Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlhighwave
type: function
doc:
<comment>Description:</comment>
  High-Wave Candle

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlhikkake
type: function
doc:
<comment>Description:</comment>
  Hikkake Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlhikkakemod
type: function
doc:
<comment>Description:</comment>
  Modified Hikkake Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlhomingpigeon
type: function
doc:
<comment>Description:</comment>
  Homing Pigeon

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlidentical3crows
type: function
doc:
<comment>Description:</comment>
  Identical Three Crows

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlinneck
type: function
doc:
<comment>Description:</comment>
  In-Neck Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlinvertedhammer
type: function
doc:
<comment>Description:</comment>
  Inverted Hammer

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlkicking
type: function
doc:
<comment>Description:</comment>
  Kicking

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlkickingbylength
type: function
doc:
<comment>Description:</comment>
  Kicking - bull/bear determined by the longer marubozu

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlladderbottom
type: function
doc:
<comment>Description:</comment>
  Ladder Bottom

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdllongleggeddoji
type: function
doc:
<comment>Description:</comment>
  Long Legged Doji

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdllongline
type: function
doc:
<comment>Description:</comment>
  Long Line Candle

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlmarubozu
type: function
doc:
<comment>Description:</comment>
  Marubozu

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlmatchinglow
type: function
doc:
<comment>Description:</comment>
  Matching Low

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlmathold
type: function
doc:
<comment>Description:</comment>
  Mat Hold

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>         开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>         高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>          低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>        收盘价，浮点数数组。
  <info>float</info>  <strong>$penetration</strong>  一个烛台渗入到另一个烛台的百分比。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlmorningdojistar
type: function
doc:
<comment>Description:</comment>
  Morning Doji Star

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>         开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>         高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>          低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>        收盘价，浮点数数组。
  <info>float</info>  <strong>$penetration</strong>  一个烛台渗入到另一个烛台的百分比。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlmorningstar
type: function
doc:
<comment>Description:</comment>
  Morning Star

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>         开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>         高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>          低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>        收盘价，浮点数数组。
  <info>float</info>  <strong>$penetration</strong>  一个烛台渗入到另一个烛台的百分比。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlonneck
type: function
doc:
<comment>Description:</comment>
  On-Neck Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlpiercing
type: function
doc:
<comment>Description:</comment>
  Piercing Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlrickshawman
type: function
doc:
<comment>Description:</comment>
  Rickshaw Man

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlrisefall3methods
type: function
doc:
<comment>Description:</comment>
  Rising/Falling Three Methods

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlseparatinglines
type: function
doc:
<comment>Description:</comment>
  Separating Lines

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlshootingstar
type: function
doc:
<comment>Description:</comment>
  Shooting Star

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlshortline
type: function
doc:
<comment>Description:</comment>
  Short Line Candle

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlspinningtop
type: function
doc:
<comment>Description:</comment>
  Spinning Top

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlstalledpattern
type: function
doc:
<comment>Description:</comment>
  Stalled Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlsticksandwich
type: function
doc:
<comment>Description:</comment>
  Stick Sandwich

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdltakuri
type: function
doc:
<comment>Description:</comment>
  Takuri (Dragonfly Doji with very long lower shadow)

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdltasukigap
type: function
doc:
<comment>Description:</comment>
  Tasuki Gap

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlthrusting
type: function
doc:
<comment>Description:</comment>
  Thrusting Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdltristar
type: function
doc:
<comment>Description:</comment>
  Tristar Pattern

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlunique3river
type: function
doc:
<comment>Description:</comment>
  Unique 3 River

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlupsidegap2crows
type: function
doc:
<comment>Description:</comment>
  Upside Gap Two Crows

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cdlxsidegap3methods
type: function
doc:
<comment>Description:</comment>
  Upside/Downside Gap Three Methods

<comment>Param:</comment>
  <info>array</info>  <strong>$open</strong>   开盘价，浮点数数组。
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ceil
type: function
doc:
<comment>Description:</comment>
  Vector Ceil
  
  Calculates the next highest integer for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cmo
type: function
doc:
<comment>Description:</comment>
  Chande Momentum Oscillator

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_correl
type: function
doc:
<comment>Description:</comment>
  Pearson's Correlation Coefficient (r)

<comment>Param:</comment>
  <info>array</info>  <strong>$real0</strong>       浮点数数组。
  <info>array</info>  <strong>$real1</strong>       浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cos
type: function
doc:
<comment>Description:</comment>
  Vector Trigonometric Cos
  
  Calculates the cosine for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_cosh
type: function
doc:
<comment>Description:</comment>
  Vector Trigonometric Cosh
  
  Calculates the hyperbolic cosine for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_dema
type: function
doc:
<comment>Description:</comment>
  Double Exponential Moving Average

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_div
type: function
doc:
<comment>Description:</comment>
  Vector Arithmetic Div
  
  Divides each value from <strong>$real0</strong> by the corresponding value from <strong>$real1</strong> and returns the resulting
  array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real0</strong>  浮点数数组。
  <info>array</info>  <strong>$real1</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_dx
type: function
doc:
<comment>Description:</comment>
  Directional Movement Index

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ema
type: function
doc:
<comment>Description:</comment>
  Exponential Moving Average

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_errno
type: function
doc:
<comment>Description:</comment>
  Get error code
  
  Get error code of the last operation.

<comment>Return:</comment>
  <info>int</info>  Returns the error code identified by one of the TRADER_ERR_* constants.


id: trader_exp
type: function
doc:
<comment>Description:</comment>
  Vector Arithmetic Exp
  
  Calculates <info>e</info> raised to the power of each value in <strong>$real</strong>. Returns an array with the calculated
  data.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_floor
type: function
doc:
<comment>Description:</comment>
  Vector Floor
  
  Calculates the next lowest integer for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_get_compat
type: function
doc:
<comment>Description:</comment>
  Get compatibility mode
  
  Get compatibility mode which affects the way calculations are done by all the extension functions.

<comment>Return:</comment>
  <info>int</info>  Returns the compatibility mode id which can be identified by TRADER_COMPATIBILITY_* series of
       constants.


id: trader_get_unstable_period
type: function
doc:
<comment>Description:</comment>
  Get unstable period
  
  Get unstable period factor for a particular function.

<comment>Param:</comment>
  <info>int</info>  <strong>$functionId</strong>  Function ID the factor to be read for. TRADER_FUNC_UNST_* series of constants
                    should be used.

<comment>Return:</comment>
  <info>int</info>  Returns the unstable period factor for the corresponding function.


id: trader_ht_dcperiod
type: function
doc:
<comment>Description:</comment>
  Hilbert Transform - Dominant Cycle Period

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ht_dcphase
type: function
doc:
<comment>Description:</comment>
  Hilbert Transform - Dominant Cycle Phase

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ht_phasor
type: function
doc:
<comment>Description:</comment>
  Hilbert Transform - Phasor Components

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ht_sine
type: function
doc:
<comment>Description:</comment>
  Hilbert Transform - SineWave

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ht_trendline
type: function
doc:
<comment>Description:</comment>
  Hilbert Transform - Instantaneous Trendline

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ht_trendmode
type: function
doc:
<comment>Description:</comment>
  Hilbert Transform - Trend vs Cycle Mode

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_kama
type: function
doc:
<comment>Description:</comment>
  Kaufman Adaptive Moving Average

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_linearreg
type: function
doc:
<comment>Description:</comment>
  Linear Regression

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_linearreg_angle
type: function
doc:
<comment>Description:</comment>
  Linear Regression Angle

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_linearreg_intercept
type: function
doc:
<comment>Description:</comment>
  Linear Regression Intercept

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_linearreg_slope
type: function
doc:
<comment>Description:</comment>
  Linear Regression Slope

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ln
type: function
doc:
<comment>Description:</comment>
  Vector Log Natural
  
  Calculates the natural logarithm for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_log10
type: function
doc:
<comment>Description:</comment>
  Vector Log10
  
  Calculates the base-10 logarithm for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ma
type: function
doc:
<comment>Description:</comment>
  Moving average

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.
  <info>int</info>    <strong>$mAType</strong>      Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_macd
type: function
doc:
<comment>Description:</comment>
  Moving Average Convergence/Divergence

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>          浮点数数组。
  <info>int</info>    <strong>$fastPeriod</strong>    Number of period for the fast MA. Valid range from 2 to 100000.
  <info>int</info>    <strong>$slowPeriod</strong>    Number of period for the slow MA. Valid range from 2 to 100000.
  <info>int</info>    <strong>$signalPeriod</strong>  Smoothing for the signal line (nb of period). Valid range from 1 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_macdext
type: function
doc:
<comment>Description:</comment>
  MACD with controllable MA type

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>          浮点数数组。
  <info>int</info>    <strong>$fastPeriod</strong>    Number of period for the fast MA. Valid range from 2 to 100000.
  <info>int</info>    <strong>$fastMAType</strong>    Type of Moving Average for fast MA. TRADER_MA_TYPE_* series of constants
                        should be used.
  <info>int</info>    <strong>$slowPeriod</strong>    Number of period for the slow MA. Valid range from 2 to 100000.
  <info>int</info>    <strong>$slowMAType</strong>    Type of Moving Average for slow MA. TRADER_MA_TYPE_* series of constants
                        should be used.
  <info>int</info>    <strong>$signalPeriod</strong>  Smoothing for the signal line (nb of period). Valid range from 1 to 100000.
  <info>int</info>    <strong>$signalMAType</strong>  Type of Moving Average for signal line. TRADER_MA_TYPE_* series of constants
                        should be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_macdfix
type: function
doc:
<comment>Description:</comment>
  Moving Average Convergence/Divergence Fix 12/26

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>          浮点数数组。
  <info>int</info>    <strong>$signalPeriod</strong>  Smoothing for the signal line (nb of period). Valid range from 1 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_mama
type: function
doc:
<comment>Description:</comment>
  MESA Adaptive Moving Average

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>       浮点数数组。
  <info>float</info>  <strong>$fastLimit</strong>  Upper limit use in the adaptive algorithm. Valid range from 0.01 to 0.99.
  <info>float</info>  <strong>$slowLimit</strong>  Lower limit use in the adaptive algorithm. Valid range from 0.01 to 0.99.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_mavp
type: function
doc:
<comment>Description:</comment>
  Moving average with variable period

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>       浮点数数组。
  <info>array</info>  <strong>$periods</strong>    浮点数数组。
  <info>int</info>    <strong>$minPeriod</strong>  Value less than minimum will be changed to Minimum period. Valid range from 2
                     to 100000
  <info>int</info>    <strong>$maxPeriod</strong>  Value higher than minimum will be changed to Maximum period. Valid range from 2
                     to 100000
  <info>int</info>    <strong>$mAType</strong>     Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_max
type: function
doc:
<comment>Description:</comment>
  Highest value over a specified period

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_maxindex
type: function
doc:
<comment>Description:</comment>
  Index of highest value over a specified period

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_medprice
type: function
doc:
<comment>Description:</comment>
  Median Price

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>  高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>   低价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_mfi
type: function
doc:
<comment>Description:</comment>
  Money Flow Index

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>array</info>  <strong>$volume</strong>      成交量，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_midpoint
type: function
doc:
<comment>Description:</comment>
  MidPoint over period

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_midprice
type: function
doc:
<comment>Description:</comment>
  Midpoint Price over period

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_min
type: function
doc:
<comment>Description:</comment>
  Lowest value over a specified period

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_minindex
type: function
doc:
<comment>Description:</comment>
  Index of lowest value over a specified period

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_minmax
type: function
doc:
<comment>Description:</comment>
  Lowest and highest values over a specified period

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_minmaxindex
type: function
doc:
<comment>Description:</comment>
  Indexes of lowest and highest values over a specified period

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_minus_di
type: function
doc:
<comment>Description:</comment>
  Minus Directional Indicator

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_minus_dm
type: function
doc:
<comment>Description:</comment>
  Minus Directional Movement

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_mom
type: function
doc:
<comment>Description:</comment>
  Momentum

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_mult
type: function
doc:
<comment>Description:</comment>
  Vector Arithmetic Mult
  
  Calculates the vector dot product of <strong>$real0</strong> with <strong>$real1</strong> and returns the resulting vector.

<comment>Param:</comment>
  <info>array</info>  <strong>$real0</strong>  浮点数数组。
  <info>array</info>  <strong>$real1</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_natr
type: function
doc:
<comment>Description:</comment>
  Normalized Average True Range

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_obv
type: function
doc:
<comment>Description:</comment>
  On Balance Volume

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>    浮点数数组。
  <info>array</info>  <strong>$volume</strong>  成交量，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_plus_di
type: function
doc:
<comment>Description:</comment>
  Plus Directional Indicator

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_plus_dm
type: function
doc:
<comment>Description:</comment>
  Plus Directional Movement

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ppo
type: function
doc:
<comment>Description:</comment>
  Percentage Price Oscillator

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$fastPeriod</strong>  Number of period for the fast MA. Valid range from 2 to 100000.
  <info>int</info>    <strong>$slowPeriod</strong>  Number of period for the slow MA. Valid range from 2 to 100000.
  <info>int</info>    <strong>$mAType</strong>      Type of Moving Average. TRADER_MA_TYPE_* series of constants should be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_roc
type: function
doc:
<comment>Description:</comment>
  Rate of change : ((price/prevPrice)-1)*100

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_rocp
type: function
doc:
<comment>Description:</comment>
  Rate of change Percentage: (price-prevPrice)/prevPrice

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_rocr
type: function
doc:
<comment>Description:</comment>
  Rate of change ratio: (price/prevPrice)

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_rocr100
type: function
doc:
<comment>Description:</comment>
  Rate of change ratio 100 scale: (price/prevPrice)*100

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_rsi
type: function
doc:
<comment>Description:</comment>
  Relative Strength Index

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_sar
type: function
doc:
<comment>Description:</comment>
  Parabolic SAR

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>          高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>           低价，浮点数数组。
  <info>float</info>  <strong>$acceleration</strong>  Acceleration Factor used up to the Maximum value. Valid range from 0 to
                        TRADER_REAL_MAX.
  <info>float</info>  <strong>$maximum</strong>       Acceleration Factor Maximum value. Valid range from 0 to TRADER_REAL_MAX.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_sarext
type: function
doc:
<comment>Description:</comment>
  Parabolic SAR - Extended

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>                   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>                    低价，浮点数数组。
  <info>float</info>  <strong>$startValue</strong>             Start value and direction. 0 for Auto, &gt;0 for Long, \<0 for Short. Valid range from TRADER_REAL_MIN to TRADER_REAL_MAX.
  <info>float</info>  <strong>$offsetOnReverse</strong>        Percent offset added/removed to initial stop on short/long
                                 reversal. Valid range from 0 to TRADER_REAL_MAX.
  <info>float</info>  <strong>$accelerationInitLong</strong>   Acceleration Factor initial value for the Long direction. Valid
                                 range from 0 to TRADER_REAL_MAX.
  <info>float</info>  <strong>$accelerationLong</strong>       Acceleration Factor for the Long direction. Valid range from 0 to
                                 TRADER_REAL_MAX.
  <info>float</info>  <strong>$accelerationMaxLong</strong>    Acceleration Factor maximum value for the Long direction. Valid
                                 range from 0 to TRADER_REAL_MAX.
  <info>float</info>  <strong>$accelerationInitShort</strong>  Acceleration Factor initial value for the Short direction. Valid
                                 range from 0 to TRADER_REAL_MAX.
  <info>float</info>  <strong>$accelerationShort</strong>      Acceleration Factor for the Short direction. Valid range from 0 to
                                 TRADER_REAL_MAX.
  <info>float</info>  <strong>$accelerationMaxShort</strong>   Acceleration Factor maximum value for the Short direction. Valid
                                 range from 0 to TRADER_REAL_MAX.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_set_compat
type: function
doc:
<comment>Description:</comment>
  Set compatibility mode
  
  Set compatibility mode which will affect the way calculations are done by all the extension
  functions.

<comment>Param:</comment>
  <info>int</info>  <strong>$compatId</strong>  Compatibility Id. TRADER_COMPATIBILITY_* series of constants should be used.

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


id: trader_set_unstable_period
type: function
doc:
<comment>Description:</comment>
  Set unstable period
  
  Influences unstable period factor for functions, which are sensible to it. More information about
  unstable periods can be found on the TA-Lib API documentation page.

<comment>Param:</comment>
  <info>int</info>  <strong>$functionId</strong>  Function ID the factor should be set for. TRADER_FUNC_UNST_* constant series can
                    be used to affect the corresponding function.
  <info>int</info>  <strong>$timePeriod</strong>  Unstable period value.

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


id: trader_sin
type: function
doc:
<comment>Description:</comment>
  Vector Trigonometric Sin
  
  Calculates the sine for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_sinh
type: function
doc:
<comment>Description:</comment>
  Vector Trigonometric Sinh
  
  Calculates the hyperbolic sine for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_sma
type: function
doc:
<comment>Description:</comment>
  Simple Moving Average

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_sqrt
type: function
doc:
<comment>Description:</comment>
  Vector Square Root
  
  Calculates the square root of each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_stddev
type: function
doc:
<comment>Description:</comment>
  Standard Deviation

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.
  <info>float</info>  <strong>$nbDev</strong>       

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_stoch
type: function
doc:
<comment>Description:</comment>
  Stochastic

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>          高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>           低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>         收盘价，浮点数数组。
  <info>int</info>    <strong>$fastK_Period</strong>  Time period for building the Fast-K line. Valid range from 1 to 100000.
  <info>int</info>    <strong>$slowK_Period</strong>  Smoothing for making the Slow-K line. Valid range from 1 to 100000, usually
                        set to 3.
  <info>int</info>    <strong>$slowK_MAType</strong>  Type of Moving Average for Slow-K. TRADER_MA_TYPE_* series of constants
                        should be used.
  <info>int</info>    <strong>$slowD_Period</strong>  Smoothing for making the Slow-D line. Valid range from 1 to 100000.
  <info>int</info>    <strong>$slowD_MAType</strong>  Type of Moving Average for Slow-D. TRADER_MA_TYPE_* series of constants
                        should be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_stochf
type: function
doc:
<comment>Description:</comment>
  Stochastic Fast

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>          高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>           低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>         收盘价，浮点数数组。
  <info>int</info>    <strong>$fastK_Period</strong>  Time period for building the Fast-K line. Valid range from 1 to 100000.
  <info>int</info>    <strong>$fastD_Period</strong>  Smoothing for making the Fast-D line. Valid range from 1 to 100000, usually
                        set to 3.
  <info>int</info>    <strong>$fastD_MAType</strong>  Type of Moving Average for Fast-D. TRADER_MA_TYPE_* series of constants
                        should be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_stochrsi
type: function
doc:
<comment>Description:</comment>
  Stochastic Relative Strength Index

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>          浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>    Number of period. Valid range from 2 to 100000.
  <info>int</info>    <strong>$fastK_Period</strong>  Time period for building the Fast-K line. Valid range from 1 to 100000.
  <info>int</info>    <strong>$fastD_Period</strong>  Smoothing for making the Fast-D line. Valid range from 1 to 100000, usually
                        set to 3.
  <info>int</info>    <strong>$fastD_MAType</strong>  Type of Moving Average for Fast-D. TRADER_MA_TYPE_* series of constants
                        should be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_sub
type: function
doc:
<comment>Description:</comment>
  Vector Arithmetic Subtraction
  
  Calculates the vector subtraction of <strong>$real1</strong> from <strong>$real0</strong> and returns the resulting vector.

<comment>Param:</comment>
  <info>array</info>  <strong>$real0</strong>  浮点数数组。
  <info>array</info>  <strong>$real1</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_sum
type: function
doc:
<comment>Description:</comment>
  Summation

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_t3
type: function
doc:
<comment>Description:</comment>
  Triple Exponential Moving Average (T3)

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.
  <info>float</info>  <strong>$vFactor</strong>     成交量因子。有效值从 0 到 1。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_tan
type: function
doc:
<comment>Description:</comment>
  Vector Trigonometric Tan
  
  Calculates the tangent for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_tanh
type: function
doc:
<comment>Description:</comment>
  Vector Trigonometric Tanh
  
  Calculates the hyperbolic tangent for each value in <strong>$real</strong> and returns the resulting array.

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>  浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_tema
type: function
doc:
<comment>Description:</comment>
  Triple Exponential Moving Average

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_trange
type: function
doc:
<comment>Description:</comment>
  True Range

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_trima
type: function
doc:
<comment>Description:</comment>
  Triangular Moving Average

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_trix
type: function
doc:
<comment>Description:</comment>
  1-day Rate-Of-Change (ROC) of a Triple Smooth EMA

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_tsf
type: function
doc:
<comment>Description:</comment>
  Time Series Forecast

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_typprice
type: function
doc:
<comment>Description:</comment>
  Typical Price

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_ultosc
type: function
doc:
<comment>Description:</comment>
  Ultimate Oscillator

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>         高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>          低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>        收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod1</strong>  Number of bars for 1st period. Valid range from 1 to 100000.
  <info>int</info>    <strong>$timePeriod2</strong>  Number of bars for 2nd period. Valid range from 1 to 100000.
  <info>int</info>    <strong>$timePeriod3</strong>  Number of bars for 3rd period. Valid range from 1 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_var
type: function
doc:
<comment>Description:</comment>
  Variance

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.
  <info>float</info>  <strong>$nbDev</strong>       

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_wclprice
type: function
doc:
<comment>Description:</comment>
  Weighted Close Price

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>   高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>    低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>  收盘价，浮点数数组。

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_willr
type: function
doc:
<comment>Description:</comment>
  Williams' %R

<comment>Param:</comment>
  <info>array</info>  <strong>$high</strong>        高价，浮点数数组。
  <info>array</info>  <strong>$low</strong>         低价，浮点数数组。
  <info>array</info>  <strong>$close</strong>       收盘价，浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trader_wma
type: function
doc:
<comment>Description:</comment>
  Weighted Moving Average

<comment>Param:</comment>
  <info>array</info>  <strong>$real</strong>        浮点数数组。
  <info>int</info>    <strong>$timePeriod</strong>  Number of period. Valid range from 2 to 100000.

<comment>Return:</comment>
  <info>array</info>  Returns an array with calculated data or false on failure.


id: trait_exists
type: function
doc:
<comment>Description:</comment>
  检查指定的 trait 是否存在

<comment>Param:</comment>
  <info>string</info>  <strong>$trait</strong>     待检查的 trait 的名称
  <info>bool</info>    <strong>$autoload</strong>  如果尚未加载，是否使用自动加载（autoload）。

<comment>Return:</comment>
  <info>bool</info>  如果 trait 存在返回 <info>true</info>，否则返回 <info>false</info>。


id: trigger_error
type: function
doc:
<comment>Description:</comment>
  产生一个用户级别的 error/warning/notice 信息
  
  用于触发一个用户级别的错误条件，它能结合内置的错误处理器所关联，或者可以使用用户定义的函数作为新的
  错误处理程序(<strong>set_error_handler()</strong>)。
  
  该函数在你运行出现异常时，需要产生一个特定的响应时非常有用。

<comment>Param:</comment>
  <info>string</info>  <strong>$message</strong>      该 error 的特定错误信息，长度限制在了 1024 个字节。超过 1024 字节的字符都会
                        被截断。
  <info>int</info>     <strong>$error_level</strong>  该 error 所特定的错误类型。仅 E_USER 系列常量对其有效，默认是
                        <info>E_USER_NOTICE</info>。

<comment>Return:</comment>
  <info>bool</info>  如果指定了错误的 <strong>$error_level</strong> 会返回 <info>false</info> ，正确则返回 <info>true</info>。

<comment>See Also:</comment>
   * <strong>error_reporting()</strong>
   * <strong>set_error_handler()</strong>
   * <strong>restore_error_handler()</strong>
   * 错误级别常量


id: trim
type: function
doc:
<comment>Description:</comment>
  去除字符串首尾处的空白字符（或者其他字符）
  
  此函数返回字符串 <strong>$string</strong> 去除首尾空白字符后的结果。如果不指定第二个参数，<strong>trim()</strong> 将去除这些字符：
  " " (ASCII <return>32</return>  (<return>0x20</return>))，普通空格符。  "\t" (ASCII <return>9</return>  (<return>0x09</return>))，制表符。  "\n" (ASCII <return>10</return>  (<return>0x0A</return>))，
  换行符。  "\r" (ASCII <return>13</return>  (<return>0x0D</return>))，回车符。  "\0" (ASCII <return>0</return>  (<return>0x00</return>))，空字节符。  "\v" (ASCII <return>11</return>
  (<return>0x0B</return>))，垂直制表符。
  
  " " (ASCII <return>32</return>  (<return>0x20</return>))，普通空格符。
  
  "\t" (ASCII <return>9</return>  (<return>0x09</return>))，制表符。
  
  "\n" (ASCII <return>10</return>  (<return>0x0A</return>))，换行符。
  
  "\r" (ASCII <return>13</return>  (<return>0x0D</return>))，回车符。
  
  "\0" (ASCII <return>0</return>  (<return>0x00</return>))，空字节符。
  
  "\v" (ASCII <return>11</return>  (<return>0x0B</return>))，垂直制表符。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      待处理的<info>字符串</info>。
  <info>string</info>  <strong>$characters</strong>  可选参数，过滤字符也可由 <strong>$characters</strong> 参数指定。一般要列出所有希望过滤的字符，
                       也可以使用 “<return>..</return>” 列出一个字符范围。

<comment>Return:</comment>
  <info>string</info>  过滤后的字符串。

<comment>See Also:</comment>
   * <strong>ltrim()</strong>
   * <strong>rtrim()</strong>
   * <strong>str_replace()</strong>


id: uasort
type: function
doc:
<comment>Description:</comment>
  使用用户定义的比较函数对数组进行排序并保持索引关联
  
  本函数对 <strong>$array</strong> 本身排序并保持索引和单元之间的关联。
  
  主要用于对那些单元顺序很重要的结合数组进行排序。比较函数是用户自定义的。
  
  如果两个成员完全相同，那么它们将保持原来的顺序。 在 PHP 8.0.0 之前，它们在排序数组中的相对顺序是未
  定义的。
  
  重置数组中的内部指针，指向第一个元素。

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>     输入的数组。
  <info>callable</info>  <strong>$callback</strong>  在第一个参数小于，等于或大于第二个参数时，该比较函数必须相应地返回一个小于，
                       等于或大于 0 的整数。
                       
                       从比较函数中返回非整数值，例如 <info>float</info>，将导致内部强制转换为 callback 返回值为
                       <info>int</info>。因此，诸如 <return>0.99</return> 和 <return>0.1</return> 之类的值都将被转换为整数值 <return>0</return>，将这些值比较的话将
                       会是相等。

<comment>Return:</comment>
  <info>true</info>  总是返回 <info>true</info>。

<comment>See Also:</comment>
   * <strong>usort()</strong>
   * <strong>uksort()</strong>
   * 数组排序函数对比


id: ucfirst
type: function
doc:
<comment>Description:</comment>
  将字符串的首字母转换为大写
  
  将 <strong>$string</strong> 的首字符（如果首字符是 <return>"a"</return>（0x61）到 <return>"z"</return>（0x7a）范围内的 ASCII 字符）转换为大写字母，并
  返回这个字符串。
  
  注意字母的定义取决于当前区域设定。例如，在默认的 “C” 区域，字符 umlaut-a（ä）将不会被转换。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  输入字符串。

<comment>Return:</comment>
  <info>string</info>  返回结果字符串。

<comment>See Also:</comment>
   * <strong>lcfirst()</strong>
   * <strong>strtolower()</strong>
   * <strong>strtoupper()</strong>
   * <strong>ucwords()</strong>
   * <strong>mb_convert_case()</strong>


id: ucwords
type: function
doc:
<comment>Description:</comment>
  将字符串中每个单词的首字母转换为大写
  
  将 <strong>$string</strong> 中每个单词的首字符（如果首字符是介于 <return>"a"</return>（0x61）和 <return>"z"</return>（0x7a）之间的 ASCII 字符）转换为
  大写字母，并返回这个字符串。
  
  对于此函数，单词是未在 <strong>$separators</strong> 参数列出的字符串。默认情况下，它们是：空格、水平制表符、回车、
  换行符、换页以及垂直制表符。
  
  要对多字节进行类似的转换，请使用带 <info>MB_CASE_TITLE</info> 模式的 <strong>mb_convert_case()</strong>。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>      输入字符串。
  <info>string</info>  <strong>$separators</strong>  可选的 <strong>$separators</strong>，包含了单词分割符。

<comment>Return:</comment>
  <info>string</info>  返回转换后的字符串。

<comment>See Also:</comment>
   * <strong>strtoupper()</strong>
   * <strong>strtolower()</strong>
   * <strong>ucfirst()</strong>
   * <strong>mb_convert_case()</strong>


id: uksort
type: function
doc:
<comment>Description:</comment>
  使用用户自定义的比较函数对数组中的键名进行排序
  
  使用用户自定义的比较函数对 <strong>$array</strong> 本身进行按键（key）排序以确定顺序。
  
  如果两个成员完全相同，那么它们将保持原来的顺序。 在 PHP 8.0.0 之前，它们在排序数组中的相对顺序是未
  定义的。
  
  重置数组中的内部指针，指向第一个元素。

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>     输入的数组。
  <info>callable</info>  <strong>$callback</strong>  在第一个参数小于，等于或大于第二个参数时，该比较函数必须相应地返回一个小于，
                       等于或大于 0 的整数。
                       
                       从比较函数中返回非整数值，例如 <info>float</info>，将导致内部强制转换为 callback 返回值为
                       <info>int</info>。因此，诸如 <return>0.99</return> 和 <return>0.1</return> 之类的值都将被转换为整数值 <return>0</return>，将这些值比较的话将
                       会是相等。

<comment>Return:</comment>
  <info>true</info>  总是返回 <info>true</info>。

<comment>See Also:</comment>
   * <strong>usort()</strong>
   * <strong>uasort()</strong>
   * 数组排序函数对比


id: umask
type: function
doc:
<comment>Description:</comment>
  改变当前的 umask
  
  <strong>umask()</strong> 将 PHP 的 umask 设定为 <strong>$mask</strong> & 0777 并返回原来的 umask。当 PHP 被作为服务器模块使用时，在
  每个请求结束后 umask 会被恢复。

<comment>Param:</comment>
  <info>int|null</info>  <strong>$mask</strong>  The new umask.

<comment>Return:</comment>
  <info>int</info>  如果 <strong>$mask</strong> 为 <info>null</info>，<strong>umask()</strong> 仅返回当前的 umask，有参数则返回原来的 umask。


id: uniqid
type: function
doc:
<comment>Description:</comment>
  生成一个唯一ID
  
  获取一个带前缀、基于当前时间微秒数的唯一ID。
  
  本函数并不会生成安全加密的值，并且不可用于加密或者要求返回值不可猜测的目的。
  
  如果需要加密安全随机，则可以将 <class>Random\Engine\Secure</class> 引擎用于 <class>Random\Randomizer</class>。对于简单的用例，
  <strong>random_int()</strong> 和 <strong>random_bytes()</strong> 函数提供了操作系统的 CSPRNG 支持的方便且安全的 API。
  
  此函数不保证返回值的唯一性。由于绝大多数系统使用 NTP 或者类似服务调整系统的时间，所以系统时间经常
  发生变化。此外，进程/线程可能不会返回唯一的  ID。用 <strong>$more_entropy</strong> 来增加唯一性的概率。

<comment>Param:</comment>
  <info>string</info>  <strong>$prefix</strong>        有用的参数。例如：如果在多台主机上可能在同一微秒生成唯一ID。
                         
                         <strong>$prefix</strong>为空，则返回的字符串长度为 13。<strong>$more_entropy</strong> 为 <info>true</info>，则返回的字符串
                         长度为 23。
  <info>bool</info>    <strong>$more_entropy</strong>  如果设置为 <info>true</info>，<strong>uniqid()</strong> 会在返回的字符串结尾增加额外的熵（使用线性同余组
                         合发生器）。 使得唯一ID更具唯一性。

<comment>Return:</comment>
  <info>string</info>  返回字符串形式的唯一ID。
          
          此函数努力创建唯一识别符，但它不保证返回值得唯一性。

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


id: unixtojd
type: function
doc:
<comment>Description:</comment>
  将 Unix 时间戳转换为儒略日数
  
  根据指定的 Unix <strong>$timestamp</strong> （自 1970 年 1 月 1 日以来的秒数）返回儒略日数。如果没有指定时间戳则返
  回当前日期的儒略日数。 无论哪种方式，时间都被视为当地时间（不是 UTC）。

<comment>Param:</comment>
  <info>int|null</info>  <strong>$timestamp</strong>  用于转换的 unix 时间戳。

<comment>Return:</comment>
  <info>int|false</info>  int 类型的儒略日数， 或者在失败时返回 <info>false</info>。

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


id: unlink
type: function
doc:
<comment>Description:</comment>
  删除文件
  
  删除 <strong>$filename</strong>。和 Unix C 的 unlink() 函数相似。 发生错误时会产生一个 <info>E_WARNING</info> 级别的错误。

<comment>Param:</comment>
  <info>string</info>         <strong>$filename</strong>  文件的路径。
                            
                            如果文件是符号链接，将会删除符号链接。在 Windows 上，删除目录的符号链
                            接，必须使用 <strong>rmdir()</strong>。
  <info>resource|null</info>  <strong>$context</strong>   上下文流（context stream）<info>resource</info>。

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

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


id: unpack
type: function
doc:
<comment>Description:</comment>
  Unpack data from binary string
  
  Unpacks from a binary string into an array according to the given <strong>$format</strong>.
  
  The unpacked data is stored in an associative array. To accomplish this you have to name the
  different format codes and separate them by a slash /. If a repeater argument is present, then
  each of the array keys will have a sequence number behind the given name.
  
  Changes were made to bring this function into line with Perl:  The "a" code now retains trailing
  NULL bytes.  The "A" code now strips all trailing ASCII whitespace (spaces, tabs, newlines,
  carriage returns, and NULL bytes).  The "Z" code was added for NULL-padded strings, and removes
  trailing NULL bytes.

<comment>Param:</comment>
  <info>string</info>  <strong>$format</strong>  See <strong>pack()</strong> for an explanation of the format codes.
  <info>string</info>  <strong>$string</strong>  The packed data.
  <info>int</info>     <strong>$offset</strong>  The offset to begin unpacking from.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array containing unpacked elements of binary string,  或者在失
               败时返回 <info>false</info>.

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


id: unregister_tick_function
type: function
doc:
<comment>Description:</comment>
  注销每个 tick 上需要执行的函数
  
  注销函数 <strong>$callback</strong>，以便在调用 tick 时不再执行。

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  要注销的函数。

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

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


id: unserialize
type: function
doc:
<comment>Description:</comment>
  从已存储的表示中创建 PHP 的值
    
  
  <strong>unserialize()</strong> 对单一的已序列化的变量进行操作，将其转换回  PHP 的值。
  
  无论 <return>allowed_classes</return> 的 <strong>$options</strong> 值如何，都不要将不受信任的用户输入传递给 <strong>unserialize()</strong>。由于对象
  实例化和自动加载，反序列化可能会导致加载代码并执行，恶意用户可能会利用这一点。如果需要将序列化数据
  传递给用户，请使用安全、标准的数据交换格式，例如 JSON（通过 <strong>json_decode()</strong> 和 <strong>json_encode()</strong>）。
  
  如果需要反序列化外部存储的序列化数据，请考虑使用 <strong>hash_hmac()</strong> 做数据验证。确保数据不会被任何人修
  改。

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>     序列化后的字符串。
                    
                    若被反序列化的变量是一个对象，在成功地重新构造对象之后，PHP 会试图自动调用
                    __unserialize() 或 __wakeup() 方法（如果存在）。
                    
                    unserialize_callback_func 指令 如果在反序列化时需要实例化未定义类，则可以设置回
                    调函数以供调用（以免得到的是不完整的 <info>object</info>  “__PHP_Incomplete_Class”）。可通过
                    php.ini、<strong>ini_set()</strong> 或 .htaccess 定义 unserialize_callback_func。每次实例化未定义
                    类时它都会被调用。若要禁止这个特性，只需置空此设定。
                    
                    如果在反序列化时需要实例化未定义类，则可以设置回调函数以供调用（以免得到的是不完
                    整的 <info>object</info>  “__PHP_Incomplete_Class”）。可通过 php.ini、<strong>ini_set()</strong> 或 .htaccess
                    定义 unserialize_callback_func。每次实例化未定义类时它都会被调用。若要禁止这个特
                    性，只需置空此设定。
  <info>array</info>   <strong>$options</strong>  使用关联数组提供给 <strong>unserialize()</strong> 的任何选项。
                    
                    应该接受的类名数组，<info>false</info> 表示不接受任何类，或者 <info>true</info> 表示接受所有类。如果定义此
                    选项且 <strong>unserialize()</strong> 遇到不接受的类的对象，则该对象将会实例化为
                    <class>__PHP_Incomplete_Class</class>。
                    
                    省略此选项等同于定义为 <info>true</info>：PHP 将会尝试实例化任何类的对象。
                    
                    反序列时允许的最大结构深度，主要为了防止栈溢出。默认深度限制为 <return>4096</return>，可以通过将
                    <return>max_depth</return> 设置为 <return>0</return> 来禁用。

<comment>Return:</comment>
  <info>mixed</info>  返回的是转换之后的值，可为 <info>bool</info>、<info>int</info>、<info>float</info>、<info>string</info>、<info>array</info> 或 <info>object</info>。
         
         如果传递的字符串不可反序列化，则返回 <info>false</info>，并产生 <info>E_NOTICE</info>。

<comment>See Also:</comment>
   * <strong>json_encode()</strong>
   * <strong>json_decode()</strong>
   * <strong>hash_hmac()</strong>
   * <strong>serialize()</strong>
   * 自动加载类
   * unserialize_callback_func
   * unserialize_max_depth
   * __wakeup()
   * __serialize()
   * __unserialize()


id: unset
type: function
doc:
<comment>Description:</comment>
  清除指定变量
  
  <strong>unset()</strong> 销毁指定变量。
  
  <strong>unset()</strong> 在函数中的行为会依赖于想要销毁的变量的类型而有所不同。
  
  如果在函数中 <strong>unset()</strong>  一个全局变量，则只是局部变量被销毁，而在调用环境中的变量将保持调用 <strong>unset()</strong>
  之前一样的值。
  ]]>
  
  以上示例会输出：
  
  
  
  如果您想在函数中 <strong>unset()</strong> 一个全局变量，可使用 $GLOBALS 数组来实现： 
  ]]>
  
  如果在函数中 <strong>unset()</strong>  一个通过引用传递的变量，则只是局部变量被销毁，而在调用环境中的变量将保持调用
  <strong>unset()</strong> 之前一样的值。
  ]]>
  
  以上示例会输出：
  
  
  
  如果在函数中 <strong>unset()</strong>  一个静态变量，那么在函数内部此静态变量将被销毁。但是，当再次调用此函数时，此
  静态变量将被复原为上次被销毁之前的值。
  ]]>
  
  以上示例会输出：
  
  

<comment>Param:</comment>
  <info>mixed</info>  <strong>$var</strong>   要销毁的变量。
  <info>mixed</info>  <strong>$vars</strong>  更多变量。

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

<comment>See Also:</comment>
   * <strong>isset()</strong>
   * <strong>empty()</strong>
   * __unset()
   * <strong>array_splice()</strong>
   * (unset) 强制转换


id: untaint
type: function
doc:
<comment>Description:</comment>
  Untaint strings
  
  Untaint strings

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

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


id: uopz_add_function
type: function
doc:
<comment>Description:</comment>
  Adds non-existent function or method
  
  Adds a non-existent function or method.

<comment>Param:</comment>
  <info>string</info>   <strong>$class</strong>     The name of the class.
  <info>string</info>   <strong>$function</strong>  The name of the function or method.
  <info>Closure</info>  <strong>$handler</strong>   The <class>Closure</class> that defines the new function or method.
  <info>int</info>      <strong>$flags</strong>     Flags to set for the new function or method.
  <info>int</info>      <strong>$all</strong>       Whether all classes that descend from <strong>$class</strong> will also be affected.

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

<comment>See Also:</comment>
   * <strong>uopz_del_function()</strong>
   * <strong>uopz_set_return()</strong>


id: uopz_allow_exit
type: function
doc:
<comment>Description:</comment>
  Allows control over disabled exit opcode
  
  By default uopz disables the exit opcode, so <strong>exit()</strong> calls are practically ignored.
  <strong>uopz_allow_exit()</strong> allows to control this behavior.

<comment>Param:</comment>
  <info>bool</info>  <strong>$allow</strong>  Whether to allow the execution of exit opcodes or not.

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

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


id: uopz_backup
type: function
doc:
<comment>Description:</comment>
  Backup a function
  
  Backup a function at runtime, to be restored on shutdown

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class containing the function to backup
  <info>string</info>  <strong>$function</strong>  The name of the function

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


id: uopz_compose
type: function
doc:
<comment>Description:</comment>
  Compose a class
  
  Creates a new class of the given name that implements, extends, or uses all of the provided
  classes

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>        A legal class name
  <info>array</info>   <strong>$classes</strong>     An array of class, interface and trait names
  <info>array</info>   <strong>$methods</strong>     An associative array of methods, values are either closures or [modifiers
                       =&gt; closure]
  <info>array</info>   <strong>$properties</strong>  An associative array of properties, keys are names, values are modifiers
  <info>int</info>     <strong>$flags</strong>       Entry type, by default ZEND_ACC_CLASS

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


id: uopz_copy
type: function
doc:
<comment>Description:</comment>
  Copy a function
  
  Copy a function by name

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class containing the function to copy
  <info>string</info>  <strong>$function</strong>  The name of the function

<comment>Return:</comment>
  <info>Closure</info>  A Closure for the specified function


id: uopz_del_function
type: function
doc:
<comment>Description:</comment>
  Deletes previously added function or method
  
  Deletes a previously added function or method.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class.
  <info>string</info>  <strong>$function</strong>  The name of the function or method.
  <info>int</info>     <strong>$all</strong>       Whether all classes that descend from <strong>$class</strong> will also be affected.

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

<comment>See Also:</comment>
   * <strong>uopz_add_function()</strong>
   * <strong>uopz_unset_return()</strong>


id: uopz_delete
type: function
doc:
<comment>Description:</comment>
  Delete a function
  
  Deletes a function or method

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     
  <info>string</info>  <strong>$function</strong>  

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


id: uopz_extend
type: function
doc:
<comment>Description:</comment>
  Extend a class at runtime
  
  Makes <strong>$class</strong> extend <strong>$parent</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>   The name of the class to extend
  <info>string</info>  <strong>$parent</strong>  The name of the class to inherit

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


id: uopz_flags
type: function
doc:
<comment>Description:</comment>
  Get or set flags on function or class
  
  Get or set the flags on a class or function entry at runtime

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of a class
  <info>string</info>  <strong>$function</strong>  The name of the function. If <strong>$class</strong> is given and an empty string is passed as
                     <strong>$function</strong>, <strong>uopz_flags()</strong> gets or sets the flags of the class entry.
  <info>int</info>     <strong>$flags</strong>     A valid set of ZEND_ACC_ flags. If omitted, <strong>uopz_flags()</strong> acts as getter.

<comment>Return:</comment>
  <info>int</info>  If setting, returns old flags, else returns flags


id: uopz_function
type: function
doc:
<comment>Description:</comment>
  Creates a function at runtime
  
  Creates a function at runtime

<comment>Param:</comment>
  <info>string</info>   <strong>$class</strong>      The name of the class to receive the new function
  <info>string</info>   <strong>$function</strong>   The name of the function
  <info>Closure</info>  <strong>$handler</strong>    The Closure for the function
  <info>int</info>      <strong>$modifiers</strong>  The modifiers for the function, by default copied or ZEND_ACC_PUBLIC

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


id: uopz_get_exit_status
type: function
doc:
<comment>Description:</comment>
  Retrieve the last set exit status
  
  Retrieves the last set exit status, i.e. the value passed to <strong>exit()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  This function returns the last exit status, or <info>null</info> if <strong>exit()</strong> has not been called.

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


id: uopz_get_hook
type: function
doc:
<comment>Description:</comment>
  Gets previously set hook on function or method
  
  Gets the previously set hook on a function or method.

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

<comment>Return:</comment>
  <info>Closure</info>  Returns the previously set hook on a function or method, or <info>null</info> if no hook has been set.

<comment>See Also:</comment>
   * <strong>uopz_set_hook()</strong>
   * <strong>uopz_unset_hook()</strong>


id: uopz_get_mock
type: function
doc:
<comment>Description:</comment>
  Get the current mock for a class
  
  Returns the current mock for <strong>$class</strong>.

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

<comment>Return:</comment>
  <info>mixed</info>  Either a string containing the name of the mock, or an object, or <info>null</info> if no mock has been
         set.

<comment>See Also:</comment>
   * <strong>uopz_set_mock()</strong>
   * <strong>uopz_unset_mock()</strong>


id: uopz_get_property
type: function
doc:
<comment>Description:</comment>
  Gets value of class or instance property
  
  Gets the value of a static class property, if <strong>$class</strong> is given, or the value of an instance
  property, if <strong>$instance</strong> is given.

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

<comment>Return:</comment>
  <info>mixed</info>  Returns the value of the class or instance property, or <info>null</info> if the property is not
         defined.

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


id: uopz_get_return
type: function
doc:
<comment>Description:</comment>
  Gets a previous set return value for a function
  
  Gets the return value of the <strong>$function</strong> previously set by uopz_set_return.

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

<comment>Return:</comment>
  <info>mixed</info>  The return value or Closure previously set.


id: uopz_get_static
type: function
doc:
<comment>Description:</comment>
  Gets the static variables from function or method scope
  
  Gets the static variables from function or method scope.

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

<comment>Return:</comment>
  <info>array</info>  Returns an associative <info>array</info> of variable names mapped to their current values on success,
         or <info>null</info> if the function or method does not exist.

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


id: uopz_implement
type: function
doc:
<comment>Description:</comment>
  Implements an interface at runtime
  
  Makes <strong>$class</strong> implement <strong>$interface</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>      
  <info>string</info>  <strong>$interface</strong>  

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


id: uopz_overload
type: function
doc:
<comment>Description:</comment>
  Overload a VM opcode
  
  Overloads the specified <strong>$opcode</strong> with the user defined function

<comment>Param:</comment>
  <info>int</info>       <strong>$opcode</strong>    A valid opcode, see constants for details of supported codes
  <info>Callable</info>  <strong>$callable</strong>  

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


id: uopz_redefine
type: function
doc:
<comment>Description:</comment>
  Redefine a constant
  
  Redefines the given <strong>$constant</strong> as <strong>$value</strong>

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class containing the constant
  <info>string</info>  <strong>$constant</strong>  The name of the constant
  <info>mixed</info>   <strong>$value</strong>     The new value for the constant, must be a valid type for a constant variable

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


id: uopz_rename
type: function
doc:
<comment>Description:</comment>
  Rename a function at runtime
  
  Renames <strong>$function</strong> to <strong>$rename</strong>
  
  If both functions exist, this effectively swaps their names

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class containing the function
  <info>string</info>  <strong>$function</strong>  The name of an existing function
  <info>string</info>  <strong>$rename</strong>    The new name for the function

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


id: uopz_restore
type: function
doc:
<comment>Description:</comment>
  Restore a previously backed up function
  
  Restore a previously backed up function

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class containing the function to restore
  <info>string</info>  <strong>$function</strong>  The name of the function

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


id: uopz_set_hook
type: function
doc:
<comment>Description:</comment>
  Sets hook to execute when entering a function or method
  
  Sets a hook to execute when entering a function or method.

<comment>Param:</comment>
  <info>string</info>   <strong>$class</strong>     The name of the class.
  <info>string</info>   <strong>$function</strong>  The name of the function or method.
  <info>Closure</info>  <strong>$hook</strong>      A closure to execute when entering the function or method.

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

<comment>See Also:</comment>
   * <strong>uopz_get_hook()</strong>
   * <strong>uopz_unset_hook()</strong>


id: uopz_set_mock
type: function
doc:
<comment>Description:</comment>
  Use mock instead of class for new objects
  
  If <strong>$mock</strong> is a string containing the name of a class then it will be instantiated instead of
  <strong>$class</strong>. <strong>$mock</strong> can also be an object.
  
  Only dynamic access to properties and methods will use the <strong>$mock</strong> object. Static access still uses
  the original <strong>$class</strong>. See example below.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>  The name of the class to be mocked.
  <info>mixed</info>   <strong>$mock</strong>   The mock to use in the form of a string containing the name of the class to use or
                  an object. If a string is passed, it has to be the fully qualified class name. It
                  is recommended to use the ::class magic constant in this case.

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

<comment>See Also:</comment>
   * <strong>uopz_get_mock()</strong>
   * <strong>uopz_unset_mock()</strong>


id: uopz_set_property
type: function
doc:
<comment>Description:</comment>
  Sets value of existing class or instance property
  
  Sets the value of an existing static class property, if <strong>$class</strong> is given, or the value of an
  instance property (regardless whether the instance property already exists), if <strong>$instance</strong> is
  given.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class.
  <info>object</info>  <strong>$instance</strong>  The object instance.
  <info>string</info>  <strong>$property</strong>  The name of the property.
  <info>mixed</info>   <strong>$value</strong>     The value to assign to the property.

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

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


id: uopz_set_return
type: function
doc:
<comment>Description:</comment>
  Provide a return value for an existing function
  
  Sets the return value of the <strong>$function</strong> to <strong>$value</strong>. If <strong>$value</strong> is a Closure and <strong>$execute</strong> is set, the
  Closure will be executed in place of the original function. It is possible to call the original
  function from the Closure.
  
  This function replaces uopz_rename.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class containing the function
  <info>string</info>  <strong>$function</strong>  The name of an existing function
  <info>mixed</info>   <strong>$value</strong>     The value the function should return. If a Closure is provided and the execute
                     flag is set, the Closure will be executed in place of the original function.
  <info>bool</info>    <strong>$execute</strong>   If true, and a Closure was provided as the value, the Closure will be executed
                     in place of the original function.

<comment>Return:</comment>
  <info>bool</info>  True if succeeded, false otherwise.


id: uopz_set_static
type: function
doc:
<comment>Description:</comment>
  Sets the static variables in function or method scope
  
  Sets the static variables in function or method scope.

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class.
  <info>string</info>  <strong>$function</strong>  The name of the function or method.
  <info>array</info>   <strong>$static</strong>    The associative <info>array</info> of variable names mapped to their values.

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

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


id: uopz_undefine
type: function
doc:
<comment>Description:</comment>
  Undefine a constant
  
  Removes the constant at runtime

<comment>Param:</comment>
  <info>string</info>  <strong>$class</strong>     The name of the class containing <strong>$constant</strong>
  <info>string</info>  <strong>$constant</strong>  The name of an existing constant

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


id: uopz_unset_hook
type: function
doc:
<comment>Description:</comment>
  Removes previously set hook on function or method
  
  Removes the previously set hook on a function or method.

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

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

<comment>See Also:</comment>
   * <strong>uopz_set_hook()</strong>
   * <strong>uopz_get_hook()</strong>


id: uopz_unset_mock
type: function
doc:
<comment>Description:</comment>
  Unset previously set mock
  
  Unsets the previously set mock for <strong>$class</strong>.

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

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

<comment>See Also:</comment>
   * <strong>uopz_set_mock()</strong>
   * <strong>uopz_get_mock()</strong>


id: uopz_unset_return
type: function
doc:
<comment>Description:</comment>
  Unsets a previously set return value for a function
  
  Unsets the return value of the <strong>$function</strong> previously set by uopz_set_return.

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

<comment>Return:</comment>
  <info>bool</info>  True on success


id: urldecode
type: function
doc:
<comment>Description:</comment>
  解码已编码的 URL 字符串
  
  解码给出的已编码字符串中的任何 <return>%##</return>。 加号（'<return>+</return>'）被解码成一个空格字符。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  要解码的字符串。

<comment>Return:</comment>
  <info>string</info>  返回解码后的字符串。

<comment>See Also:</comment>
   * <strong>urlencode()</strong>
   * <strong>rawurlencode()</strong>
   * <strong>rawurldecode()</strong>
   * RFC 3986


id: urlencode
type: function
doc:
<comment>Description:</comment>
  编码 URL 字符串
  
  此函数便于将字符串编码并将其用于 URL 的请求部分，同时它还便于将变量传递给下一页。

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  要编码的字符串。

<comment>Return:</comment>
  <info>string</info>  返回字符串，此字符串中除了 <return>-_.</return>  之外的所有非字母数字字符都将被替换成百分号（<return>%</return>）后跟两位十
          六进制数，空格则编码为加号（<return>+</return>）。此编码与 WWW 表单 POST 数据的编码方式是一样的，同时与
          <return>application/x-www-form-urlencoded</return> 的媒体类型编码方式一样。由于历史原因，此编码在将空格编码
          为加号（+）方面与 RFC3986 编码（参见 <strong>rawurlencode()</strong>）不同。

<comment>See Also:</comment>
   * <strong>urldecode()</strong>
   * <strong>htmlentities()</strong>
   * <strong>rawurlencode()</strong>
   * <strong>rawurldecode()</strong>
   * RFC 3986


id: use_soap_error_handler
type: function
doc:
<comment>Description:</comment>
  Set whether to use the SOAP error handler
  
  This function sets whether or not to use the SOAP error handler in the SOAP server.  It will
  return the previous value. If set to <info>true</info>, details of errors in a <class>SoapServer</class> application will be
  sent to the client as a SOAP fault message. If <info>false</info>, the standard PHP error handler is used. The
  default is to send error to the client as SOAP fault message.

<comment>Param:</comment>
  <info>bool</info>  <strong>$enable</strong>  Set to <info>true</info> to send error details to clients.

<comment>Return:</comment>
  <info>bool</info>  Returns the original value.

<comment>See Also:</comment>
   * <strong>set_error_handler()</strong>
   * <strong>set_exception_handler()</strong>


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


id: usleep
type: function
doc:
<comment>Description:</comment>
  以指定的微秒数延迟执行
  
  以指定的微秒数延缓程序的执行。

<comment>Param:</comment>
  <info>int</info>  <strong>$microseconds</strong>  暂停的时间以微秒计。1微秒（micro second）是百万分之一秒。
                      
                      操作系统不支持大于 <return>1000000</return> 的值（即休眠不能超过 1 秒）。使用 <strong>sleep()</strong> 代替。
                      
                      任何系统活动或处理调用所花费的时间或系统计时器的粒度都可能会稍微延长睡眠时间
                      （即可能会长于 <strong>$microseconds</strong>）。

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

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


id: usort
type: function
doc:
<comment>Description:</comment>
  使用用户自定义的比较函数对数组中的值进行排序
  
  根据用户提供的比较函数，对 <strong>$array</strong> 原地排序。
  
  如果两个成员完全相同，那么它们将保持原来的顺序。 在 PHP 8.0.0 之前，它们在排序数组中的相对顺序是未
  定义的。
  
  此函数为 <strong>$array</strong>
  中的元素赋与新的键名。这将删除原有的键名，而不是仅仅将键名重新排序。

<comment>Param:</comment>
  <info>array</info>     <strong>$array</strong>     输入的数组
  <info>callable</info>  <strong>$callback</strong>  在第一个参数小于，等于或大于第二个参数时，该比较函数必须相应地返回一个小于，
                       等于或大于 0 的整数。
                       
                       从比较函数中返回非整数值，例如 <info>float</info>，将导致内部强制转换为 callback 返回值为
                       <info>int</info>。因此，诸如 <return>0.99</return> 和 <return>0.1</return> 之类的值都将被转换为整数值 <return>0</return>，将这些值比较的话将
                       会是相等。

<comment>Return:</comment>
  <info>true</info>  总是返回 <info>true</info>。

<comment>See Also:</comment>
   * <strong>uasort()</strong>
   * <strong>uksort()</strong>
   * 数组排序函数对比


id: utf8_decode
type: function
doc:
<comment>Description:</comment>
  将字符串从 UTF-8 转换为 ISO-8859-1，替换无效或者无法表示的字符。
    
  
  该函数将字符串 <strong>$string</strong> 从 <return>UTF-8</return> 编码转换为 <return>ISO-8859-1</return>。字符串中不是有效 UTF-8 字节或者不存在于
  <return>ISO-8859-1</return> 的 <return>UTF-8</return> 字符（即 <return>U+00FF</return> 以上的码点）将转化为 <return>?</return>。
  
  Many web pages marked as using the <return>ISO-8859-1</return> character encoding actually use the similar
  <return>Windows-1252</return> encoding, and web browsers will interpret <return>ISO-8859-1</return> web pages as <return>Windows-1252</return>.
  <return>Windows-1252</return> features additional printable characters, such as the Euro sign (<return>€</return>) and curly quotes
  (<return>“</return> <return>”</return>), instead of certain <return>ISO-8859-1</return> control characters. This function will not convert such
  <return>Windows-1252</return> characters correctly. Use a different function if <return>Windows-1252</return> conversion is
  required.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  UTF-8 编码的字符串。

<comment>Return:</comment>
  <info>string</info>  返回 <strong>$string</strong> 的 ISO-8859-1 翻译。

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


id: utf8_encode
type: function
doc:
<comment>Description:</comment>
  将字符串从 ISO-8859-1 转换为 UTF-8 编码
  
  该函数将 <strong>$string</strong> 字符串从 <return>ISO-8859-1</return> 编码转换为 <return>UTF-8</return>。
  
  This function does not attempt to guess the current encoding of the provided string, it assumes it
  is encoded as ISO-8859-1 (also known as "Latin 1") and converts to UTF-8. Since every sequence of
  bytes is a valid ISO-8859-1 string, this never results in an error, but will not result in a
  useful string if a different encoding was intended.
  
  Many web pages marked as using the <return>ISO-8859-1</return> character encoding actually use the similar
  <return>Windows-1252</return> encoding, and web browsers will interpret <return>ISO-8859-1</return> web pages as <return>Windows-1252</return>.
  <return>Windows-1252</return> features additional printable characters, such as the Euro sign (<return>€</return>) and curly quotes
  (<return>“</return> <return>”</return>), instead of certain <return>ISO-8859-1</return> control characters. This function will not convert such
  <return>Windows-1252</return> characters correctly. Use a different function if <return>Windows-1252</return> conversion is
  required.

<comment>Param:</comment>
  <info>string</info>  <strong>$string</strong>  ISO-8859-1 字符串。

<comment>Return:</comment>
  <info>string</info>  返回 <strong>$string</strong> 的 UTF-8 翻译。

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


id: var_dump
type: function
doc:
<comment>Description:</comment>
  打印变量的相关信息
  
  此函数显示关于一个或多个表达式的结构信息，包括表达式的类型与值。数组和对象将递归展开值，通过缩进显
  示其结构。
  
  对象的所有公共、私有和受保护的属性都会在输出中返回，除非该对象实现了 __debugInfo() 方法。
  
  和直接将结果输出到浏览器一样，可使用输出控制函数来捕获当前函数的输出，然后(例如)保存到一个 <info>string</info>
  中。

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>   要打印的表达式。
  <info>mixed</info>  <strong>$values</strong>  更多要打印的表达式。

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

<comment>See Also:</comment>
   * <strong>print_r()</strong>
   * <strong>debug_zval_dump()</strong>
   * <strong>var_export()</strong>
   * __debugInfo()


id: var_export
type: function
doc:
<comment>Description:</comment>
  输出或返回变量的可解析字符串表示
  
  <strong>var_export()</strong> 函数返回关于传递给该函数的变量的结构信息，它和 <strong>var_dump()</strong> 函数类似，不同的是其返回的
  表示是合法的 PHP 代码。

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>   想要输出的变量名。
  <info>bool</info>   <strong>$return</strong>  此参数为 <info>true</info> 时，<strong>var_export()</strong> 将返回一个变量，而不是输出它。

<comment>Return:</comment>
  <info>string|null</info>  参数 <strong>$return</strong> 为 <info>true</info> 时返回变量。否则返回 <info>null</info>。

<comment>See Also:</comment>
   * <strong>print_r()</strong>
   * <strong>serialize()</strong>
   * <strong>var_dump()</strong>


id: var_representation
type: function
doc:
<comment>Description:</comment>
  Returns a short, readable, parsable string representation of a variable
  
  <strong>var_representation()</strong> (from the var_representation PECL) returns a string with structured
  information about the  given variable. It is similar to <strong>var_export()</strong> with differences in
  indentation, string escaping, and array representations.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The variable to generate a representation of.
  <info>int</info>    <strong>$flags</strong>  Bitmask consisting of <info>VAR_REPRESENTATION_SINGLE_LINE</info>,
                 <info>VAR_REPRESENTATION_UNESCAPED</info>. The behaviour of these constants is described on the
                 var_representation constants page.

<comment>Return:</comment>
  <info>string</info>  Returns the variable representation.

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


id: variant
type: class
doc:
<comment>Description:</comment>
  The VARIANT is COM's equivalent of the PHP zval; it is a structure that can contain a value with a
  range of different possible types.  The variant class provided by the COM extension allows you to
  have more control over the way that PHP passes values to and from COM.


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

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>     Initial value. If omitted, or set to <info>null</info> an VT_EMPTY object is created.
  <info>int</info>    <strong>$type</strong>      Specifies the content type of the variant object. Possible values are one of the
                    <info>VT_XXX</info> .
                    
                    PHP can detect parameters passed by reference automatically; they do not even
                    need to be passed as variant objects.
                    
                    Consult the MSDN library for additional information on the VARIANT type.
  <info>int</info>    <strong>$codepage</strong>  Specifies the codepage that is used to convert strings to unicode.  See the
                    parameter of the same name in the  class for more information.


id: variant_abs
type: function
doc:
<comment>Description:</comment>
  Returns the absolute value of a variant
  
  Returns the absolute value of a variant.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The variant.

<comment>Return:</comment>
  <info>variant</info>  Returns the absolute value of <strong>$value</strong>.

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


id: variant_add
type: function
doc:
<comment>Description:</comment>
  "Adds" two variant values together and returns the result
  
  Adds <strong>$left</strong> to <strong>$right</strong> using the following rules (taken from the MSDN library), which correspond to
  those of Visual Basic: Variant Addition RulesIfThenBoth expressions are of the string
  typeConcatenationOne expression is a string type and the other a characterAdditionOne expression
  is numeric and the other is a stringAdditionBoth expressions are numericAdditionEither expression
  is NULLNULL is returnedBoth expressions are emptyInteger subtype is returned

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Returns the result.

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


id: variant_and
type: function
doc:
<comment>Description:</comment>
  Performs a bitwise AND operation between two variants
  
  Performs a bitwise AND operation. Note that this is slightly different from a regular AND
  operation.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Variant AND RulesIf <strong>$left</strong> isIf <strong>$right</strong> isthen the result
           is<info>true</info><info>true</info><info>true</info><info>true</info><info>false</info><info>false</info><info>true</info><info>null</info><info>null</info><info>false</info><info>true</info><info>false</info><info>false</info><info>false</info><info>false</info><info>false</info><info>null</info><info>false</info><info>null</info><info>true</info><info>null</info><info>null</info><info>false</info><info>false</info><info>null</info><info>null</info><info>null</info>

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


id: variant_cast
type: function
doc:
<comment>Description:</comment>
  Convert a variant into a new variant object of another type
  
  This function makes a copy of <strong>$variant</strong> and then performs a variant cast operation to force the
  copy to have the type given by <strong>$type</strong>.
  
  This function wraps VariantChangeType() in the COM library; consult MSDN for more information.

<comment>Param:</comment>
  <info>variant</info>  <strong>$variant</strong>  The variant.
  <info>int</info>      <strong>$type</strong>     <strong>$type</strong> should be one of the <info>VT_XXX</info> constants.

<comment>Return:</comment>
  <info>variant</info>  Returns a variant of given <strong>$type</strong>.

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


id: variant_cat
type: function
doc:
<comment>Description:</comment>
  Concatenates two variant values together and returns the result
  
  Concatenates <strong>$left</strong> with <strong>$right</strong> and returns the result.
  
  This function is notionally equivalent to <strong>$left</strong> <return>.</return> <strong>$right</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Returns the result of the concatenation.

<comment>See Also:</comment>
   *  for the string
   concatenation operator


id: variant_cmp
type: function
doc:
<comment>Description:</comment>
  Compares two variants
  
  Compares <strong>$left</strong> with <strong>$right</strong>.
  
  This function will only compare scalar values, not arrays or variant records.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>       The left operand.
  <info>mixed</info>  <strong>$right</strong>      The right operand.
  <info>int</info>    <strong>$locale_id</strong>  A valid Locale Identifier to use when comparing strings (this affects string
                     collation).
  <info>int</info>    <strong>$flags</strong>      <strong>$flags</strong> can be one or more of the following values OR'd together, and affects
                     string comparisons: Variant Comparision Flagsvaluemeaning<info>NORM_IGNORECASE</info>Compare
                     case insensitively<info>NORM_IGNORENONSPACE</info>Ignore nonspacing
                     characters<info>NORM_IGNORESYMBOLS</info>Ignore symbols<info>NORM_IGNOREWIDTH</info>Ignore string
                     width<info>NORM_IGNOREKANATYPE</info>Ignore Kana type<info>NORM_IGNOREKASHIDA</info>Ignore Arabic kashida
                     characters

<comment>Return:</comment>
  <info>int</info>  Returns one of the following: Variant Comparision Resultsvaluemeaning<info>VARCMP_LT</info><strong>$left</strong> is less
       than <strong>$right</strong> <info>VARCMP_EQ</info><strong>$left</strong> is equal to <strong>$right</strong> <info>VARCMP_GT</info><strong>$left</strong> is greater than <strong>$right</strong>
       <info>VARCMP_NULL</info>Either <strong>$left</strong>, <strong>$right</strong> or both are <info>null</info>


id: variant_date_from_timestamp
type: function
doc:
<comment>Description:</comment>
  Returns a variant date representation of a Unix timestamp
  
  Converts <strong>$timestamp</strong> from a unix timestamp value into a variant of type <info>VT_DATE</info>.  This allows
  easier interopability between the unix-ish parts of PHP and COM.

<comment>Param:</comment>
  <info>int</info>  <strong>$timestamp</strong>  A unix timestamp.

<comment>Return:</comment>
  <info>variant</info>  Returns a <info>VT_DATE</info> variant.

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


id: variant_date_to_timestamp
type: function
doc:
<comment>Description:</comment>
  Converts a variant date/time value to Unix timestamp
  
  Converts <strong>$variant</strong> from a <info>VT_DATE</info> (or similar) value into a Unix timestamp.  This allows easier
  interopability between the Unix-ish parts of PHP and COM.

<comment>Param:</comment>
  <info>variant</info>  <strong>$variant</strong>  The variant.

<comment>Return:</comment>
  <info>int|null</info>  Returns a unix timestamp, or <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>variant_date_from_timestamp()</strong>
   * <strong>date()</strong>
   * <strong>strftime()</strong>


id: variant_div
type: function
doc:
<comment>Description:</comment>
  Returns the result from dividing two variants
  
  Divides <strong>$left</strong> by <strong>$right</strong> and returns the result.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Variant Division RulesIfThenBoth expressions are of the string, date, character, boolean
           typeDouble is returnedOne expression is a string type and the other a characterDivision
           and a double is returnedOne expression is numeric and the other is a stringDivision and a
           double is returned.Both expressions are numericDivision and a double is returnedEither
           expression is NULLNULL is returned<strong>$right</strong> is empty and <strong>$left</strong> is anything but emptyA
           <class>com_exception</class> with code <info>DISP_E_DIVBYZERO</info> is thrown<strong>$left</strong> is empty and <strong>$right</strong> is anything
           but empty.0 as type double is returnedBoth expressions are emptyA <class>com_exception</class> with code
           <info>DISP_E_OVERFLOW</info> is thrown

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


id: variant_eqv
type: function
doc:
<comment>Description:</comment>
  Performs a bitwise equivalence on two variants
  
  Performs a bitwise equivalence on two variants.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  If each bit in <strong>$left</strong> is equal to the corresponding bit in <strong>$right</strong> then <info>true</info> is returned,
           otherwise <info>false</info> is returned.


id: variant_fix
type: function
doc:
<comment>Description:</comment>
  Returns the integer portion of a variant
  
  Gets the integer portion of a variant.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The variant.

<comment>Return:</comment>
  <info>variant</info>  If <strong>$value</strong> is negative, then the first negative integer greater than or equal to the
           variant is returned, otherwise returns the integer portion of the value of <strong>$value</strong>.

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


id: variant_get_type
type: function
doc:
<comment>Description:</comment>
  Returns the type of a variant object
  
  Returns the type of a variant object.

<comment>Param:</comment>
  <info>variant</info>  <strong>$variant</strong>  The variant object.

<comment>Return:</comment>
  <info>int</info>  This function returns an integer value that indicates the type of <strong>$variant</strong>, which can be an
       instance of ,  or  classes.  The return value can be compared to one of the <info>VT_XXX</info> constants.
       
       The return value for COM and DOTNET objects will usually be <info>VT_DISPATCH</info>; the only reason this
       function works for those classes is because COM and DOTNET are descendants of VARIANT.

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


id: variant_idiv
type: function
doc:
<comment>Description:</comment>
  Converts variants to integers and then returns the result from dividing them
  
  Converts <strong>$left</strong> and <strong>$right</strong> to integer values, and then performs integer division.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Variant Integer Division RulesIfThenBoth expressions are of the string, date, character,
           boolean typeDivision and integer is returnedOne expression is a string type and the other
           a characterDivisionOne expression is numeric and the other is a stringDivisionBoth
           expressions are numericDivisionEither expression is NULLNULL is returnedBoth expressions
           are emptyA <class>com_exception</class> with code <info>DISP_E_DIVBYZERO</info> is thrown

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


id: variant_imp
type: function
doc:
<comment>Description:</comment>
  Performs a bitwise implication on two variants
  
  Performs a bitwise implication operation.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Variant Implication TableIf <strong>$left</strong> isIf <strong>$right</strong> isthen the result
           is<info>true</info><info>true</info><info>true</info><info>true</info><info>false</info><info>false</info><info>true</info><info>null</info><info>true</info><info>false</info><info>true</info><info>true</info><info>false</info><info>false</info><info>true</info><info>false</info><info>null</info><info>true</info><info>null</info><info>true</info><info>true</info><info>null</info><info>false</info><info>null</info><info>null</info><info>null</info><info>null</info>


id: variant_int
type: function
doc:
<comment>Description:</comment>
  Returns the integer portion of a variant
  
  Gets the integer portion of a variant.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The variant.

<comment>Return:</comment>
  <info>variant</info>  If <strong>$value</strong> is negative, then the first negative integer greater than or equal to the
           variant is returned, otherwise returns the integer portion of the value of <strong>$value</strong>.

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


id: variant_mod
type: function
doc:
<comment>Description:</comment>
  Divides two variants and returns only the remainder
  
  Divides <strong>$left</strong> by <strong>$right</strong> and returns the remainder.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Returns the remainder of the division.

<comment>See Also:</comment>
   * <strong>variant_div()</strong>
   * <strong>variant_idiv()</strong>


id: variant_mul
type: function
doc:
<comment>Description:</comment>
  Multiplies the values of the two variants
  
  Multiplies <strong>$left</strong> by <strong>$right</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Variant Multiplication RulesIfThenBoth expressions are of the string, date, character,
           boolean typeMultiplicationOne expression is a string type and the other a
           characterMultiplicationOne expression is numeric and the other is a
           stringMultiplicationBoth expressions are numericMultiplicationEither expression is
           NULLNULL is returnedBoth expressions are emptyEmpty string is returned

<comment>See Also:</comment>
   * <strong>variant_div()</strong>
   * <strong>variant_idiv()</strong>


id: variant_neg
type: function
doc:
<comment>Description:</comment>
  Performs logical negation on a variant
  
  Performs logical negation of <strong>$value</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The variant.

<comment>Return:</comment>
  <info>variant</info>  Returns the result of the logical negation.


id: variant_not
type: function
doc:
<comment>Description:</comment>
  Performs bitwise not negation on a variant
  
  Performs bitwise not negation on <strong>$value</strong> and returns the result.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>  The variant.

<comment>Return:</comment>
  <info>variant</info>  Returns the bitwise not negation. If <strong>$value</strong> is <info>null</info>, the result will also be <info>null</info>.


id: variant_or
type: function
doc:
<comment>Description:</comment>
  Performs a logical disjunction on two variants
  
  Performs a bitwise OR operation. Note that this is slightly different from a regular OR operation.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Variant OR RulesIf <strong>$left</strong> isIf <strong>$right</strong> isthen the result
           is<info>true</info><info>true</info><info>true</info><info>true</info><info>false</info><info>true</info><info>true</info><info>null</info><info>true</info><info>false</info><info>true</info><info>true</info><info>false</info><info>false</info><info>false</info><info>false</info><info>null</info><info>null</info><info>null</info><info>true</info><info>true</info><info>null</info><info>false</info><info>null</info><info>null</info><info>null</info><info>null</info>

<comment>See Also:</comment>
   * <strong>variant_and()</strong>
   * <strong>variant_xor()</strong>


id: variant_pow
type: function
doc:
<comment>Description:</comment>
  Returns the result of performing the power function with two variants
  
  Returns the result of <strong>$left</strong> to the power of <strong>$right</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Returns the result of <strong>$left</strong> to the power of <strong>$right</strong>.

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


id: variant_round
type: function
doc:
<comment>Description:</comment>
  Rounds a variant to the specified number of decimal places
  
  Returns the value of <strong>$value</strong> rounded to <strong>$decimals</strong> decimal places.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$value</strong>     The variant.
  <info>int</info>    <strong>$decimals</strong>  Number of decimal places.

<comment>Return:</comment>
  <info>variant|null</info>  Returns the rounded value, or <info>null</info> on failure.

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


id: variant_set
type: function
doc:
<comment>Description:</comment>
  Assigns a new value for a variant object
  
  Converts <strong>$value</strong> to a variant and assigns it to the <strong>$variant</strong> object; no new variant object is
  created, and the old value of <strong>$variant</strong> is freed/released.

<comment>Param:</comment>
  <info>variant</info>  <strong>$variant</strong>  The variant.
  <info>mixed</info>    <strong>$value</strong>    

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


id: variant_set_type
type: function
doc:
<comment>Description:</comment>
  Convert a variant into another type "in-place"
  
  This function is similar to <strong>variant_cast()</strong> except that the variant is modified "in-place"; no new
  variant is created. The parameters for this function have identical meaning to those of
  <strong>variant_cast()</strong>.

<comment>Param:</comment>
  <info>variant</info>  <strong>$variant</strong>  The variant.
  <info>int</info>      <strong>$type</strong>     

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

<comment>See Also:</comment>
   * <strong>variant_cast()</strong>
   * <strong>variant_get_type()</strong>


id: variant_sub
type: function
doc:
<comment>Description:</comment>
  Subtracts the value of the right variant from the left variant value
  
  Subtracts <strong>$right</strong> from <strong>$left</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Variant Subtraction RulesIfThenBoth expressions are of the string typeSubtractionOne
           expression is a string type and the other a characterSubtractionOne expression is numeric
           and the other is a stringSubtraction.Both expressions are numericSubtractionEither
           expression is NULLNULL is returnedBoth expressions are emptyEmpty string is returned

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


id: variant_xor
type: function
doc:
<comment>Description:</comment>
  Performs a logical exclusion on two variants
  
  Performs a logical exclusion.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$left</strong>   The left operand.
  <info>mixed</info>  <strong>$right</strong>  The right operand.

<comment>Return:</comment>
  <info>variant</info>  Variant XOR RulesIf <strong>$left</strong> isIf <strong>$right</strong> isthen the result
           is<info>true</info><info>true</info><info>false</info><info>true</info><info>false</info><info>true</info><info>false</info><info>true</info><info>true</info><info>false</info><info>false</info><info>false</info><info>null</info><info>null</info><info>null</info>

<comment>See Also:</comment>
   * <strong>variant_or()</strong>
   * <strong>variant_and()</strong>


id: version_compare
type: function
doc:
<comment>Description:</comment>
  对比两个「PHP 规范化」的版本数字字符串
  
  <strong>version_compare()</strong> 用于对比两个「PHP 规范化」的版本数字字符串。
  
  此函数首先在版本字符串里用一个点 <return>.</return> 替换 <return>_</return>、<return>-</return> 和 <return>+</return>，也会在任意非数字前后插入一个点 <return>.</return>，这样，类似
  '4.3.2RC1' 将会变成 '4.3.2.RC.1'。 接下来它会分割结果， 然后它会从左往右对比各个部分。 如果某部分
  包含了特定的版本字符串，将会用以下顺序处理： <return>列表中未找到的任意字符串</return> \<  <return>dev</return> \< <return>alpha</return> = <return>a</return> \< <return>beta</return>
  = <return>b</return> \< <return>RC</return> =   <return>rc</return> \< <return>#</return> \< <return>pl</return> = <return>p</return>。  这种方式不仅能够对比类似 '4.1' 和 '4.1.2' 那种不同的版本级别，
  同时也可以指定对比任何包含 PHP 开发状态的版本。

<comment>Param:</comment>
  <info>string</info>       <strong>$version1</strong>  第一个版本数。
  <info>string</info>       <strong>$version2</strong>  第二个版本数。
  <info>string|null</info>  <strong>$operator</strong>  可选运算符。可能运算符有：<return>\<</return>、<return>lt</return>、<return>\<=</return>、<return>le</return>、 <return>&gt;</return>、<return>gt</return>、<return>&gt;=</return>、<return>ge</return>、<return>==</return>、 <return>=</return>、<return>eq</return>、<return>!=</return>、<return>\<&gt;</return>、<return>ne</return>。
                          
                          此参数区分大小写，它的值应该是小写的。

<comment>Return:</comment>
  <info>int|bool</info>  默认情况下，在第一个版本低于第二个时，<strong>version_compare()</strong> 返回 <return>-1</return>；如果两者相等，返回 <return>0</return>；
            第二个版本更低时则返回 <return>1</return>。
            
            当使用了可选参数 <strong>$operator</strong> 时，如果关系是操作符所指定的那个，函数将返回 <info>true</info>，否则返回
            <info>false</info>。

<comment>See Also:</comment>
   * <strong>phpversion()</strong>
   * <strong>php_uname()</strong>
   * <strong>function_exists()</strong>


id: vfprintf
type: function
doc:
<comment>Description:</comment>
  将格式化字符串写入流
  
  向由 <strong>$stream</strong> 指定的流资源句柄中写入根据 <strong>$format</strong> 格式化后的字符串。
  
  作用与 <strong>fprintf()</strong> 函数类似，但是接收一个数组参数，而不是一系列可变数量的参数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$stream</strong>  
  <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>array</info>     <strong>$values</strong>  

<comment>Return:</comment>
  <info>int</info>  返回输出字符串的长度。

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


id: virtual
type: function
doc:
<comment>Description:</comment>
  执行 Apache 子请求
  
  <strong>virtual()</strong> 是一个 Apache 特有函数， 类似于 <return>mod_include</return> 中的 <return>\<!--#include virtual...--&gt;</return>。 它执行一个 Apache 子请求。可用于包含一个 CGI 脚本或 .shtml 文件，或任何其它可通过 Apache 解析的请求。注意对一个 CGI 脚本，该脚本 生成合法的 CGI 头，至少必须 生成<return>Content-Type</return> 头。
  
  为运行子请求，所有缓冲将中止并刷新至浏览器，包括头信息。
  
  仅在 PHP 以 Apache 模块运行时，才支持此函数。

<comment>Param:</comment>
  <info>string</info>  <strong>$uri</strong>  virtual命令将执行的文件

<comment>Return:</comment>
  <info>bool</info>  成功执行 virtual 命令，或失败时返回 <info>false</info> 。

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


id: vprintf
type: function
doc:
<comment>Description:</comment>
  输出格式化字符串
  
  根据 <strong>$format</strong> （<strong>sprintf()</strong> 函数文档中有相关描述）参数指定的格式，在一个格式化字符串中显示多个值。
  
  作用与 <strong>printf()</strong> 函数类似，但是接收一个数组参数，而不是一系列可变数量的参数。

<comment>Param:</comment>
  <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>array</info>   <strong>$values</strong>  

<comment>Return:</comment>
  <info>int</info>  返回输出字符串的长度。

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


id: vsprintf
type: function
doc:
<comment>Description:</comment>
  返回格式化字符串
  
  作用与 <strong>sprintf()</strong> 函数类似，但是接收一个数组参数，而不是一系列可变数量的参数。

<comment>Param:</comment>
  <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>array</info>   <strong>$values</strong>  

<comment>Return:</comment>
  <info>string</info>  根据 <strong>$format</strong> 和数组参数返回处理后的字符串。

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


id: wddx_add_vars
type: function
doc:
<comment>Description:</comment>
  Add variables to a WDDX packet with the specified ID
  
  Serializes the passed variables and add the result to the given packet.

<comment>Param:</comment>
  <info>resource</info>  <strong>$packet_id</strong>  A WDDX packet, returned by <strong>wddx_packet_start()</strong>.
  <info>mixed</info>     <strong>$var_name</strong>   Can be either a string naming a variable or an array containing strings
                        naming the variables or another array, etc.
  <info>mixed</info>     <strong>$var_names</strong>  

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


id: wddx_deserialize
type: function
doc:
<comment>Description:</comment>
  Unserializes a WDDX packet
  
  Unserializes a WDDX <strong>$packet</strong>.
  
  Do not pass untrusted user input to <strong>wddx_deserialize()</strong>. Unserialization can result in code being
  loaded and executed due to object instantiation and autoloading, and a malicious user may be able
  to exploit this. Use a safe, standard data interchange format such as JSON (via <strong>json_decode()</strong> and
  <strong>json_encode()</strong>) if you need to pass serialized data to the user.

<comment>Param:</comment>
  <info>string</info>  <strong>$packet</strong>  A WDDX packet, as a string or stream.

<comment>Return:</comment>
  <info>mixed</info>  Returns the deserialized value which can be a string, a number or an array. Note that
         structures are deserialized into associative arrays.


id: wddx_packet_end
type: function
doc:
<comment>Description:</comment>
  Ends a WDDX packet with the specified ID
  
  Ends and returns the given WDDX packet.

<comment>Param:</comment>
  <info>resource</info>  <strong>$packet_id</strong>  A WDDX packet, returned by <strong>wddx_packet_start()</strong>.

<comment>Return:</comment>
  <info>string</info>  Returns the string containing the WDDX packet.


id: wddx_packet_start
type: function
doc:
<comment>Description:</comment>
  Starts a new WDDX packet with structure inside it
  
  Start a new WDDX packet for incremental addition of variables. It automatically creates a
  structure definition inside the packet to contain the variables.

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

<comment>Return:</comment>
  <info>resource</info>  Returns a packet ID for use in later functions, or <info>false</info> on error.


id: wddx_serialize_value
type: function
doc:
<comment>Description:</comment>
  Serialize a single value into a WDDX packet
  
  Creates a WDDX packet from a single given value.

<comment>Param:</comment>
  <info>mixed</info>   <strong>$var</strong>      The value to be serialized
  <info>string</info>  <strong>$comment</strong>  An optional comment string that appears in the packet header.

<comment>Return:</comment>
  <info>string</info>  Returns the WDDX packet, or <info>false</info> on error.


id: wddx_serialize_vars
type: function
doc:
<comment>Description:</comment>
  Serialize variables into a WDDX packet
  
  Creates a WDDX packet with a structure that contains the serialized representation of the passed
  variables.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$var_name</strong>   Can be either a string naming a variable or an array containing strings naming
                     the variables or another array, etc.
  <info>mixed</info>  <strong>$var_names</strong>  

<comment>Return:</comment>
  <info>string</info>  Returns the WDDX packet, or <info>false</info> on error.


id: win32_continue_service
type: function
doc:
<comment>Description:</comment>
  Resumes a paused service
  
  Resumes a paused, named service. Requires administrative privileges or  an account with
  appropriate rights set in the service's ACL.

<comment>Param:</comment>
  <info>string</info>  <strong>$servicename</strong>  The short name of the service.
  <info>string</info>  <strong>$machine</strong>      Optional machine name.  If omitted, the local machine is used.

<comment>Return:</comment>
  <info>void</info>  没有返回值。
        
        Prior to version 1.0.0,  成功时返回 <info>WIN32_NO_ERROR</info>，参数错误时返回 <info>false</info>，或失败时返回一个
        Win32 错误码。

<comment>See Also:</comment>
   * <strong>win32_start_service()</strong>
   * <strong>win32_stop_service()</strong>
   * <strong>win32_pause_service()</strong>
   * <strong>win32_send_custom_control()</strong>
   * Win32 Error Codes


id: win32_create_service
type: function
doc:
<comment>Description:</comment>
  Creates a new service entry in the SCM database
  
  Attempts to add a service into the SCM database. Administrative privileges are required for this
  to succeed.

<comment>Param:</comment>
  <info>array</info>   <strong>$details</strong>                An array of service details: <strong>$service</strong> The short name of the
                                  service.  This is the name that you will use to control the
                                  service using the <return>net</return> command.  The service must be unique (no two
                                  services can share the same name), and, ideally, should avoid
                                  having spaces in the name. <strong>$display</strong>The display name of the
                                  service.  This is the name that you will see in the Services
                                  Applet. <strong>$description</strong>The long description of the service.  This is
                                  the description that you will see in the Services Applet. <strong>$user</strong>
                                  The name of the user account under which you want the service to
                                  run.  If omitted, the service will run as the LocalSystem account.
                                  If the username is specified, you must also provide a password.
                                  <strong>$password</strong> The password that corresponds to the <strong>$user</strong>. <strong>$path</strong> The
                                  full path to the executable module that will be launched when the
                                  service is started.  If omitted, the path to the current PHP
                                  process will be used. <strong>$params</strong> Command line parameters to pass to
                                  the service when it starts. If you want to run a PHP script as the
                                  service, then the first parameter should be the full path to the
                                  PHP script that you intend to run. If the script name or path
                                  contains spaces, then wrap the full path to the PHP script with <return>"</return>.
                                  <strong>$load_order</strong> Controls the load_order.  This is not yet fully
                                  supported. <strong>$svc_type</strong> Sets the service type.  If omitted, the
                                  default value is <info>WIN32_SERVICE_WIN32_OWN_PROCESS</info>. Don't change
                                  this unless you know what you're doing. <strong>$start_type</strong> Specifies how
                                  the service should be started.  The default is
                                  <info>WIN32_SERVICE_AUTO_START</info> which means the service will be launched
                                  when the machine starts up. <strong>$error_control</strong> Informs the SCM what it
                                  should do when it detects a problem with the service.  The default
                                  is <info>WIN32_SERVER_ERROR_IGNORE</info>.  Changing this value is not yet
                                  fully supported. <strong>$delayed_start</strong> If <strong>$delayed_start</strong> is set to <info>true</info>,
                                  then this will inform the SCM that this service should be started
                                  after other auto-start services are started plus a short delay.
                                  Any service can be marked as a delayed auto-start service;
                                  however, this setting has no effect unless the service's
                                  <strong>$start_type</strong> is <info>WIN32_SERVICE_AUTO_START</info>.  This setting is only
                                  applicable on Windows Vista and Windows Server 2008 or greater.
                                  <strong>$base_priority</strong> To reduce the impact on processor utilisation, it
                                  may be necessary to set a base priority lower than normal.  The
                                  <strong>$base_priority</strong> can be set to one of the constants define in Win32
                                  Base Priority Classes. <strong>$dependencies</strong> To define the dependencies
                                  for your service, it may be necessary to set  this parameter to
                                  the list of the services names in an array. <strong>$recovery_delay</strong> This
                                  parameter defines the delay between the fail and the execution  of
                                  recovery action. The value is in milliseconds.  The default value
                                  is 60000. <strong>$recovery_action_1</strong> The action will be executed on first
                                  failure. The default value is  <info>WIN32_SC_ACTION_NONE</info>.  The
                                  <strong>$recovery_action_1</strong> can be set to one of the constants defined in
                                  Win32 Recovery action. <strong>$recovery_action_2</strong> The action will be
                                  executed on second failure. The default value is
                                  <info>WIN32_SC_ACTION_NONE</info>.  The <strong>$recovery_action_2</strong> can be set to one of
                                  the constants defined in Win32 Recovery action. <strong>$recovery_action_3</strong>
                                  The action will be executed on next failures. The default value is
                                  <info>WIN32_SC_ACTION_NONE</info>.  The <strong>$recovery_action_3</strong> can be set to one of
                                  the constants defined in Win32 Recovery action.
                                  <strong>$recovery_reset_period</strong> The failure count will be reset after the
                                  delay defined in the parameter. The delay is expirement in
                                  seconds.  The default value is <return>86400</return>. <strong>$recovery_enabled</strong> Set this
                                  parameter at <info>true</info> to enable the recovery settings, <info>false</info>  to
                                  disable.   The default value is <info>false</info> <strong>$recovery_reboot_msg</strong> Set
                                  this parameter to define the message saved into the Windows Event
                                  Log before the reboot. Used only if one action is set to
                                  <info>WIN32_SC_ACTION_REBOOT</info>. <strong>$recovery_command</strong> Set this parameter to
                                  define the command executed when one action is defined on
                                  <info>WIN32_SC_ACTION_RUN_COMMAND</info>.
                                  
                                  The short name of the service.  This is the name that you will use
                                  to control the service using the <return>net</return> command.  The service must be
                                  unique (no two services can share the same name), and, ideally,
                                  should avoid having spaces in the name.
                                  
                                  The display name of the service.  This is the name that you will
                                  see in the Services Applet.
                                  
                                  The long description of the service.  This is the description that
                                  you will see in the Services Applet.
                                  
                                  The name of the user account under which you want the service to
                                  run.  If omitted, the service will run as the LocalSystem account.
                                  If the username is specified, you must also provide a password.
                                  
                                  The password that corresponds to the <strong>$user</strong>.
                                  
                                  The full path to the executable module that will be launched when
                                  the service is started.  If omitted, the path to the current PHP
                                  process will be used.
                                  
                                  Command line parameters to pass to the service when it starts. If
                                  you want to run a PHP script as the service, then the first
                                  parameter should be the full path to the PHP script that you
                                  intend to run. If the script name or path contains spaces, then
                                  wrap the full path to the PHP script with <return>"</return>.
                                  
                                  Controls the load_order.  This is not yet fully supported.
                                  
                                  Sets the service type.  If omitted, the default value is
                                  <info>WIN32_SERVICE_WIN32_OWN_PROCESS</info>. Don't change this unless you know
                                  what you're doing.
                                  
                                  Specifies how the service should be started.  The default is
                                  <info>WIN32_SERVICE_AUTO_START</info> which means the service will be launched
                                  when the machine starts up.
                                  
                                  Informs the SCM what it should do when it detects a problem with
                                  the service.  The default is <info>WIN32_SERVER_ERROR_IGNORE</info>.  Changing
                                  this value is not yet fully supported.
                                  
                                  If <strong>$delayed_start</strong> is set to <info>true</info>, then this will inform the SCM
                                  that this service should be started after other auto-start
                                  services are started plus a short delay.
                                  
                                  Any service can be marked as a delayed auto-start service;
                                  however, this setting has no effect unless the service's
                                  <strong>$start_type</strong> is <info>WIN32_SERVICE_AUTO_START</info>.
                                  
                                  This setting is only applicable on Windows Vista and Windows
                                  Server 2008 or greater.
                                  
                                  To reduce the impact on processor utilisation, it may be necessary
                                  to set a base priority lower than normal.
                                  
                                  The <strong>$base_priority</strong> can be set to one of the constants define in
                                  Win32 Base Priority Classes.
                                  
                                  To define the dependencies for your service, it may be necessary
                                  to set  this parameter to the list of the services names in an
                                  array.
                                  
                                  This parameter defines the delay between the fail and the
                                  execution  of recovery action. The value is in milliseconds.
                                  
                                  The default value is 60000.
                                  
                                  The action will be executed on first failure. The default value is
                                  <info>WIN32_SC_ACTION_NONE</info>.
                                  
                                  The <strong>$recovery_action_1</strong> can be set to one of the constants defined
                                  in Win32 Recovery action.
                                  
                                  The action will be executed on second failure. The default value
                                  is  <info>WIN32_SC_ACTION_NONE</info>.
                                  
                                  The <strong>$recovery_action_2</strong> can be set to one of the constants defined
                                  in Win32 Recovery action.
                                  
                                  The action will be executed on next failures. The default value is
                                  <info>WIN32_SC_ACTION_NONE</info>.
                                  
                                  The <strong>$recovery_action_3</strong> can be set to one of the constants defined
                                  in Win32 Recovery action.
                                  
                                  The failure count will be reset after the delay defined in the
                                  parameter. The delay is expirement in seconds.
                                  
                                  The default value is <return>86400</return>.
                                  
                                  Set this parameter at <info>true</info> to enable the recovery settings, <info>false</info>
                                  to disable.
                                  
                                  The default value is <info>false</info>
                                  
                                  Set this parameter to define the message saved into the Windows
                                  Event  Log before the reboot. Used only if one action is set to
                                  <info>WIN32_SC_ACTION_REBOOT</info>.
                                  
                                  Set this parameter to define the command executed when one action
                                  is defined on   <info>WIN32_SC_ACTION_RUN_COMMAND</info>.
  <info></info>        <strong>$service</strong>                The short name of the service.  This is the name that you will use
                                  to control the service using the <return>net</return> command.  The service must be
                                  unique (no two services can share the same name), and, ideally,
                                  should avoid having spaces in the name.
  <info></info>        <strong>$display</strong>                The display name of the service.  This is the name that you will
                                  see in the Services Applet.
  <info></info>        <strong>$description</strong>            The long description of the service.  This is the description that
                                  you will see in the Services Applet.
  <info></info>        <strong>$user</strong>                   The name of the user account under which you want the service to
                                  run.  If omitted, the service will run as the LocalSystem account.
                                  If the username is specified, you must also provide a password.
  <info></info>        <strong>$password</strong>               The password that corresponds to the <strong>$user</strong>.
  <info></info>        <strong>$path</strong>                   The full path to the executable module that will be launched when
                                  the service is started.  If omitted, the path to the current PHP
                                  process will be used.
  <info></info>        <strong>$params</strong>                 Command line parameters to pass to the service when it starts. If
                                  you want to run a PHP script as the service, then the first
                                  parameter should be the full path to the PHP script that you
                                  intend to run. If the script name or path contains spaces, then
                                  wrap the full path to the PHP script with <return>"</return>.
  <info></info>        <strong>$load_order</strong>             Controls the load_order.  This is not yet fully supported.
  <info></info>        <strong>$svc_type</strong>               Sets the service type.  If omitted, the default value is
                                  <info>WIN32_SERVICE_WIN32_OWN_PROCESS</info>. Don't change this unless you know
                                  what you're doing.
  <info></info>        <strong>$start_type</strong>             Specifies how the service should be started.  The default is
                                  <info>WIN32_SERVICE_AUTO_START</info> which means the service will be launched
                                  when the machine starts up.
  <info></info>        <strong>$error_control</strong>          Informs the SCM what it should do when it detects a problem with
                                  the service.  The default is <info>WIN32_SERVER_ERROR_IGNORE</info>.  Changing
                                  this value is not yet fully supported.
  <info></info>        <strong>$delayed_start</strong>          If <strong>$delayed_start</strong> is set to <info>true</info>, then this will inform the SCM
                                  that this service should be started after other auto-start
                                  services are started plus a short delay.
                                  
                                  Any service can be marked as a delayed auto-start service;
                                  however, this setting has no effect unless the service's
                                  <strong>$start_type</strong> is <info>WIN32_SERVICE_AUTO_START</info>.
                                  
                                  This setting is only applicable on Windows Vista and Windows
                                  Server 2008 or greater.
  <info></info>        <strong>$base_priority</strong>          To reduce the impact on processor utilisation, it may be necessary
                                  to set a base priority lower than normal.
                                  
                                  The <strong>$base_priority</strong> can be set to one of the constants define in
                                  Win32 Base Priority Classes.
  <info></info>        <strong>$dependencies</strong>           To define the dependencies for your service, it may be necessary
                                  to set  this parameter to the list of the services names in an
                                  array.
  <info></info>        <strong>$recovery_delay</strong>         This parameter defines the delay between the fail and the
                                  execution  of recovery action. The value is in milliseconds.
                                  
                                  The default value is 60000.
  <info></info>        <strong>$recovery_action_1</strong>      The action will be executed on first failure. The default value is
                                  <info>WIN32_SC_ACTION_NONE</info>.
                                  
                                  The <strong>$recovery_action_1</strong> can be set to one of the constants defined
                                  in Win32 Recovery action.
  <info></info>        <strong>$recovery_action_2</strong>      The action will be executed on second failure. The default value
                                  is  <info>WIN32_SC_ACTION_NONE</info>.
                                  
                                  The <strong>$recovery_action_2</strong> can be set to one of the constants defined
                                  in Win32 Recovery action.
  <info></info>        <strong>$recovery_action_3</strong>      The action will be executed on next failures. The default value is
                                  <info>WIN32_SC_ACTION_NONE</info>.
                                  
                                  The <strong>$recovery_action_3</strong> can be set to one of the constants defined
                                  in Win32 Recovery action.
  <info></info>        <strong>$recovery_reset_period</strong>  The failure count will be reset after the delay defined in the
                                  parameter. The delay is expirement in seconds.
                                  
                                  The default value is <return>86400</return>.
  <info></info>        <strong>$recovery_enabled</strong>       Set this parameter at <info>true</info> to enable the recovery settings, <info>false</info>
                                  to disable.
                                  
                                  The default value is <info>false</info>
  <info></info>        <strong>$recovery_reboot_msg</strong>    Set this parameter to define the message saved into the Windows
                                  Event  Log before the reboot. Used only if one action is set to
                                  <info>WIN32_SC_ACTION_REBOOT</info>.
  <info></info>        <strong>$recovery_command</strong>       Set this parameter to define the command executed when one action
                                  is defined on   <info>WIN32_SC_ACTION_RUN_COMMAND</info>.
  <info>string</info>  <strong>$machine</strong>                The optional machine name on which you want to create a service.
                                  If omitted, it will use the local machine.

<comment>Return:</comment>
  <info>void</info>  没有返回值。
        
        Prior to version 1.0.0,  成功时返回 <info>WIN32_NO_ERROR</info>，参数错误时返回 <info>false</info>，或失败时返回一个
        Win32 错误码。

<comment>See Also:</comment>
   * <strong>win32_delete_service()</strong>
   * Win32 Base Priority Classes
   * Win32 Recovery action
   * Win32 Error Codes


id: win32_delete_service
type: function
doc:
<comment>Description:</comment>
  Deletes a service entry from the SCM database
  
  Attempts to delete a service from the SCM database.  Administrative privileges are required for
  this to succeed.
  
  This function really just marks the service for deletion.  If other processes (such as the
  Services Applet) are open, then the deletion will be deferred until those applications are closed.
  If a service is marked for deletion, further attempts to delete it will fail, and attempts to
  create a new service with that name will also fail.

<comment>Param:</comment>
  <info>string</info>  <strong>$servicename</strong>  The short name of the service.
  <info>string</info>  <strong>$machine</strong>      The optional machine name.  If omitted, the local machine will be used.

<comment>Return:</comment>
  <info>void</info>  没有返回值。
        
        Prior to version 1.0.0,  成功时返回 <info>WIN32_NO_ERROR</info>，参数错误时返回 <info>false</info>，或失败时返回一个
        Win32 错误码。

<comment>See Also:</comment>
   * <strong>win32_create_service()</strong>
   * Win32 Error Codes


id: win32_get_last_control_message
type: function
doc:
<comment>Description:</comment>
  Returns the last control message that was sent to this service
  
  Returns the control code that was last sent to this service process. When running as a service you
  should periodically check this to determine if your service needs to stop running.
  
  Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI  this function is
  disabled.

<comment>Return:</comment>
  <info>int</info>  Returns a control constant which will be one of the Win32Service Service Control Message
       Constants: <info>WIN32_SERVICE_CONTROL_CONTINUE</info>, <info>WIN32_SERVICE_CONTROL_DEVICEEVENT</info>,
       <info>WIN32_SERVICE_CONTROL_HARDWAREPROFILECHANGE</info>, <info>WIN32_SERVICE_CONTROL_INTERROGATE</info>,
       <info>WIN32_SERVICE_CONTROL_NETBINDADD</info>, <info>WIN32_SERVICE_CONTROL_NETBINDDISABLE</info>,
       <info>WIN32_SERVICE_CONTROL_NETBINDENABLE</info>, <info>WIN32_SERVICE_CONTROL_NETBINDREMOVE</info>,
       <info>WIN32_SERVICE_CONTROL_PARAMCHANGE</info>, <info>WIN32_SERVICE_CONTROL_PAUSE</info>,
       <info>WIN32_SERVICE_CONTROL_POWEREVENT</info>, <info>WIN32_SERVICE_CONTROL_PRESHUTDOWN</info>,
       <info>WIN32_SERVICE_CONTROL_SESSIONCHANGE</info>, <info>WIN32_SERVICE_CONTROL_SHUTDOWN</info>,
       <info>WIN32_SERVICE_CONTROL_STOP</info>.
       
       If the value is between 128 and 255, the control code is custom.

<comment>See Also:</comment>
   * <strong>win32_start_service_ctrl_dispatcher()</strong>
   * <strong>win32_set_service_status()</strong>
   * <strong>win32_set_service_exit_mode()</strong>
   * <strong>win32_set_service_exit_code()</strong>
   * Win32Service Service Control Message Constants


id: win32_pause_service
type: function
doc:
<comment>Description:</comment>
  Pauses a service
  
  Pauses a named service. Requires administrative privileges or an account with appropriate rights
  set in the service's ACL.

<comment>Param:</comment>
  <info>string</info>  <strong>$servicename</strong>  The short name of the service.
  <info>string</info>  <strong>$machine</strong>      Optional machine name.  If omitted, the local machine is used.

<comment>Return:</comment>
  <info>void</info>  没有返回值。
        
        Prior to version 1.0.0,  成功时返回 <info>WIN32_NO_ERROR</info>，参数错误时返回 <info>false</info>，或失败时返回一个
        Win32 错误码。

<comment>See Also:</comment>
   * <strong>win32_start_service()</strong>
   * <strong>win32_stop_service()</strong>
   * <strong>win32_continue_service()</strong>
   * <strong>win32_send_custom_control()</strong>
   * Win32 Error Codes


id: win32_query_service_status
type: function
doc:
<comment>Description:</comment>
  Queries the status of a service
  
  Queries the current status for a service, returning an array of information.

<comment>Param:</comment>
  <info>string</info>  <strong>$servicename</strong>  The short name of the service.
  <info>string</info>  <strong>$machine</strong>      The optional machine name.  If omitted, the local machine will be used.

<comment>Return:</comment>
  <info>array</info>  Returns an array consisting of the following information on success
         
         Prior version 1.0.0，参数错误时返回 <info>false</info>，或失败时返回一个 Win32 错误码。
         
         <strong>$ServiceType</strong> The dwServiceType. See Win32Service Service Type Bitmasks. <strong>$CurrentState</strong> The
         dwCurrentState. See Win32Service Service Status Constants. <strong>$ControlsAccepted</strong> Which service
         controls are accepted by the service. See Win32Service Service Control Message Accepted
         Bitmasks. <strong>$Win32ExitCode</strong> If the service exited, the return code from the process. This
         value is equal to  <info>WIN32_ERROR_SERVICE_SPECIFIC_ERROR</info>  if the exit mode is not gracefuly.
         See  Win32Service error codes and  <strong>win32_set_service_exit_mode()</strong> <strong>$ServiceSpecificExitCode</strong>
         If the service exited with an error condition, the service specific code that is logged in
         the event log is visible here. This value is equal  to the value defined by
         <strong>win32_set_service_exit_code()</strong> <strong>$CheckPoint</strong> If the service is shutting down, holds the
         current check point number. This is used by the SCM as a kind of heart-beat to detect a
         wedged service process.  The value of the check point is best interpreted in conjunction
         with the WaitHint value. <strong>$WaitHint</strong> If the service is shutting down it will set WaitHint to
         a checkpoint value that will indicate 100% completion.  This can be used to implement a
         progress indicator. <strong>$ProcessId</strong> The Windows process identifier. If 0, the process is not
         running. <strong>$ServiceFlags</strong> The dwServiceFlags. See Win32Service Service Flag Constants.
         
         The dwServiceType. See Win32Service Service Type Bitmasks.
         
         The dwCurrentState. See Win32Service Service Status Constants.
         
         Which service controls are accepted by the service. See Win32Service Service Control
         Message Accepted Bitmasks.
         
         If the service exited, the return code from the process. This value is equal to
         <info>WIN32_ERROR_SERVICE_SPECIFIC_ERROR</info>  if the exit mode is not gracefuly. See  Win32Service
         error codes and  <strong>win32_set_service_exit_mode()</strong>
         
         If the service exited with an error condition, the service specific code that is logged in
         the event log is visible here. This value is equal  to the value defined by
         <strong>win32_set_service_exit_code()</strong>
         
         If the service is shutting down, holds the current check point number. This is used by the
         SCM as a kind of heart-beat to detect a wedged service process.  The value of the check
         point is best interpreted in conjunction with the WaitHint value.
         
         If the service is shutting down it will set WaitHint to a checkpoint value that will
         indicate 100% completion.  This can be used to implement a progress indicator.
         
         The Windows process identifier. If 0, the process is not running.
         
         The dwServiceFlags. See Win32Service Service Flag Constants.

<comment>See Also:</comment>
   * Win32Service Predefined Constants


id: win32_send_custom_control
type: function
doc:
<comment>Description:</comment>
  Send a custom control to the service
  
  See Microsoft ControlService function for more details

<comment>Param:</comment>
  <info>string</info>  <strong>$servicename</strong>  The short name of the service.
  <info>int</info>     <strong>$control</strong>      The custom contole value between 128 and 255.
  <info>string</info>  <strong>$machine</strong>      Optional machine name.  If omitted, the local machine is used.

<comment>Return:</comment>
  <info>void</info>  没有返回值。
        
        Prior to version 1.0.0,  成功时返回 <info>WIN32_NO_ERROR</info>，参数错误时返回 <info>false</info>，或失败时返回一个
        Win32 错误码。

<comment>See Also:</comment>
   * <strong>win32_start_service()</strong>
   * <strong>win32_stop_service()</strong>
   * <strong>win32_pause_service()</strong>
   * <strong>win32_continue_service()</strong>
   * Win32 Error Codes


id: win32_set_service_exit_code
type: function
doc:
<comment>Description:</comment>
  Define or return the exit code for the current running service
  
  Change or return the exit code. The exit code is used only if the exit mode is not graceful.  If
  the value is not zero, the recovery configuration can be used after  service fail. See  Microsoft
  system error codes  for more details
  
  This function work only in "cli" SAPI. On other SAPI  this function is disabled.

<comment>Param:</comment>
  <info>int</info>  <strong>$exitCode</strong>  The return code used on exit.

<comment>Return:</comment>
  <info>int</info>  Return the current or old exit code.

<comment>See Also:</comment>
   * <strong>win32_start_service_ctrl_dispatcher()</strong>
   * <strong>win32_set_service_status()</strong>
   * <strong>win32_set_service_exit_mode()</strong>


id: win32_set_service_exit_mode
type: function
doc:
<comment>Description:</comment>
  Define or return the exit mode for the current running service
  
  If <strong>$gracefulMode</strong> parameter is provided, the exit mode 
  is changed. When the exit mode is not gracefuly, the exit code used can be set 
  with the <strong>win32_set_service_exit_code()</strong> function.
  
  This function work only in "cli" SAPI. On other SAPI  this function is disabled.

<comment>Param:</comment>
  <info>bool</info>  <strong>$gracefulMode</strong>  <info>true</info> for exit graceful. <info>false</info> for exit with error.

<comment>Return:</comment>
  <info>bool</info>  Return the current or old exit mode.

<comment>See Also:</comment>
   * <strong>win32_start_service_ctrl_dispatcher()</strong>
   * <strong>win32_set_service_status()</strong>
   * <strong>win32_set_service_exit_code()</strong>


id: win32_set_service_status
type: function
doc:
<comment>Description:</comment>
  Update the service status
  
  Informs the SCM of the current status of a running service. This call is only valid for a running
  service process.
  
  Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI  this function is
  disabled.

<comment>Param:</comment>
  <info>int</info>  <strong>$status</strong>      The service status code, one of <info>WIN32_SERVICE_RUNNING</info>, <info>WIN32_SERVICE_STOPPED</info>,
                    <info>WIN32_SERVICE_STOP_PENDING</info>, <info>WIN32_SERVICE_START_PENDING</info>,
                    <info>WIN32_SERVICE_CONTINUE_PENDING</info>, <info>WIN32_SERVICE_PAUSE_PENDING</info>,
                    <info>WIN32_SERVICE_PAUSED</info>.
  <info>int</info>  <strong>$checkpoint</strong>  The checkpoint value the service increments periodically to report its progress
                    during a lengthy start, stop, pause, or continue operation. For example, the
                    service should increment this value as it completes each step of its
                    initialization when it is starting up.
                    
                    The <strong>$checkpoint</strong> is only valid when the <strong>$status</strong> is one of
                    <info>WIN32_SERVICE_STOP_PENDING</info>, <info>WIN32_SERVICE_START_PENDING</info>,
                    <info>WIN32_SERVICE_CONTINUE_PENDING</info> or <info>WIN32_SERVICE_PAUSE_PENDING</info>.

<comment>Return:</comment>
  <info>void</info>  没有返回值。
        
        Prior to version 1.0.0,  成功时返回 <info>WIN32_NO_ERROR</info>，参数错误时返回 <info>false</info>，或失败时返回一个
        Win32 错误码。

<comment>See Also:</comment>
   * <strong>win32_start_service_ctrl_dispatcher()</strong>
   * <strong>win32_get_last_control_message()</strong>
   * <strong>win32_set_service_exit_mode()</strong>
   * <strong>win32_set_service_exit_code()</strong>
   * Win32Service Service Status Constants


id: win32_start_service
type: function
doc:
<comment>Description:</comment>
  Starts a service
  
  Attempts to start the named service. Requires administrative privileges or  an account with
  appropriate rights set in the service's ACL.

<comment>Param:</comment>
  <info>string</info>  <strong>$servicename</strong>  The short name of the service.
  <info>string</info>  <strong>$machine</strong>      Optional machine name.  If omitted, the local machine is used.

<comment>Return:</comment>
  <info>void</info>  没有返回值。
        
        Prior to version 1.0.0,  成功时返回 <info>WIN32_NO_ERROR</info>，参数错误时返回 <info>false</info>，或失败时返回一个
        Win32 错误码。

<comment>See Also:</comment>
   * <strong>win32_stop_service()</strong>
   * <strong>win32_pause_service()</strong>
   * <strong>win32_continue_service()</strong>
   * <strong>win32_send_custom_control()</strong>
   * Win32 Error Codes


id: win32_start_service_ctrl_dispatcher
type: function
doc:
<comment>Description:</comment>
  Registers the script with the SCM, so that it can act as the service with the given name
  
  When launched via the Service Control Manager, a service process is required to "check-in" with it
  to establish service monitoring and communication facilities.  This function performs the check-in
  by spawning a thread to handle the lower-level communication with the service control manager.
  
  Once started, the service process should do 2 things. The first is to tell the Service Control
  Manager that the service is running. This is achieved by calling <strong>win32_set_service_status()</strong> with
  the <info>WIN32_SERVICE_RUNNING</info> constant. If you need to perform some lengthy process before the service
  is actually running, then you can use the <info>WIN32_SERVICE_START_PENDING</info> constant. The second is to
  continue to check-in with the service control manager so that it can determine if it should
  terminate. This is achieved by periodically calling <strong>win32_get_last_control_message()</strong> and handling
  the return code appropriately.
  
  Since version 0.2.0, this function work only in "cli" SAPI. On other SAPI  this function is
  disabled.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>          The short-name of the service, as registered by <strong>win32_create_service()</strong>.
  <info>bool</info>    <strong>$gracefulMode</strong>  <info>true</info> for exit graceful. <info>false</info> for exit with error. See
                         <strong>win32_set_service_exit_mode()</strong> for more details.

<comment>Return:</comment>
  <info>void</info>  没有返回值。
        
        Prior to version 1.0.0,  成功时返回 <info>WIN32_NO_ERROR</info>，参数错误时返回 <info>false</info>，或失败时返回一个
        Win32 错误码。

<comment>See Also:</comment>
   * <strong>win32_set_service_status()</strong>
   * <strong>win32_get_last_control_message()</strong>
   * <strong>win32_set_service_exit_mode()</strong>
   * <strong>win32_set_service_exit_code()</strong>
   * Win32 Error Codes


id: win32_stop_service
type: function
doc:
<comment>Description:</comment>
  Stops a service
  
  Stops a named service. Requires administrative privileges or an account with appropriate rights
  set in the service's ACL.

<comment>Param:</comment>
  <info>string</info>  <strong>$servicename</strong>  The short name of the service.
  <info>string</info>  <strong>$machine</strong>      Optional machine name.  If omitted, the local machine is used.

<comment>Return:</comment>
  <info>void</info>  没有返回值。
        
        Prior to version 1.0.0,  成功时返回 <info>WIN32_NO_ERROR</info>，参数错误时返回 <info>false</info>，或失败时返回一个
        Win32 错误码。

<comment>See Also:</comment>
   * <strong>win32_start_service()</strong>
   * <strong>win32_pause_service()</strong>
   * <strong>win32_continue_service()</strong>
   * <strong>win32_send_custom_control()</strong>
   * Win32 Error Codes


id: wincache_fcache_fileinfo
type: function
doc:
<comment>Description:</comment>
  Retrieves information about files cached in the file cache
    
  
  Retrieves information about file cache content and its usage.

<comment>Param:</comment>
  <info>bool</info>  <strong>$summaryonly</strong>  Controls whether the returned array will contain information about individual
                      cache entries  along with the file cache summary.

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data about file cache  或者在失败时返回 <info>false</info>
               
               The array returned by this function contains the following elements:
               <return>total_cache_uptime</return> - total time in seconds that the file cache has been active
               <return>total_file_count</return> - total number of files that are currently in the file cache
               <return>total_hit_count</return> - number of times the files have been served from the file cache
               <return>total_miss_count</return> - number of times the files have not been found in the file cache
               <return>file_entries</return> - an array that contains the information about all the cached files:
               <return>file_name</return> - absolute file name of the cached file <return>add_time</return> - time in seconds since
               the file has been added to the file cache <return>use_time</return> - time in seconds since the file
               has been accessed in the file cache <return>last_check</return> - time in seconds since the file has
               been checked for modifications <return>hit_count</return> - number of times the file has been served
               from the cache <return>file_size</return> - size of the cached file in bytes
               
               <return>total_cache_uptime</return> - total time in seconds that the file cache has been active
               
               <return>total_file_count</return> - total number of files that are currently in the file cache
               
               <return>total_hit_count</return> - number of times the files have been served from the file cache
               
               <return>total_miss_count</return> - number of times the files have not been found in the file cache
               
               <return>file_entries</return> - an array that contains the information about all the cached files:
               <return>file_name</return> - absolute file name of the cached file <return>add_time</return> - time in seconds since
               the file has been added to the file cache <return>use_time</return> - time in seconds since the file
               has been accessed in the file cache <return>last_check</return> - time in seconds since the file has
               been checked for modifications <return>hit_count</return> - number of times the file has been served
               from the cache <return>file_size</return> - size of the cached file in bytes
               
               <return>file_name</return> - absolute file name of the cached file
               
               <return>add_time</return> - time in seconds since the file has been added to the file cache
               
               <return>use_time</return> - time in seconds since the file has been accessed in the file cache
               
               <return>last_check</return> - time in seconds since the file has been checked for modifications
               
               <return>hit_count</return> - number of times the file has been served from the cache
               
               <return>file_size</return> - size of the cached file in bytes

<comment>See Also:</comment>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_ocache_fileinfo()</strong>
   * <strong>wincache_ocache_meminfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>
   * <strong>wincache_scache_meminfo()</strong>


id: wincache_fcache_meminfo
type: function
doc:
<comment>Description:</comment>
  Retrieves information about file cache memory usage
    
  
  Retrieves information about memory usage by file cache.

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data about file cache memory usage  或者在失败时返回 <info>false</info>
               
               The array returned by this function contains the following elements: <return>memory_total</return> -
               amount of memory in bytes allocated for the file cache <return>memory_free</return> - amount of free
               memory in bytes available for the file cache <return>num_used_blks</return> - number of memory blocks
               used by the file cache <return>num_free_blks</return> - number of free memory blocks available for the
               file cache <return>memory_overhead</return> - amount of memory in bytes used for the file cache
               internal structures
               
               <return>memory_total</return> - amount of memory in bytes allocated for the file cache
               
               <return>memory_free</return> - amount of free memory in bytes available for the file cache
               
               <return>num_used_blks</return> - number of memory blocks used by the file cache
               
               <return>num_free_blks</return> - number of free memory blocks available for the file cache
               
               <return>memory_overhead</return> - amount of memory in bytes used for the file cache internal
               structures

<comment>See Also:</comment>
   * <strong>wincache_fcache_fileinfo()</strong>
   * <strong>wincache_ocache_fileinfo()</strong>
   * <strong>wincache_ocache_meminfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>
   * <strong>wincache_scache_meminfo()</strong>


id: wincache_lock
type: function
doc:
<comment>Description:</comment>
  Acquires an exclusive lock on a given key
    
  
  Obtains an exclusive lock on a given key. The execution of the current script will be blocked
  until the  lock can be obtained. Once the lock is obtained, the other scripts that try to request
  the lock by using the same  key will be blocked, until the current script releases the lock by
  using <strong>wincache_unlock()</strong>.
  
  Using of the <strong>wincache_lock()</strong> and <strong>wincache_unlock()</strong> can cause deadlocks when  executing PHP scripts
  in a multi-process environment like FastCGI. Do not use these functions unless you are  absolutely
  sure you need to use them. For the majority of the operations on the user cache it is not
  necessary to use these functions.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>       Name of the key in the cache to get the lock on.
  <info>bool</info>    <strong>$isglobal</strong>  Controls whether the scope of the lock is system-wide or local. Local locks are
                     scoped to the application pool  in IIS FastCGI case or to all php processes
                     that have the same parent process identifier.

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

<comment>See Also:</comment>
   * <strong>wincache_unlock()</strong>
   * <strong>wincache_ucache_set()</strong>
   * <strong>wincache_ucache_get()</strong>
   * <strong>wincache_ucache_delete()</strong>
   * <strong>wincache_ucache_clear()</strong>
   * <strong>wincache_ucache_exists()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>


id: wincache_ocache_fileinfo
type: function
doc:
<comment>Description:</comment>
  Retrieves information about files cached in the opcode cache
    
  
  Retrieves information about opcode cache content and its usage.
  
  该函数已在 PHP 7.0.0 中
  移除。

<comment>Param:</comment>
  <info>bool</info>  <strong>$summaryonly</strong>  Controls whether the returned array will contain information about individual
                      cache entries  along with the opcode cache summary.

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data about opcode cache  或者在失败时返回 <info>false</info>
               
               The array returned by this function contains the following elements:
               <return>total_cache_uptime</return> - total time in seconds that the opcode cache has been active
               <return>total_file_count</return> - total number of files that are currently in the opcode cache
               <return>total_hit_count</return> - number of times the compiled opcode have been served from the cache
               <return>total_miss_count</return> - number of times the compiled opcode have not been found in the
               cache <return>is_local_cache</return> - true is the cache metadata is for a local cache instance,
               false if the metadata is for the global cache <return>file_entries</return> - an array that contains
               the information about all the cached files: <return>file_name</return> - absolute file name of the
               cached file <return>add_time</return> - time in seconds since the file has been added to the opcode
               cache <return>use_time</return> - time in seconds since the file has been accessed in the opcode cache
               <return>last_check</return> - time in seconds since the file has been checked for modifications
               <return>hit_count</return> - number of times the file has been served from the cache <return>function_count</return> -
               number of functions in the cached file <return>class_count</return> - number of classes in the cached
               file
               
               <return>total_cache_uptime</return> - total time in seconds that the opcode cache has been active
               
               <return>total_file_count</return> - total number of files that are currently in the opcode cache
               
               <return>total_hit_count</return> - number of times the compiled opcode have been served from the cache
               
               <return>total_miss_count</return> - number of times the compiled opcode have not been found in the
               cache
               
               <return>is_local_cache</return> - true is the cache metadata is for a local cache instance,  false if
               the metadata is for the global cache
               
               <return>file_entries</return> - an array that contains the information about all the cached files:
               <return>file_name</return> - absolute file name of the cached file <return>add_time</return> - time in seconds since
               the file has been added to the opcode cache <return>use_time</return> - time in seconds since the file
               has been accessed in the opcode cache <return>last_check</return> - time in seconds since the file has
               been checked for modifications <return>hit_count</return> - number of times the file has been served
               from the cache <return>function_count</return> - number of functions in the cached file <return>class_count</return> -
               number of classes in the cached file
               
               <return>file_name</return> - absolute file name of the cached file
               
               <return>add_time</return> - time in seconds since the file has been added to the opcode cache
               
               <return>use_time</return> - time in seconds since the file has been accessed in the opcode cache
               
               <return>last_check</return> - time in seconds since the file has been checked for modifications
               
               <return>hit_count</return> - number of times the file has been served from the cache
               
               <return>function_count</return> - number of functions in the cached file
               
               <return>class_count</return> - number of classes in the cached file

<comment>See Also:</comment>
   * <strong>wincache_fcache_fileinfo()</strong>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_ocache_meminfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>
   * <strong>wincache_scache_meminfo()</strong>


id: wincache_ocache_meminfo
type: function
doc:
<comment>Description:</comment>
  Retrieves information about opcode cache memory usage
    
  
  Retrieves information about memory usage by opcode cache.

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data about opcode cache memory usage  或者在失败时返回 <info>false</info>
               
               The array returned by this function contains the following elements: <return>memory_total</return> -
               amount of memory in bytes allocated for the opcode cache <return>memory_free</return> - amount of free
               memory in bytes available for the opcode cache <return>num_used_blks</return> - number of memory
               blocks used by the opcode cache <return>num_free_blks</return> - number of free memory blocks
               available for the opcode cache <return>memory_overhead</return> - amount of memory in bytes used for
               the opcode cache internal structures
               
               <return>memory_total</return> - amount of memory in bytes allocated for the opcode cache
               
               <return>memory_free</return> - amount of free memory in bytes available for the opcode cache
               
               <return>num_used_blks</return> - number of memory blocks used by the opcode cache
               
               <return>num_free_blks</return> - number of free memory blocks available for the opcode cache
               
               <return>memory_overhead</return> - amount of memory in bytes used for the opcode cache internal
               structures
               
               该函数已在 PHP 7.0.0 中
               移除。

<comment>See Also:</comment>
   * <strong>wincache_fcache_fileinfo()</strong>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_ocache_fileinfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>
   * <strong>wincache_scache_meminfo()</strong>


id: wincache_refresh_if_changed
type: function
doc:
<comment>Description:</comment>
  Refreshes the cache entries for the cached files
    
  
  Refreshes the cache entries for the files, whose names were passed in the input argument.  If no
  argument is specified then refreshes all the entries in the cache.

<comment>Param:</comment>
  <info>array</info>  <strong>$files</strong>  An array of file names for files that need to be refreshed.  An absolute or
                 relative file paths can be used.

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

<comment>See Also:</comment>
   * <strong>wincache_fcache_fileinfo()</strong>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_ocache_fileinfo()</strong>
   * <strong>wincache_ocache_meminfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>


id: wincache_rplist_fileinfo
type: function
doc:
<comment>Description:</comment>
  Retrieves information about resolve file path cache
    
  
  Retrieves information about cached mappings between relative file paths  and corresponding
  absolute file paths.

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

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data about the resolve file path cache  或者在失败时返回 <info>false</info>
               
               The array returned by this function contains the following elements: <return>total_file_count</return>
               - total number of file path  mappings stored in the cache <return>rplist_entries</return> - an array
               that contains the information about all  the cached file paths: <return>resolve_path</return> - path
               to a file <return>subkey_data</return> - corresponding absolute path to a file
               
               <return>total_file_count</return> - total number of file path  mappings stored in the cache
               
               <return>rplist_entries</return> - an array that contains the information about all  the cached file
               paths: <return>resolve_path</return> - path to a file <return>subkey_data</return> - corresponding absolute path to a
               file
               
               <return>resolve_path</return> - path to a file
               
               <return>subkey_data</return> - corresponding absolute path to a file

<comment>See Also:</comment>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_fcache_fileinfo()</strong>
   * <strong>wincache_ocache_fileinfo()</strong>
   * <strong>wincache_ocache_meminfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>
   * <strong>wincache_scache_meminfo()</strong>


id: wincache_rplist_meminfo
type: function
doc:
<comment>Description:</comment>
  Retrieves information about memory usage by the resolve file path cache
    
  
  Retrieves information about memory usage by resolve file path cache.

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data that describes memory usage by resolve file path cache.  或者在失
               败时返回 <info>false</info>
               
               The array returned by this function contains the following elements: <return>memory_total</return> -
               amount of memory in bytes allocated for the resolve file path cache <return>memory_free</return> -
               amount of free memory in bytes available for the resolve file path cache
               <return>num_used_blks</return> - number of memory blocks used by the resolve file path cache
               <return>num_free_blks</return> - number of free memory blocks available for the resolve file path
               cache <return>memory_overhead</return> - amount of memory in bytes used for the internal structures of
               resolve file path cache
               
               <return>memory_total</return> - amount of memory in bytes allocated for the resolve file path cache
               
               <return>memory_free</return> - amount of free memory in bytes available for the resolve file path
               cache
               
               <return>num_used_blks</return> - number of memory blocks used by the resolve file path cache
               
               <return>num_free_blks</return> - number of free memory blocks available for the resolve file path
               cache
               
               <return>memory_overhead</return> - amount of memory in bytes used for the internal structures of
               resolve file path cache

<comment>See Also:</comment>
   * <strong>wincache_fcache_fileinfo()</strong>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_ocache_fileinfo()</strong>
   * <strong>wincache_ocache_meminfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>
   * <strong>wincache_scache_meminfo()</strong>


id: wincache_scache_info
type: function
doc:
<comment>Description:</comment>
  Retrieves information about files cached in the session cache
    
  
  Retrieves information about session cache content and its usage.

<comment>Param:</comment>
  <info>bool</info>  <strong>$summaryonly</strong>  Controls whether the returned array will contain information about individual
                      cache entries  along with the session cache summary.

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data about session cache  或者在失败时返回 <info>false</info>
               
               The array returned by this function contains the following elements:
               <return>total_cache_uptime</return> - total time in seconds that the session cache has been active
               <return>total_item_count</return> - total number of elements that are currently in the session cache
               <return>is_local_cache</return> - true is the cache metadata is for a local cache instance,  false if
               the metadata is for the global cache <return>total_hit_count</return> - number of times the data has
               been served from the cache <return>total_miss_count</return> - number of times the data has not been
               found in the cache <return>scache_entries</return> - an array that contains the information about all
               the cached items: <return>key_name</return> - name of the key which is used to store the data
               <return>value_type</return> - type of value stored by the key <return>use_time</return> - time in seconds since the
               file has been accessed in the opcode cache <return>last_check</return> - time in seconds since the
               file has been checked for modifications <return>ttl_seconds</return> - time remaining for the data to
               live in the cache, 0 meaning infinite <return>age_seconds</return> - time elapsed from the time data
               has been added in the cache <return>hitcount</return> - number of times data has been served from the
               cache
               
               <return>total_cache_uptime</return> - total time in seconds that the session cache has been active
               
               <return>total_item_count</return> - total number of elements that are currently in the session cache
               
               <return>is_local_cache</return> - true is the cache metadata is for a local cache instance,  false if
               the metadata is for the global cache
               
               <return>total_hit_count</return> - number of times the data has been served from the cache
               
               <return>total_miss_count</return> - number of times the data has not been found in the cache
               
               <return>scache_entries</return> - an array that contains the information about all the cached items:
               <return>key_name</return> - name of the key which is used to store the data <return>value_type</return> - type of value
               stored by the key <return>use_time</return> - time in seconds since the file has been accessed in the
               opcode cache <return>last_check</return> - time in seconds since the file has been checked for
               modifications <return>ttl_seconds</return> - time remaining for the data to live in the cache, 0
               meaning infinite <return>age_seconds</return> - time elapsed from the time data has been added in the
               cache <return>hitcount</return> - number of times data has been served from the cache
               
               <return>key_name</return> - name of the key which is used to store the data
               
               <return>value_type</return> - type of value stored by the key
               
               <return>use_time</return> - time in seconds since the file has been accessed in the opcode cache
               
               <return>last_check</return> - time in seconds since the file has been checked for modifications
               
               <return>ttl_seconds</return> - time remaining for the data to live in the cache, 0 meaning infinite
               
               <return>age_seconds</return> - time elapsed from the time data has been added in the cache
               
               <return>hitcount</return> - number of times data has been served from the cache

<comment>See Also:</comment>
   * <strong>wincache_fcache_fileinfo()</strong>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_ocache_meminfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_meminfo()</strong>


id: wincache_scache_meminfo
type: function
doc:
<comment>Description:</comment>
  Retrieves information about session cache memory usage
    
  
  Retrieves information about memory usage by session cache.

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data about session cache memory usage  或者在失败时返回 <info>false</info>
               
               The array returned by this function contains the following elements: <return>memory_total</return> -
               amount of memory in bytes allocated for the session cache <return>memory_free</return> - amount of
               free memory in bytes available for the session cache <return>num_used_blks</return> - number of memory
               blocks used by the session cache <return>num_free_blks</return> - number of free memory blocks
               available for the session cache <return>memory_overhead</return> - amount of memory in bytes used for
               the session cache internal structures
               
               <return>memory_total</return> - amount of memory in bytes allocated for the session cache
               
               <return>memory_free</return> - amount of free memory in bytes available for the session cache
               
               <return>num_used_blks</return> - number of memory blocks used by the session cache
               
               <return>num_free_blks</return> - number of free memory blocks available for the session cache
               
               <return>memory_overhead</return> - amount of memory in bytes used for the session cache internal
               structures

<comment>See Also:</comment>
   * <strong>wincache_fcache_fileinfo()</strong>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_ocache_fileinfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>


id: wincache_ucache_add
type: function
doc:
<comment>Description:</comment>
  Adds a variable in user cache only if variable does not already exist in the cache
    
  
  Adds a variable in user cache, only if this variable doesn't already exist in the cache.  The
  added variable remains in the user cache unless its time to live expires or it is  deleted by
  using <strong>wincache_ucache_delete()</strong> or <strong>wincache_ucache_clear()</strong> functions.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>     Store the variable using this <strong>$key</strong> name. If a variable with same key is already
                   present the function will fail and return <info>false</info>. <strong>$key</strong> is case sensitive. To
                   override the value even if  <strong>$key</strong> is present use <strong>wincache_ucache_set()</strong> function
                   instad.  <strong>$key</strong> can also take array of name =&gt; value pairs where names will be
                   used as keys.  This can be used to add multiple values in the cache in one
                   operation, thus avoiding race condition.
  <info>mixed</info>   <strong>$value</strong>   Value of a variable to store. <strong>$Value</strong> supports all data types except resources,
                   such as file handles. This paramter is ignored if first argument is an array. A
                   general guidance is to pass <info>null</info>  as <strong>$value</strong> while using array as <strong>$key</strong>. If <strong>$value</strong>
                   is an object, or an array containing objects, then the objects will be
                   serialized. See __sleep() for details on serializing objects.
  <info>array</info>   <strong>$values</strong>  Associative array of keys and values.
  <info>int</info>     <strong>$ttl</strong>     Time for the variable to live in the cache in seconds. After the value specified
                   in <strong>$ttl</strong> has passed  the stored variable will be deleted from the cache. This
                   parameter takes a default value of <return>0</return> which means  the variable will stay in the
                   cache unless explicitly deleted by using <strong>wincache_ucache_delete()</strong>  or
                   <strong>wincache_ucache_clear()</strong> functions.

<comment>Return:</comment>
  <info>bool</info>  If <strong>$key</strong> is string, the function returns <info>true</info> on success and <info>false</info> on failure.
        
        If <strong>$key</strong> is an array, the function returns:  If all the name =&gt; value pairs in the array
        can be set, function returns an empty array;  If all the name =&gt; value pairs in the array
        cannot be set, function returns <info>false</info>;  If some can be set while others cannot, function
        returns an array with name=&gt;value pair for which the addition failed in the user cache.
        
        If all the name =&gt; value pairs in the array can be set, function returns an empty array;
        
        If all the name =&gt; value pairs in the array cannot be set, function returns <info>false</info>;
        
        If some can be set while others cannot, function returns an array with name=&gt;value pair
        for which the addition failed in the user cache.

<comment>See Also:</comment>
   * <strong>wincache_ucache_set()</strong>
   * <strong>wincache_ucache_get()</strong>
   * <strong>wincache_ucache_delete()</strong>
   * <strong>wincache_ucache_clear()</strong>
   * <strong>wincache_ucache_exists()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * __sleep()


id: wincache_ucache_cas
type: function
doc:
<comment>Description:</comment>
  Compares the variable with old value and assigns new value to it
    
  
  Compares the variable associated with the <strong>$key</strong> with <strong>$old_value</strong>  and if it matches then assigns the
  <strong>$new_value</strong> to it.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>        The <strong>$key</strong> that is used to store the variable in the cache.  <strong>$key</strong> is case
                      sensitive.
  <info>int</info>     <strong>$old_value</strong>  Old value of the variable pointed by <strong>$key</strong> in the user cache.  The value should
                      be of type <return>long</return>, otherwise the function returns  <info>false</info>.
  <info>int</info>     <strong>$new_value</strong>  New value which will get assigned to variable pointer by <strong>$key</strong> if a  match is
                      found. The value should be of type <return>long</return>, otherwise  the function returns
                      <info>false</info>.

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

<comment>See Also:</comment>
   * <strong>wincache_ucache_inc()</strong>
   * <strong>wincache_ucache_dec()</strong>


id: wincache_ucache_clear
type: function
doc:
<comment>Description:</comment>
  Deletes entire content of the user cache
    
  
  Clears/deletes all the values stored in the user cache.

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

<comment>See Also:</comment>
   * <strong>wincache_ucache_set()</strong>
   * <strong>wincache_ucache_add()</strong>
   * <strong>wincache_ucache_delete()</strong>
   * <strong>wincache_ucache_get()</strong>
   * <strong>wincache_ucache_exists()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>


id: wincache_ucache_dec
type: function
doc:
<comment>Description:</comment>
  Decrements the value associated with the key
    
  
  Decrements the value associated with the <strong>$key</strong> by 1 or as specified  by <strong>$dec_by</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>      The <strong>$key</strong> that was used to store the variable in the cache.  <strong>$key</strong> is case
                    sensitive.
  <info>int</info>     <strong>$dec_by</strong>   The value by which the variable associated with the <strong>$key</strong> will get decremented.
                    If the argument is a floating point number it will be truncated to nearest
                    integer. The variable  associated with the <strong>$key</strong> should be of type <return>long</return>,
                    otherwise  the function fails and returns <info>false</info>.
  <info>bool</info>    <strong>$success</strong>  Will be set to <info>true</info> on success and <info>false</info> on failure.

<comment>Return:</comment>
  <info>mixed</info>  Returns the decremented value on success and <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>wincache_ucache_inc()</strong>
   * <strong>wincache_ucache_cas()</strong>


id: wincache_ucache_delete
type: function
doc:
<comment>Description:</comment>
  Deletes variables from the user cache
    
  
  Deletes the elements in the user cache pointed by <strong>$key</strong>.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>  The <strong>$key</strong> that was used to store the variable in the cache.  <strong>$key</strong> is case sensitive.
               <strong>$key</strong> can be an  array of keys.

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。
        
        If <strong>$key</strong> is an array then the function returns <info>false</info>  if every element of the array fails to
        get deleted from the user cache, otherwise returns an  array which consists of all the keys
        that are deleted.

<comment>See Also:</comment>
   * <strong>wincache_ucache_set()</strong>
   * <strong>wincache_ucache_add()</strong>
   * <strong>wincache_ucache_get()</strong>
   * <strong>wincache_ucache_clear()</strong>
   * <strong>wincache_ucache_exists()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>


id: wincache_ucache_exists
type: function
doc:
<comment>Description:</comment>
  Checks if a variable exists in the user cache
    
  
  Checks if a variable with the <strong>$key</strong> exists in the user cache or not.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The <strong>$key</strong> that was used to store the variable in the cache.  <strong>$key</strong> is case sensitive.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if variable with the <strong>$key</strong> exitsts,  otherwise returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>wincache_ucache_set()</strong>
   * <strong>wincache_ucache_add()</strong>
   * <strong>wincache_ucache_get()</strong>
   * <strong>wincache_ucache_clear()</strong>
   * <strong>wincache_ucache_delete()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>


id: wincache_ucache_get
type: function
doc:
<comment>Description:</comment>
  Gets a variable stored in the user cache
    
  
  Gets a variable stored in the user cache.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>      The <strong>$key</strong> that was used to store the variable in the cache.  <strong>$key</strong> is case
                   sensitive. <strong>$key</strong> can be an  array of keys. In this case the return value will be
                   an array of values of each element  in the <strong>$key</strong> array. If an object, or an array
                   containing objects, is returned, then the objects will be unserialized. See
                   __wakeup() for details on unserializing objects.
  <info>bool</info>   <strong>$success</strong>  Will be set to <info>true</info> on success and <info>false</info> on failure.

<comment>Return:</comment>
  <info>mixed</info>  If <strong>$key</strong> is a string, the function returns the value of the variable stored with that key.
         The <strong>$success</strong> is set to <info>true</info> on success and  to <info>false</info> on failure.
         
         The <strong>$key</strong> is an array, the parameter <strong>$success</strong>  is always set to <info>true</info>. The returned array
         (name =&gt; value pairs) will  contain only those name =&gt; value pairs for which the get
         operation in user cache was  successful. If none of the keys in the key array finds a match
         in the user cache  an empty array will be returned.

<comment>See Also:</comment>
   * <strong>wincache_ucache_add()</strong>
   * <strong>wincache_ucache_set()</strong>
   * <strong>wincache_ucache_delete()</strong>
   * <strong>wincache_ucache_clear()</strong>
   * <strong>wincache_ucache_exists()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * __wakeup()


id: wincache_ucache_inc
type: function
doc:
<comment>Description:</comment>
  Increments the value associated with the key
    
  
  Increments the value associated with the <strong>$key</strong> by 1 or as specified  by <strong>$inc_by</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>      The <strong>$key</strong> that was used to store the variable in the cache.  <strong>$key</strong> is case
                    sensitive.
  <info>int</info>     <strong>$inc_by</strong>   The value by which the variable associated with the <strong>$key</strong> will get incremented.
                    If the argument is a floating point number it will be truncated to nearest
                    integer. The variable  associated with the <strong>$key</strong> should be of type <return>long</return>,
                    otherwise  the function fails and returns <info>false</info>.
  <info>bool</info>    <strong>$success</strong>  Will be set to <info>true</info> on success and <info>false</info> on failure.

<comment>Return:</comment>
  <info>mixed</info>  Returns the incremented value on success and <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>wincache_ucache_dec()</strong>
   * <strong>wincache_ucache_cas()</strong>


id: wincache_ucache_info
type: function
doc:
<comment>Description:</comment>
  Retrieves information about data stored in the user cache
    
  
  Retrieves information about data stored in the user cache.

<comment>Param:</comment>
  <info>bool</info>    <strong>$summaryonly</strong>  Controls whether the returned array will contain information about
                        individual cache entries  along with the user cache summary.
  <info>string</info>  <strong>$key</strong>          The key of an entry in the user cache. If specified then the returned array
                        will contain information  only about that cache entry. If not specified and
                        <strong>$summaryonly</strong> is set to  <info>false</info> then the returned array will contain
                        information about all entries in the cache.

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data about user cache  或者在失败时返回 <info>false</info>
               
               The array returned by this function contains the following elements:
               <return>total_cache_uptime</return> - total time in seconds that the user cache has been active
               <return>total_item_count</return> - total number of elements that are currently in the user cache
               <return>is_local_cache</return> - true is the cache metadata is for a local cache instance,  false if
               the metadata is for the global cache <return>total_hit_count</return> - number of times the data has
               been served from the cache <return>total_miss_count</return> - number of times the data has not been
               found in the cache <return>ucache_entries</return> - an array that contains the information about all
               the cached items: <return>key_name</return> - name of the key which is used to store the data
               <return>value_type</return> - type of value stored by the key <return>use_time</return> - time in seconds since the
               file has been accessed in the opcode cache <return>last_check</return> - time in seconds since the
               file has been checked for modifications <return>is_session</return> - indicates if the data is a
               session variable <return>ttl_seconds</return> - time remaining for the data to live in the cache, 0
               meaning infinite <return>age_seconds</return> - time elapsed from the time data has been added in the
               cache <return>hitcount</return> - number of times data has been served from the cache
               
               <return>total_cache_uptime</return> - total time in seconds that the user cache has been active
               
               <return>total_item_count</return> - total number of elements that are currently in the user cache
               
               <return>is_local_cache</return> - true is the cache metadata is for a local cache instance,  false if
               the metadata is for the global cache
               
               <return>total_hit_count</return> - number of times the data has been served from the cache
               
               <return>total_miss_count</return> - number of times the data has not been found in the cache
               
               <return>ucache_entries</return> - an array that contains the information about all the cached items:
               <return>key_name</return> - name of the key which is used to store the data <return>value_type</return> - type of value
               stored by the key <return>use_time</return> - time in seconds since the file has been accessed in the
               opcode cache <return>last_check</return> - time in seconds since the file has been checked for
               modifications <return>is_session</return> - indicates if the data is a session variable <return>ttl_seconds</return> -
               time remaining for the data to live in the cache, 0 meaning infinite <return>age_seconds</return> -
               time elapsed from the time data has been added in the cache <return>hitcount</return> - number of
               times data has been served from the cache
               
               <return>key_name</return> - name of the key which is used to store the data
               
               <return>value_type</return> - type of value stored by the key
               
               <return>use_time</return> - time in seconds since the file has been accessed in the opcode cache
               
               <return>last_check</return> - time in seconds since the file has been checked for modifications
               
               <return>is_session</return> - indicates if the data is a session variable
               
               <return>ttl_seconds</return> - time remaining for the data to live in the cache, 0 meaning infinite
               
               <return>age_seconds</return> - time elapsed from the time data has been added in the cache
               
               <return>hitcount</return> - number of times data has been served from the cache

<comment>See Also:</comment>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_ocache_fileinfo()</strong>
   * <strong>wincache_ocache_meminfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_scache_info()</strong>
   * <strong>wincache_scache_meminfo()</strong>


id: wincache_ucache_meminfo
type: function
doc:
<comment>Description:</comment>
  Retrieves information about user cache memory usage
    
  
  Retrieves information about memory usage by user cache.

<comment>Return:</comment>
  <info>array|false</info>  Array of meta data about user cache memory usage  或者在失败时返回 <info>false</info>
               
               The array returned by this function contains the following elements: <return>memory_total</return> -
               amount of memory in bytes allocated for the user cache <return>memory_free</return> - amount of free
               memory in bytes available for the user cache <return>num_used_blks</return> - number of memory blocks
               used by the user cache <return>num_free_blks</return> - number of free memory blocks available for the
               user cache <return>memory_overhead</return> - amount of memory in bytes used for the user cache
               internal structures
               
               <return>memory_total</return> - amount of memory in bytes allocated for the user cache
               
               <return>memory_free</return> - amount of free memory in bytes available for the user cache
               
               <return>num_used_blks</return> - number of memory blocks used by the user cache
               
               <return>num_free_blks</return> - number of free memory blocks available for the user cache
               
               <return>memory_overhead</return> - amount of memory in bytes used for the user cache internal
               structures

<comment>See Also:</comment>
   * <strong>wincache_fcache_fileinfo()</strong>
   * <strong>wincache_fcache_meminfo()</strong>
   * <strong>wincache_ocache_fileinfo()</strong>
   * <strong>wincache_rplist_fileinfo()</strong>
   * <strong>wincache_rplist_meminfo()</strong>
   * <strong>wincache_refresh_if_changed()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>
   * <strong>wincache_scache_meminfo()</strong>


id: wincache_ucache_set
type: function
doc:
<comment>Description:</comment>
  Adds a variable in user cache and overwrites a variable if it already exists in the cache
    
  
  Adds a variable in user cache. Overwrites a variable if it already exists in the cache.  The added
  or updated variable remains in the user cache unless its time to live expires or it is  deleted by
  using <strong>wincache_ucache_delete()</strong> or <strong>wincache_ucache_clear()</strong> functions.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$key</strong>     Store the variable using this <strong>$key</strong> name. If a variable with same  <strong>$key</strong> is already
                  present the function will overwrite the previous  value with the new one. <strong>$key</strong> is
                  case sensitive.  <strong>$key</strong> can also take array of name =&gt; value pairs where names
                  will be used as  keys. This can be used to add multiple values in the cache in one
                  operation, thus avoiding  race condition.
  <info>mixed</info>  <strong>$value</strong>   Value of a variable to store. <strong>$Value</strong> supports all data types except resources,
                  such as file handles. This paramter is ignored if first argument is an array. A
                  general guidance is to pass <info>null</info>  as <strong>$value</strong> while using array as <strong>$key</strong>. If <strong>$value</strong>
                  is an object, or an array containing objects, then the objects will be serialized.
                  See __sleep() for details on serializing objects.
  <info>array</info>  <strong>$values</strong>  Associative array of keys and values.
  <info>int</info>    <strong>$ttl</strong>     Time for the variable to live in the cache in seconds. After the value specified
                  in <strong>$ttl</strong> has passed  the stored variable will be deleted from the cache. This
                  parameter takes a default value of <return>0</return> which means  the variable will stay in the
                  cache unless explicitly deleted by using <strong>wincache_ucache_delete()</strong>  or
                  <strong>wincache_ucache_clear()</strong> functions.

<comment>Return:</comment>
  <info>bool</info>  If <strong>$key</strong> is string, the function returns <info>true</info> on success and <info>false</info> on failure.
        
        If <strong>$key</strong> is an array, the function returns:  If all the name =&gt; value pairs in the array
        can be set, function returns an empty array;  If all the name =&gt; value pairs in the array
        cannot be set, function returns <info>false</info>;  If some can be set while others cannot, function
        returns an array with name=&gt;value pair for which the addition failed in the user cache.
        
        If all the name =&gt; value pairs in the array can be set, function returns an empty array;
        
        If all the name =&gt; value pairs in the array cannot be set, function returns <info>false</info>;
        
        If some can be set while others cannot, function returns an array with name=&gt;value pair
        for which the addition failed in the user cache.

<comment>See Also:</comment>
   * <strong>wincache_ucache_add()</strong>
   * <strong>wincache_ucache_get()</strong>
   * <strong>wincache_ucache_delete()</strong>
   * <strong>wincache_ucache_clear()</strong>
   * <strong>wincache_ucache_exists()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * __sleep()


id: wincache_unlock
type: function
doc:
<comment>Description:</comment>
  Releases an exclusive lock on a given key
    
  
  Releases an exclusive lock that was obtained on a given key by using <strong>wincache_lock()</strong>.  If any
  other process was blocked waiting for the lock on this key, that process will be able to obtain
  the lock.
  
  Using of the <strong>wincache_lock()</strong> and <strong>wincache_unlock()</strong> can cause deadlocks when  executing PHP scripts
  in a multi-process environment like FastCGI. Do not use these functions unless you are  absolutely
  sure you need to use them. For the majority of the operations on the user cache it is not
  necessary to use these functions.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  Name of the key in the cache to release the lock on.

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

<comment>See Also:</comment>
   * <strong>wincache_lock()</strong>
   * <strong>wincache_ucache_set()</strong>
   * <strong>wincache_ucache_get()</strong>
   * <strong>wincache_ucache_delete()</strong>
   * <strong>wincache_ucache_clear()</strong>
   * <strong>wincache_ucache_exists()</strong>
   * <strong>wincache_ucache_meminfo()</strong>
   * <strong>wincache_ucache_info()</strong>
   * <strong>wincache_scache_info()</strong>


id: wkhtmltox\Image\Converter::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new Image converter
  
  Creates an Image converter, optionally taking an input buffer and configuration settings

<comment>Param:</comment>
  <info>string</info>  <strong>$buffer</strong>    HTML
  <info>array</info>   <strong>$settings</strong>  NameDescriptionValuesChangeloginURL or path of the input file, if "-" stdin is
                     used/path/to/markup.html&gt;= 0.1.0outpath of output file, if "-" stdout is
                     used, by default an internal buffer is used/path/to/output.png&gt;=
                     0.1.0fmtoutput format to use""defaultjpgoutput as JPEGpngoutput as PNGbmpoutput
                     as bitmapsvgoutput as SVG&gt;= 0.1.0transparentwhen outputting a PNG or SVG,
                     make the white background transparentboolean&gt;= 0.1.0screenWidththe with of
                     the screen used to render in pixels800&gt;= 0.1.0smartWidthwhen true,
                     screenWidth is expanded to the content widthboolean&gt;=
                     0.1.0qualitycompression factor to use when outputting a JPEG image94&gt;=
                     0.1.0crop.leftleft/x coordinate of the window to capture in pixels200&gt;=
                     0.1.0crop.toptop/y coordinate of the window to capture in pixels200&gt;=
                     0.1.0crop.widthwidth of the window to capture in pixels200&gt;=
                     0.1.0crop.heightheight of the window to capture in pixels200&gt;=
                     0.1.0load.cookieJarpath of file used to load and store
                     cookies/tmp/cookies.txt&gt;= 0.1.0load.usernameuser name to use when loging
                     into a websitebart&gt;= 0.1.0load.passwordthe password to used when logging
                     into a websiteelbarto&gt;= 0.1.0load.jsdelaythe amount of time in milliseconds
                     to wait after a page is loaded until it is captured1200&gt;=
                     0.1.0load.zoomFactorhow much zoom should be applied to the content2.2&gt;=
                     0.1.0load.customHeaderscustom headers to send when requesting the main web
                     page&gt;= 0.1.0load.repertCustomHeadersset true to send with all
                     requestsboolean&gt;= 0.1.0load.cookiescookie string to send when requesting the
                     main web page&gt;= 0.1.0load.postpost string to send when requesting the main
                     web page&gt;= 0.1.0load.blockLocalFileAccessdisallow local and piped files to
                     access other local filesboolean&gt;= 0.1.0load.stopSlowScriptstop slow running
                     javascriptbooleanload.debugJavascriptallow javascript to raise
                     warningsboolean&gt;= 0.1.0load.loadErrorHandlingset error handling
                     strategyabortabort the convertion processskipdo not add the object to the final
                     outputignoretry to add the object to the final output&gt;= 0.1.0load.proxy&gt;=
                     0.1.0web.backgroundinclude background image in outputboolean&gt;=
                     0.1.0web.loadImagesinclude images in outputboolean&gt;=
                     0.1.0web.enableJavascriptenable or disable javascriptboolean&gt;=
                     0.1.0web.enableIntelligentShrinkingenable to attempt to fit more content on
                     page, only applies to PDF outputboolean&gt;= 0.1.0web.minimumFontSizethe
                     minimum font size allowed9&gt;= 0.1.0web.printMediaTypeprint content using
                     print media type instead of screen media typeboolean&gt;=
                     0.1.0web.defaultEncodingcontent to use where no encoding is specifiedutf-8&gt;=
                     0.1.0web.userStyleSheetURL or path to a user specified style
                     sheet/path/to/style.css&gt;= 0.1.0web.enablePluginsenable or disable NS
                     pluginsboolean&gt;= 0.1.0


id: wkhtmltox\Image\Converter::convert
type: function
doc:
<comment>Description:</comment>
  Perform Image conversion
  
  Performs conversion of the input buffer

<comment>Return:</comment>
  <info>string|null</info>  Where the return value is used, it will be populated with the contents of the
               conversion buffer


id: wkhtmltox\Image\Converter::getVersion
type: function
doc:
<comment>Description:</comment>
  Determine version of Converter
  
  Determines the version of Converter as reported by libwkhtmltox

<comment>Return:</comment>
  <info>string</info>  Returns a version string
          
          This is not yet implemented by libwkhtmltox


id: wkhtmltox\PDF\Converter::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new PDF converter
  
  Creates a PDF converter, using optional configuration settings

<comment>Param:</comment>
  <info>array</info>  <strong>$settings</strong>  NameDescriptionValuesChangelogsize.pageSizepaper size of output documentA4&gt;=
                    0.1.0size.widthwith of the output document210mm&gt;= 0.1.0size.heightheight of
                    the output document297mm&gt;= 0.1.0orientationorientation of the output
                    documentLandscapePortrait&gt;= 0.1.0colorModecolor mode of the output
                    documentColorGreyscale&gt;= 0.1.0resolutionresoluition of the output
                    documentmost likely has no effect&gt;= 0.1.0dpidpi to use while printing80&gt;=
                    0.1.0pageOffsetinteger added to page numbers generating headers, footers, and
                    toc&gt;= 0.1.0copies&gt;= 0.1.0collatecollate copiesboolean&gt;=
                    0.1.0outlinegenerate PDF outlineboolean&gt;= 0.1.0outlineDepthmaximum depth of
                    outline&gt;= 0.1.0dumpOutlinepath of file to dump outline XML&gt;= 0.1.0outpath
                    of output file, if "-" stdout is used&gt;= 0.1.0documentTitletitle for the
                    output document&gt;= 0.1.0useCompressionenable or disable lossless
                    compressionboolean&gt;= 0.1.0margin.topsize of the top margin2cm&gt;=
                    0.1.0margin.bottomsize of the bottom margin2cm&gt;= 0.1.0margin.leftsize of the
                    left margin2cm&gt;= 0.1.0margin.rightsize of the right margin2cm&gt;=
                    0.1.0imageDPImaximum DPI for images in the output document&gt;=
                    0.1.0imageQualitythe jpeg compression factor for images in the output
                    document94&gt;= 0.1.0load.cookieJarpath of file used to load and store
                    cookies/tmp/cookies.txt&gt;= 0.1.0


