# php_manual

id: curl_setopt_array
type: function
doc:
<comment>Description:</comment>
  为 cURL 传输会话批量设置选项
  
  为 cURL 传输会话批量设置选项。这个函数对于需要设置大量的 cURL 选项是非常有用的，不需要重复地调用
  <strong>curl_setopt()</strong>。

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>   由 <strong>curl_init()</strong> 返回的 cURL 句柄。
  <info>array</info>       <strong>$options</strong>  一个 <info>array</info> 用来确定将被设置的选项及其值。数组的键值必须是有效的
                        <strong>curl_setopt()</strong> 常量或者是它们对等的整数值。

<comment>Return:</comment>
  <info>bool</info>  如果全部的选项都被成功设置，返回 <info>true</info>。如果选项不能被成功设置，马上返回 <info>false</info>，忽略其后的任
        何在 <strong>$options</strong> 数组中的选项。

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


id: curl_share_close
type: function
doc:
<comment>Description:</comment>
  关闭 cURL 共享句柄
  
  此函数无效。在 PHP 8.0.0 之前，用于关闭资源。
  
  关闭 cURL 共享句柄并且释放所有的资源。

<comment>Param:</comment>
  <info>CurlShareHandle</info>  <strong>$share_handle</strong>  A cURL share handle returned by
                                  <strong>curl_share_init()</strong>.

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

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


id: curl_share_errno
type: function
doc:
<comment>Description:</comment>
  返回共享 curl 句柄的最后一次错误编号
  
  返回整数，表示共享 curl 句柄的最后一次错误编号。

<comment>Param:</comment>
  <info>CurlShareHandle</info>  <strong>$share_handle</strong>  A cURL share handle returned by
                                  <strong>curl_share_init()</strong>.

<comment>Return:</comment>
  <info>int</info>  返回整数，表示共享 curl 句柄的最后一次错误编号。

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


id: curl_share_init
type: function
doc:
<comment>Description:</comment>
  初始化 cURL 共享句柄
  
  允许在 cURL 句柄之间共享数据。

<comment>Return:</comment>
  <info>CurlShareHandle</info>  返回 cURL 共享句柄。

<comment>See Also:</comment>
   * <strong>curl_share_setopt()</strong>
   * <strong>curl_share_close()</strong>


id: curl_share_setopt
type: function
doc:
<comment>Description:</comment>
  为 cURL 共享句柄设置选项
  
  为指定的 cURL 共享句柄设置选项。

<comment>Param:</comment>
  <info>CurlShareHandle</info>  <strong>$share_handle</strong>  A cURL share handle returned by
                                  <strong>curl_share_init()</strong>.
  <info>int</info>              <strong>$option</strong>        OptionDescription<info>CURLSHOPT_SHARE</info> 指定要共享的数据类型。
                                  <info>CURLSHOPT_UNSHARE</info> 指定不再共享的数据类型。
  <info>mixed</info>            <strong>$value</strong>         ValueDescription<info>CURL_LOCK_DATA_COOKIE</info> 共享 cookie 数据。
                                  <info>CURL_LOCK_DATA_DNS</info> 共享 DNS 缓存。注意，当你使用 cURL 多句柄时，默
                                  认所有添加在同一个多句柄的句柄都将会共享 DNS 缓存。
                                  <info>CURL_LOCK_DATA_SSL_SESSION</info> 共享 SSL 的 session ID, 在重连同样的服
                                  务器时减少 SSL 握手时间。注意，SSL 的 session ID 在同一个的句柄中
                                  默认是重复使用的。

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


id: curl_share_strerror
type: function
doc:
<comment>Description:</comment>
  返回错误编号对应的错误消息
  
  返回错误编号对应的错误消息。

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  某个 cURL 错误代码常量。

<comment>Return:</comment>
  <info>string|null</info>  返回错误描述。错误代码无效则为 <info>null</info>。

<comment>See Also:</comment>
   * <strong>curl_share_errno()</strong>
   * <strong>curl_strerror()</strong>


id: curl_strerror
type: function
doc:
<comment>Description:</comment>
  返回错误代码的字符串描述
  
  返回指定错误代码的文本错误信息描述。

<comment>Param:</comment>
  <info>int</info>  <strong>$error_code</strong>  cURL 错误代码中的常量之一。

<comment>Return:</comment>
  <info>string|null</info>  返回错误信息描述，无效的错误代码返回 <info>null</info>。

<comment>See Also:</comment>
   * <strong>curl_errno()</strong>
   * <strong>curl_error()</strong>
   * Curl 错误代码


id: curl_unescape
type: function
doc:
<comment>Description:</comment>
  解码指定 URL 编码的字符串
  
  该函数解码指定 URL 编码的字符串。

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  由 <strong>curl_init()</strong> 返回的 cURL 句柄。
  <info>string</info>      <strong>$string</strong>  需要解码的 URL 编码字符串。

<comment>Return:</comment>
  <info>string|false</info>  返回解码后的字符串 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>curl_escape()</strong>
   * <strong>urlencode()</strong>
   * <strong>urldecode()</strong>
   * <strong>rawurlencode()</strong>
   * <strong>rawurldecode()</strong>


id: curl_upkeep
type: function
doc:
<comment>Description:</comment>
  Performs any connection upkeep checks
  
  Available if built against libcurl &gt;= 7.62.0.
  
  Some protocols have "connection upkeep" mechanisms. These mechanisms usually send some traffic on
  existing connections in order to keep them alive; this can prevent connections from being closed
  due to overzealous firewalls, for example.
  
  Connection upkeep is currently available only for HTTP/2 connections. A small amount of traffic is
  usually sent to keep a connection alive. HTTP/2 maintains its connection by sending a HTTP/2 PING
  frame.

<comment>Param:</comment>
  <info>CurlHandle</info>  <strong>$handle</strong>  由 <strong>curl_init()</strong> 返回的 cURL 句柄。

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

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


id: curl_version
type: function
doc:
<comment>Description:</comment>
  获取 cURL 版本信息
  
  返回关于 cURL 版本的信息。

<comment>Return:</comment>
  <info>array|false</info>  返回关联数组，包含如下元素： 键值描述version_numbercURL 24 位版本号versioncURL 版本
               号，字符串形式ssl_version_numberOpenSSL 24 位版本号ssl_versionOpenSSL 版本号，字符串
               形式libz_versionzlib 版本号，字符串形式host关于编译cURL主机的信息agefeatures一个
               <return>CURL_VERSION_XXX</return>常量的位掩码protocols数组，包含 cURL 支持的协议名称


id: current
type: function
doc:
<comment>Description:</comment>
  返回数组中的当前值
  
  每个数组中都有一个内部的指针指向它“当前的”单元，初始化时会指向该数组中的第一个值。

<comment>Param:</comment>
  <info>array|object</info>  <strong>$array</strong>  要操作的数组。

<comment>Return:</comment>
  <info>mixed</info>  <strong>current()</strong> 函数返回当前被内部指针指向的数组单元的值，并不移动指针。如果内部指针指向超出了单
         元列表的末端，<strong>current()</strong> 将返回 <info>false</info>。
         
         此函数可能返回布尔值
         <info>false</info>，但也可能返回等同于 <info>false</info> 的非布尔值。请阅读 布尔类型章节以获取更多信息。应使用
         ===
         运算符来测试此函数的返回值。

<comment>See Also:</comment>
   * <strong>end()</strong>
   * <strong>key()</strong>
   * <strong>each()</strong>
   * <strong>prev()</strong>
   * <strong>reset()</strong>
   * <strong>next()</strong>
   * foreach


id: date
type: function
doc:
<comment>Description:</comment>
  格式化 Unix 时间戳
  
  使用指定整数 <strong>$timestamp</strong>（Unix 时间戳），或者使用当前时间（如果没有指定时间戳），返回相应的指定格式
  的格式化字符串。换句话说，<strong>$timestamp</strong> 是可选的，默认值是 <strong>time()</strong>。
  
  Unix 时间戳不处理时区。使用 <class>DateTimeImmutable</class> 及其 DateTimeInterface::format 格式化方法来格式化携
  带时区的日期/时间信息。

<comment>Param:</comment>
  <info>string</info>    <strong>$format</strong>     DateTimeInterface::format 接受的格式。
                        
                        <strong>date()</strong> 将始终生成 <return>000000</return> 作为微秒，因为它采用 <info>int</info> 参数，而如果 <class>DateTime</class> 是用
                        微秒创建的，则 DateTime::format 支持微秒。
  <info>int|null</info>  <strong>$timestamp</strong>  可选的 <strong>$timestamp</strong> 参数是一个 <info>int</info> 的 Unix
                        时间戳，如未指定或是 <info>null</info>，参数值默认为当前本地时间。也就是说，其值默认为
                        <strong>time()</strong> 的返回值。

<comment>Return:</comment>
  <info>string</info>  返回格式化后的日期字符串。

<comment>See Also:</comment>
   * DateTimeImmutable::__construct
   * DateTimeInterface::format
   * <strong>gmdate()</strong>
   * <strong>idate()</strong>
   * <strong>getdate()</strong>
   * <strong>getlastmod()</strong>
   * <strong>mktime()</strong>
   * IntlDateFormatter::format
   * <strong>time()</strong>
   * 预定义 DateTime 常量


id: date_create
type: function
doc:
<comment>Description:</comment>
  create a new DateTime object
  
  This is the procedural version of DateTime::__construct.
  
  Unlike the <class>DateTime</class> constructor, it will return <info>false</info> instead of an exception if the passed in
  <strong>$datetime</strong> string is invalid.

<comment>Return:</comment>
  <info>DateTime|false</info>  Returns a new DateTime instance  或者在失败时返回 <info>false</info>

<comment>See Also:</comment>
   * DateTimeImmutable::__construct
   * DateTimeImmutable::createFromFormat
   * DateTime::__construct


id: date_create_from_format
type: function
doc:
<comment>Description:</comment>
  别名 DateTime::createFromFormat
  
  此函数是该函数的别名： DateTime::createFromFormat


id: date_create_immutable
type: function
doc:
<comment>Description:</comment>
  create a new DateTimeImmutable object
  
  This is the procedural version of DateTimeImmutable::__construct.
  
  Unlike the <class>DateTimeImmutable</class> constructor, it will return <info>false</info> instead of an exception if the
  passed in <strong>$datetime</strong> string is invalid.

<comment>Return:</comment>
  <info>DateTimeImmutable|false</info>  Returns a new DateTimeImmutable instance  或者在失败时返回 <info>false</info>

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


id: date_create_immutable_from_format
type: function
doc:
<comment>Description:</comment>
  别名 DateTimeImmutable::createFromFormat
  
  此函数是该函数的别名： DateTimeImmutable::createFromFormat


id: date_default_timezone_get
type: function
doc:
<comment>Description:</comment>
  取得脚本中所有日期/时间函数所使用的默认时区
    
  
  本函数按照如下顺序返回默认时区：  读取使用 <strong>date_default_timezone_set()</strong> 函数设置的时区（如果设置了
  的话）  读取 date.timezone ini 选项的值（如果设置了的话）
  
  读取使用 <strong>date_default_timezone_set()</strong> 函数设置的时区（如果设置了的话）
  
  读取 date.timezone ini 选项的值（如果设置了的话）
  
  如果以上选择都不成功，date_default_timezone_get 会则返回默认时区 <return>UTC</return> 。

<comment>Return:</comment>
  <info>string</info>  返回 <info>string</info>。

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


id: date_default_timezone_set
type: function
doc:
<comment>Description:</comment>
  设置脚本中所有日期/时间函数使用的默认时区
    
  
  <strong>date_default_timezone_set()</strong> 设置所有日期/时间函数使用的默认时区
  
  除了在脚本中使用此函数设置默认时区，还可以使用 INI 设置 date.timezone 设置默认时区。

<comment>Param:</comment>
  <info>string</info>  <strong>$timezoneId</strong>  时区标识符，像 <return>UTC</return>、<return>Africa/Lagos</return>、<return>Asia/Hong_Kong</return> 或 <return>Europe/Lisbon</return>。有效的标识
                       符列表见。

<comment>Return:</comment>
  <info>bool</info>  如果 <strong>$timezoneId</strong> 无效，此函数返回 <info>false</info>，否则返回 <info>true</info>。

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


id: date_interval_create_from_date_string
type: function
doc:
<comment>Description:</comment>
  别名 DateInterval::createFromDateString
  
  此函数是该函数的别名： DateInterval::createFromDateString


id: date_parse
type: function
doc:
<comment>Description:</comment>
  返回指定日期/时间的详细信息的关联数组
  
  <strong>date_parse()</strong> 根据与 <strong>strtotime()</strong> 和 <strong>DateTimeImmutable::__construct()</strong> 相同的规则解析指定 <strong>$datetime</strong>
  字符串。它不返回 Unix 时间戳（使用 <strong>strtotime()</strong>）或者 <class>DateTimeImmutable</class> 对象（使用
  <strong>DateTimeImmutable::__construct()</strong>），而是返回包含在指定 <strong>$datetime</strong> 字符串中检测到相关信息的关联数
  组。
  
  如果找不到某组元素的信息，那么这些数组元素将会设置为 <info>false</info> 或缺失。如果需要从相同的 <strong>$datetime</strong> 字符
  串构建时间戳或者 <class>DateTimeImmutable</class> 对象，需要将更多字段设置为非 <info>false</info> 值。查看以下示例以了解情况。

<comment>Param:</comment>
  <info>string</info>  <strong>$datetime</strong>  <strong>DateTimeImmutable::__construct()</strong> 接受的日期/时间格式。

<comment>Return:</comment>
  <info>array</info>  返回 <info>array</info>，包含解析日期/时间的信息。
         
         返回的数组存在以下键  <return>year</return>、<return>month</return>、<return>day</return>、<return>hour</return>、<return>minute</return>、<return>second</return>、<return>fraction</return> 和 <return>is_localtime</return>。
         
         如果存在 <return>is_localtime</return>，则 <return>zone_type</return> 表示时区类型。类型 <return>1</return>（UTC 时差），添加 <return>zone</return>、<return>is_dst</return>；类
         型 <return>2</return>（时区缩写），添加 <return>tz_abbr</return>、<return>is_dst</return>；类型 <return>3</return>（时区标识符），添加 <return>tz_abbr</return>、<return>tz_id</return>。
         
         如果 <strong>$datetime</strong> 字符串存在类似 <return>+3 days</return> 这样的相对时间元素，则返回的数组则包含键为 <return>relative</return>
         的嵌套数组。然后此数组将包含如下键 <return>year</return>、<return>month</return>、<return>day</return>、<return>hour</return>、<return>minute</return>、<return>second</return>，如果必要还会包含
         <return>weekday</return> 和 <return>weekdays</return>，具体取决于传入的字符串。
         
         数组包含 <return>warning_count</return> 和 <return>warnings</return> 字段。第一个表示发现了多少警告。元素 <return>warnings</return> 的键表示指
         定 <strong>$datetime</strong> 发生警告的位置，值为字符串，描述警告本身。
         
         数组也包含 <return>error_count</return> 和 <return>errors</return> 字段。第一个表示发现了多少错误。元素 <return>errors</return> 的键表示指定
         <strong>$datetime</strong> 发生错误的位置，值为字符串，描述错误本身。
         
         如果同一个位置存在多个警告/错误，那么 <return>warnings</return> 和 <return>errors</return> 数组中元素的数量可能会少于
         <return>warning_count</return> 或者 <return>error_count</return>。

<comment>See Also:</comment>
   * <strong>date_parse_from_format()</strong>，以解析具有特定格式的<strong>$datetime</strong>
   * <strong>checkdate()</strong>，以便于公历日期验证
   * <strong>getdate()</strong>


id: date_parse_from_format
type: function
doc:
<comment>Description:</comment>
  Get info about given date formatted according to the specified format
  
  Returns associative array with detailed info about given date/time.

<comment>Param:</comment>
  <info>string</info>  <strong>$format</strong>    Documentation on how the <strong>$format</strong> is used, please refer to the documentation of
                     <strong>DateTimeImmutable::createFromFormat()</strong>. The same rules apply.
  <info>string</info>  <strong>$datetime</strong>  String representing the date/time.

<comment>Return:</comment>
  <info>array</info>  Returns associative array with detailed info about given date/time.
         
         The returned array has keys for <return>year</return>, <return>month</return>, <return>day</return>, <return>hour</return>, <return>minute</return>, <return>second</return>, <return>fraction</return>, and
         <return>is_localtime</return>.
         
         If <return>is_localtime</return> is present then <return>zone_type</return> indicates the type of timezone. For type <return>1</return> (UTC
         offset) the <return>zone</return>, <return>is_dst</return> fields are added; for type <return>2</return> (abbreviation) the fields <return>tz_abbr</return>,
         <return>is_dst</return> are added; and for type <return>3</return> (timezone identifier) the <return>tz_abbr</return>, <return>tz_id</return> are added.
         
         The array includes <return>warning_count</return> and <return>warnings</return> fields. The first one indicate how many
         warnings there were. The keys of elements <return>warnings</return> array indicate the position in the given
         <strong>$datetime</strong> where the warning occurred, with the string value describing the warning itself.
         An example below shows such a warning.
         
         The array also contains <return>error_count</return> and <return>errors</return> fields. The first one indicate how many
         errors were found. The keys of elements <return>errors</return> array indicate the position in the given
         <strong>$datetime</strong> where the error occurred, with the string value describing the error itself. An
         example below shows such an error.
         
         The number of array elements in the <return>warnings</return> and <return>errors</return> arrays might be less than
         <return>warning_count</return> or <return>error_count</return> if they occurred at the same position.

<comment>See Also:</comment>
   * <strong>DateTimeImmutable::createFromFormat()</strong>
   * <strong>checkdate()</strong>


id: date_sub
type: function
doc:
<comment>Description:</comment>
  别名 DateTime::sub
  
  此函数是该函数的别名： DateTime::sub

<comment>See Also:</comment>
   * <strong>DateTimeImmutable::sub()</strong>
   * <strong>DateTime::sub()</strong>


id: date_sun_info
type: function
doc:
<comment>Description:</comment>
  Returns an array with information about sunset/sunrise and twilight begin/end

<comment>Param:</comment>
  <info>int</info>    <strong>$timestamp</strong>  Unix timestamp.
  <info>float</info>  <strong>$latitude</strong>   Latitude in degrees.
  <info>float</info>  <strong>$longitude</strong>  Longitude in degrees.

<comment>Return:</comment>
  <info>array</info>  Returns array on success 或者在失败时返回 <info>false</info>. The structure of the array is detailed in
         the following list:
         
         <return>sunrise</return> The timestamp of the sunrise (zenith angle = 90°35'). <return>sunset</return> The timestamp of the
         sunset (zenith angle = 90°35'). <return>transit</return> The timestamp when the sun is at its zenith, i.e.
         has reached its topmost point. <return>civil_twilight_begin</return> The start of the civil dawn (zenith
         angle = 96°). It ends at <return>sunrise</return>. <return>civil_twilight_end</return> The end of the civil dusk (zenith
         angle = 96°). It starts at <return>sunset</return>. <return>nautical_twilight_begin</return> The start of the nautical dawn
         (zenith angle = 102°). It ends at <return>civil_twilight_begin</return>. <return>nautical_twilight_end</return> The end of
         the nautical dusk (zenith angle = 102°). It starts at <return>civil_twilight_end</return>.
         <return>astronomical_twilight_begin</return> The start of the astronomical dawn (zenith angle = 108°). It
         ends at <return>nautical_twilight_begin</return>. <return>astronomical_twilight_end</return> The end of the astronomical dusk
         (zenith angle = 108°). It starts at <return>nautical_twilight_end</return>.
         
         The timestamp of the sunrise (zenith angle = 90°35').
         
         The timestamp of the sunset (zenith angle = 90°35').
         
         The timestamp when the sun is at its zenith, i.e. has reached its topmost point.
         
         The start of the civil dawn (zenith angle = 96°). It ends at <return>sunrise</return>.
         
         The end of the civil dusk (zenith angle = 96°). It starts at <return>sunset</return>.
         
         The start of the nautical dawn (zenith angle = 102°). It ends at <return>civil_twilight_begin</return>.
         
         The end of the nautical dusk (zenith angle = 102°). It starts at <return>civil_twilight_end</return>.
         
         The start of the astronomical dawn (zenith angle = 108°). It ends at
         <return>nautical_twilight_begin</return>.
         
         The end of the astronomical dusk (zenith angle = 108°). It starts at <return>nautical_twilight_end</return>.
         
         The values of the array elements are either UNIX timestamps, <info>false</info> if the sun is below the
         respective zenith for the whole day, or <info>true</info> if the sun is above the respective zenith for
         the whole day.


id: date_sunrise
type: function
doc:
<comment>Description:</comment>
  返回给定的日期与地点的日出时间
  
  <strong>date_sunrise()</strong> 返回给定的日期（以 <strong>$timestamp</strong> 指定）与地点的日出时间。

<comment>Param:</comment>
  <info>int</info>         <strong>$timestamp</strong>     取 <strong>$timestamp</strong>所在日期的日出时间。
  <info>int</info>         <strong>$returnFormat</strong>  <strong>$returnFormat</strong> 常量常量说明取值举例SUNFUNCS_RET_STRING以 <info>string</info> 格式返回
                             结果16:46SUNFUNCS_RET_DOUBLE以 <info>float</info> 格式返回结果
                             16.78243132SUNFUNCS_RET_TIMESTAMP以 <info>int</info> 格式（时间戳）返回结果
                             1095034606
  <info>float|null</info>  <strong>$latitude</strong>      默认是指北纬。因此如果要指定南纬，必须传递一个负值。 参见
                             date.default_latitude
  <info>float|null</info>  <strong>$longitude</strong>     默认是指东经。因此如果要指定西经，必须传递一个负值。 参见
                             date.default_longitude
  <info>float|null</info>  <strong>$zenith</strong>        <strong>$zenith</strong> is the angle between the center of the sun and a line
                             perpendicular to earth's surface. It defaults to date.sunrise_zenith
                             Common <strong>$zenith</strong> anglesAngleDescription90°50'Sunrise: the point where the
                             sun becomes visible.96°Civil twilight: conventionally used to signify
                             the start of dawn.102°Nautical twilight: the point at which the horizon
                             starts being visible at sea.108°Astronomical twilight: the point at
                             which the sun starts being the source of any illumination.
  <info>float|null</info>  <strong>$utcOffset</strong>     单位是小时。 The <strong>$utcOffset</strong> is ignored, if <strong>$returnFormat</strong> is
                             <info>SUNFUNCS_RET_TIMESTAMP</info>.

<comment>Return:</comment>
  <info>string|int|float|false</info>  按指定格式 <strong>$returnFormat</strong> 返回的日出时间， 或者在失败时返回 <info>false</info>。 One
                          potential reason for failure is that the sun does not rise at all, which
                          happens inside the polar circles for part of the year.

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


id: date_sunset
type: function
doc:
<comment>Description:</comment>
  返回给定的日期与地点的日落时间
    
  
  <strong>date_sunset()</strong> 返回给定的日期（以 <strong>$timestamp</strong> 指定）与地点的日落时间。

<comment>Param:</comment>
  <info>int</info>         <strong>$timestamp</strong>     返回给定的日期（以 <strong>$timestamp</strong> 指定）的日落时间。
  <info>int</info>         <strong>$returnFormat</strong>  <strong>$returnFormat</strong> 常量常量说明取值举例SUNFUNCS_RET_STRING以 <info>string</info> 格式返回
                             结果16:46SUNFUNCS_RET_DOUBLE以 <info>float</info> 格式返回结果
                             16.78243132SUNFUNCS_RET_TIMESTAMP以 <info>int</info> 格式（时间戳）返回结果
                             1095034606
  <info>float|null</info>  <strong>$latitude</strong>      默认是指北纬。因此如果要指定南纬，必须传递一个负值。参见：
                             date.default_latitude
  <info>float|null</info>  <strong>$longitude</strong>     默认是指东经。因此如果要指定西经，必须传递一个负值。参见：
                             date.default_longitude
  <info>float|null</info>  <strong>$zenith</strong>        <strong>$zenith</strong> is the angle between the center of the sun and a line
                             perpendicular to earth's surface. It defaults to date.sunrise_zenith
                             Common <strong>$zenith</strong> anglesAngleDescription90°50'Sunrise: the point where the
                             sun becomes visible.96°Civil twilight: conventionally used to signify
                             the start of dawn.102°Nautical twilight: the point at which the horizon
                             starts being visible at sea.108°Astronomical twilight: the point at
                             which the sun starts being the source of any illumination.
  <info>float|null</info>  <strong>$utcOffset</strong>     单位是小时。 The <strong>$utcOffset</strong> is ignored, if <strong>$returnFormat</strong> is
                             <info>SUNFUNCS_RET_TIMESTAMP</info>.

<comment>Return:</comment>
  <info>string|int|float|false</info>  用指定的格式 <strong>$returnFormat</strong> 返回日落时间， 或者在失败时返回 <info>false</info>。 One
                          potential reason for failure is that the sun does not rise at all, which
                          happens inside the polar circles for part of the year.

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


id: date_timestamp_get
type: function
doc:
<comment>Description:</comment>
  别名 DateTime::getTimestamp
  
  此函数是该函数的别名： DateTime::getTimestamp


id: date_timestamp_set
type: function
doc:
<comment>Description:</comment>
  别名 DateTime::setTimestamp
  
  此函数是该函数的别名： DateTime::setTimestamp


id: db2_autocommit
type: function
doc:
<comment>Description:</comment>
  Returns or sets the AUTOCOMMIT state for a database connection
    
  
  Sets or gets the AUTOCOMMIT behavior of the specified connection resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>int</info>       <strong>$value</strong>       One of the following constants:  <return>DB2_AUTOCOMMIT_OFF</return> Turns AUTOCOMMIT off.
                         <return>DB2_AUTOCOMMIT_ON</return> Turns AUTOCOMMIT on.
                         
                         Turns AUTOCOMMIT off.
                         
                         Turns AUTOCOMMIT on.

<comment>Return:</comment>
  <info>int|bool</info>  When <strong>db2_autocommit()</strong> receives only the <strong>$connection</strong> parameter, it returns the current
            state of AUTOCOMMIT for the requested connection as an integer value. A value of
            <info>DB2_AUTOCOMMIT_OFF</info> indicates that AUTOCOMMIT is off, while a value of <info>DB2_AUTOCOMMIT_ON</info>
            indicates that AUTOCOMMIT is on.
            
            When <strong>db2_autocommit()</strong> receives both the <strong>$connection</strong> parameter and <strong>$autocommit</strong> parameter,
            it attempts to set the AUTOCOMMIT state of the requested connection to the corresponding
            state. 成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>db2_connect()</strong>
   * <strong>db2_pconnect()</strong>


id: db2_bind_param
type: function
doc:
<comment>Description:</comment>
  Binds a PHP variable to an SQL statement parameter
    
  
  Binds a PHP variable to an SQL statement parameter in a statement resource returned by
  <strong>db2_prepare()</strong>. This function gives you more control over the parameter type, data type, precision,
  and scale for the parameter than simply passing the variable as part of the optional input array
  to <strong>db2_execute()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>              A prepared statement returned from <strong>db2_prepare()</strong>.
  <info>int</info>       <strong>$parameter_number</strong>  Specifies the 1-indexed position of the parameter in the prepared
                               statement.
  <info>string</info>    <strong>$variable_name</strong>     A string specifying the name of the PHP variable to bind to the
                               parameter specified by <strong>$parameter_number</strong>.
  <info>int</info>       <strong>$parameter_type</strong>    A constant specifying whether the PHP variable should be bound to the
                               SQL parameter as an input parameter (<return>DB2_PARAM_IN</return>), an output
                               parameter (<return>DB2_PARAM_OUT</return>), or as a parameter that accepts input and
                               returns output (<return>DB2_PARAM_INOUT</return>). To avoid memory overhead, you can
                               also specify <return>DB2_PARAM_FILE</return> to bind the PHP variable to the name of a
                               file that contains large object (BLOB, CLOB, or DBCLOB) data.
  <info>int</info>       <strong>$data_type</strong>         A constant specifying the SQL data type that the PHP variable should
                               be bound as: one of <return>DB2_BINARY</return>, <return>DB2_CHAR</return>, <return>DB2_DOUBLE</return>, or <return>DB2_LONG</return> .
  <info>int</info>       <strong>$precision</strong>         Specifies the precision with which the variable should be bound to
                               the database. This parameter can also be used for retrieving XML
                               output values  from stored procedures. A non-negative value specifies
                               the maximum size of  the XML data that will be retrieved from the
                               database. If this parameter  is not used, a default of 1MB will be
                               assumed for retrieving the XML  output value from the stored
                               procedure.
  <info>int</info>       <strong>$scale</strong>             Specifies the scale with which the variable should be bound to the
                               database.

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

<comment>See Also:</comment>
   * <strong>db2_execute()</strong>
   * <strong>db2_prepare()</strong>


id: db2_client_info
type: function
doc:
<comment>Description:</comment>
  Returns an object with properties that describe the DB2 database client
  
  This function returns an object with read-only properties that return information about the DB2
  database client. The following table lists the DB2 client properties: DB2 client
  propertiesProperty nameReturn typeDescriptionAPPL_CODEPAGEintThe application code
  page.CONN_CODEPAGEintThe code page for the current connection.DATA_SOURCE_NAMEstringThe data
  source name (DSN) used to create the current connection to the database.DRIVER_NAMEstringThe name
  of the library that implements the DB2 Call Level Interface (CLI)
  specification.DRIVER_ODBC_VERstringThe version of ODBC that the DB2 client supports. This returns
  a string "MM.mm" where MM is the major version and mm is the minor version. The DB2 client always
  returns "03.51". DRIVER_VERstringThe version of the client, in the form of a string "MM.mm.uuuu"
  where MM is the major version,  mm is the minor version, and uuuu is the update. For example,
  "08.02.0001" represents major version 8, minor version 2, update 1. ODBC_SQL_CONFORMANCEstringThe
  level of ODBC SQL grammar supported by the client: MINIMUM Supports the minimum ODBC SQL grammar.
  CORE Supports the core ODBC SQL grammar. EXTENDED Supports extended ODBC SQL grammar.
  ODBC_VERstringThe version of ODBC that the ODBC driver manager supports. This returns a string
  "MM.mm.rrrr" where MM is the major version, mm is the minor version, and rrrr is the release. The
  DB2 client always returns "03.01.0000".
  
  The level of ODBC SQL grammar supported by the client: MINIMUM Supports the minimum ODBC SQL
  grammar. CORE Supports the core ODBC SQL grammar. EXTENDED Supports extended ODBC SQL grammar.
  
  Supports the minimum ODBC SQL grammar.
  
  Supports the core ODBC SQL grammar.
  
  Supports extended ODBC SQL grammar.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  Specifies an active DB2 client connection.

<comment>Return:</comment>
  <info>stdClass|false</info>  Returns an object on a successful call, 或者在失败时返回 <info>false</info>

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


id: db2_close
type: function
doc:
<comment>Description:</comment>
  Closes a database connection
    
  
  This function closes a DB2 client connection created with <strong>db2_connect()</strong> and returns the
  corresponding resources to the database server.
  
  If you attempt to close a persistent DB2 client connection created with <strong>db2_pconnect()</strong>, the close
  request is ignored and the persistent DB2 client connection remains available for the next caller.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  Specifies an active DB2 client connection.

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

<comment>See Also:</comment>
   * <strong>db2_connect()</strong>
   * <strong>db2_pclose()</strong>
   * <strong>db2_pconnect()</strong>


id: db2_column_privileges
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the columns and associated privileges for a table
    
  
  Returns a result set listing the columns and associated privileges for a table.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>   A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>    A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                             other databases, pass <info>null</info> or an empty string.
  <info>string|null</info>  <strong>$schema</strong>       The schema which contains the tables. To match all schemas, pass <info>null</info>
                             or an empty string.
  <info>string|null</info>  <strong>$table_name</strong>   The name of the table or view. To match all tables in the database,
                             pass <info>null</info> or an empty string.
  <info>string|null</info>  <strong>$column_name</strong>  The name of the column. To match all columns in the table, pass <info>null</info> or
                             an empty string.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the column
            privileges for columns matching the specified parameters. The rows are composed of the
            following columns: Column nameDescriptionTABLE_CATName of the catalog. The value is NULL
            if this table does not have catalogs.TABLE_SCHEMName of the schema.TABLE_NAMEName of the
            table or view.COLUMN_NAMEName of the column.GRANTORAuthorization ID of the user who
            granted the privilege.GRANTEEAuthorization ID of the user to whom the privilege was
            granted.PRIVILEGEThe privilege for the column.IS_GRANTABLEWhether the GRANTEE is
            permitted to grant this privilege to other users.

<comment>See Also:</comment>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_columns
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the columns and associated metadata for a table
    
  
  Returns a result set listing the columns and associated metadata for a table.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>   A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>    A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                             other databases, pass <info>null</info> or an empty string.
  <info>string|null</info>  <strong>$schema</strong>       The schema which contains the tables. To match all schemas, pass <return>'%'</return>.
  <info>string|null</info>  <strong>$table_name</strong>   The name of the table or view. To match all tables in the database,
                             pass <info>null</info> or an empty string.
  <info>string|null</info>  <strong>$column_name</strong>  The name of the column. To match all columns in the table, pass <info>null</info> or
                             an empty string.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the columns
            matching the specified parameters. The rows are composed of the following columns:
            Column nameDescriptionTABLE_CATName of the catalog. The value is NULL if this table does
            not have catalogs.TABLE_SCHEMName of the schema.TABLE_NAMEName of the table or
            view.COLUMN_NAMEName of the column.DATA_TYPEThe SQL data type for the column represented
            as an integer value.TYPE_NAMEA string representing the data type for the
            column.COLUMN_SIZEAn integer value representing the size of the column.BUFFER_LENGTH
            Maximum number of bytes necessary to store data from this column. DECIMAL_DIGITS The
            scale of the column, or <info>null</info> where scale is not applicable. NUM_PREC_RADIX An integer
            value of either <return>10</return> (representing an exact numeric data type), <return>2</return> (representing an
            approximate numeric data type), or <info>null</info> (representing a data type for which radix is not
            applicable). NULLABLEAn integer value representing whether the column is nullable or
            not.REMARKSDescription of the column.COLUMN_DEFDefault value for the
            column.SQL_DATA_TYPEAn integer value representing the size of the
            column.SQL_DATETIME_SUB Returns an integer value representing a datetime subtype code,
            or <info>null</info> for SQL data types to which this does not apply. CHAR_OCTET_LENGTH Maximum
            length in octets for a character data type column, which matches COLUMN_SIZE for
            single-byte character set data, or <info>null</info> for non-character data types.
            ORDINAL_POSITIONThe 1-indexed position of the column in the table.IS_NULLABLE A string
            value where 'YES' means that the column is nullable and 'NO' means that the column is
            not nullable.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_commit
type: function
doc:
<comment>Description:</comment>
  Commits a transaction
    
  
  Commits an in-progress transaction on the specified connection resource and begins a new
  transaction. PHP applications normally default to AUTOCOMMIT mode, so <strong>db2_commit()</strong> is not
  necessary unless AUTOCOMMIT has been turned off for the connection resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.

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

<comment>See Also:</comment>
   * <strong>db2_autocommit()</strong>
   * <strong>db2_rollback()</strong>


id: db2_conn_error
type: function
doc:
<comment>Description:</comment>
  Returns a string containing the SQLSTATE returned by the last connection attempt
    
  
  <strong>db2_conn_error()</strong> returns an SQLSTATE value representing the reason the last attempt to connect to
  a database failed. As <strong>db2_connect()</strong> returns <info>false</info> in the event of a failed connection attempt, you
  do not pass any parameters to <strong>db2_conn_error()</strong> to retrieve the SQLSTATE value.
  
  If, however, the connection was successful but becomes invalid over time, you can pass the
  <strong>$connection</strong> parameter to retrieve the SQLSTATE value for a specific connection.
  
  To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line
  Processor prompt: db2 '? <strong>$sqlstate-value</strong>'. You can also call <strong>db2_conn_errormsg()</strong> to retrieve an
  explicit error message and the associated SQLCODE value.

<comment>Param:</comment>
  <info>resource|null</info>  <strong>$connection</strong>  A connection resource associated with a connection that initially
                              succeeded, but which over time became invalid.

<comment>Return:</comment>
  <info>string</info>  Returns the SQLSTATE value resulting from a failed connection attempt. Returns an empty
          string if there is no error associated with the last connection attempt.

<comment>See Also:</comment>
   * <strong>db2_conn_errormsg()</strong>
   * <strong>db2_connect()</strong>
   * <strong>db2_stmt_error()</strong>
   * <strong>db2_stmt_errormsg()</strong>


id: db2_conn_errormsg
type: function
doc:
<comment>Description:</comment>
  Returns the last connection error message and SQLCODE value
    
  
  <strong>db2_conn_errormsg()</strong> returns an error message and SQLCODE value representing the reason the last
  database connection attempt failed. As <strong>db2_connect()</strong> returns <info>false</info> in the event of a failed
  connection attempt, do not pass any parameters to <strong>db2_conn_errormsg()</strong> to retrieve the associated
  error message and SQLCODE value.
  
  If, however, the connection was successful but becomes invalid over time, you can pass the
  <strong>$connection</strong> parameter to retrieve the associated error message and SQLCODE value for a specific
  connection.

<comment>Param:</comment>
  <info>resource|null</info>  <strong>$connection</strong>  A connection resource associated with a connection that initially
                              succeeded, but which over time became invalid.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the error message and SQLCODE value resulting from a failed
          connection attempt. If there is no error associated with the last connection attempt,
          <strong>db2_conn_errormsg()</strong> returns an empty string.

<comment>See Also:</comment>
   * <strong>db2_conn_error()</strong>
   * <strong>db2_connect()</strong>
   * <strong>db2_stmt_error()</strong>
   * <strong>db2_stmt_errormsg()</strong>


id: db2_connect
type: function
doc:
<comment>Description:</comment>
  Returns a connection to a database
    
  
  Creates a new connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby
  database.

<comment>Param:</comment>
  <info>string</info>       <strong>$database</strong>           For a cataloged connection to a database, <strong>$database</strong> represents
                                   the database alias in the DB2 client catalog.
                                   
                                   For an uncataloged connection to a database, <strong>$database</strong> represents
                                   a complete connection string in the following format:
                                   DATABASE=<strong>$database</strong>;HOSTNAME=<strong>$hostname</strong>;PORT=<strong>$port</strong>;PROTOCOL=TCPIP;UID=<strong>$username</strong>;PWD=<strong>$password</strong>;
                                   where the parameters represent the following values: <strong>$database</strong>
                                   The name of the database. <strong>$hostname</strong> The hostname or IP address of
                                   the database server. <strong>$port</strong> The TCP/IP port on which the database
                                   is listening for requests. <strong>$username</strong> The username with which you
                                   are connecting to the database. <strong>$password</strong> The password with which
                                   you are connecting to the database.
                                   
                                   The name of the database.
                                   
                                   The hostname or IP address of the database server.
                                   
                                   The TCP/IP port on which the database is listening for requests.
                                   
                                   The username with which you are connecting to the database.
                                   
                                   The password with which you are connecting to the database.
  <info>string</info>       <strong>$database</strong>           The name of the database.
  <info></info>             <strong>$hostname</strong>           The hostname or IP address of the database server.
  <info></info>             <strong>$port</strong>               The TCP/IP port on which the database is listening for requests.
  <info>string|null</info>  <strong>$username</strong>           The username with which you are connecting to the database.
  <info>string|null</info>  <strong>$password</strong>           The password with which you are connecting to the database.
  <info>string|null</info>  <strong>$username</strong>           The username with which you are connecting to the database.
                                   
                                   For uncataloged connections, you must pass a <info>null</info> value or empty
                                   string.
  <info>string|null</info>  <strong>$password</strong>           The password with which you are connecting to the database.
                                   
                                   For uncataloged connections, you must pass a <info>null</info> value or empty
                                   string.
  <info>array</info>        <strong>$options</strong>            An associative array of connection options that affect the
                                   behavior of the connection, where valid array keys include:
                                   <strong>$autocommit</strong> Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit
                                   on for this connection handle.  Passing the <return>DB2_AUTOCOMMIT_OFF</return>
                                   value turns autocommit off for this connection handle.
                                   <strong>$DB2_ATTR_CASE</strong> Passing the <return>DB2_CASE_NATURAL</return> value specifies that
                                   column names are returned in natural case.  Passing the
                                   <return>DB2_CASE_LOWER</return> value specifies that column names are returned in
                                   lower case.  Passing the <return>DB2_CASE_UPPER</return> value specifies that
                                   column names are returned in upper case. <strong>$CURSOR</strong> Passing the
                                   <return>DB2_FORWARD_ONLY</return> value specifies a forward-only cursor for a
                                   statement resource. This is the default cursor type and is
                                   supported on all database servers.  Passing the <return>DB2_SCROLLABLE</return>
                                   value specifies a scrollable cursor for a statement resource.
                                   This mode enables random access to rows in a result set, but
                                   currently is supported only by IBM DB2 Universal Database.
                                   
                                   Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this
                                   connection handle.
                                   
                                   Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for
                                   this connection handle.
                                   
                                   Passing the <return>DB2_CASE_NATURAL</return> value specifies that column names
                                   are returned in natural case.
                                   
                                   Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                                   returned in lower case.
                                   
                                   Passing the <return>DB2_CASE_UPPER</return> value specifies that column names are
                                   returned in upper case.
                                   
                                   Passing the <return>DB2_FORWARD_ONLY</return> value specifies a forward-only
                                   cursor for a statement resource. This is the default cursor type
                                   and is supported on all database servers.
                                   
                                   Passing the <return>DB2_SCROLLABLE</return> value specifies a scrollable cursor
                                   for a statement resource. This mode enables random access to rows
                                   in a result set, but currently is supported only by IBM DB2
                                   Universal Database.
                                   
                                   The following new option is available in ibm_db2 version 1.7.0
                                   and later. <strong>$trustedcontext</strong> Passing the DB2_TRUSTED_CONTEXT_ENABLE
                                   value turns trusted context on for this connection handle. This
                                   parameter cannot be set using <strong>db2_set_option()</strong>.  This key works
                                   only if the database is cataloged (even if the database is
                                   local), or if you specify the full DSN when you create the
                                   connection.  To catalog the database, use following commands: db2
                                   catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                                   db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                                   db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                                   db2set DB2COMM=TCPIP
                                   
                                   Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted
                                   context on for this connection handle. This parameter cannot be
                                   set using <strong>db2_set_option()</strong>.
                                   
                                   This key works only if the database is cataloged (even if the
                                   database is local), or if you specify the full DSN when you
                                   create the connection.
                                   
                                   To catalog the database, use following commands:
                                   
                                   db2 catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                                   db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                                   db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                                   db2set DB2COMM=TCPIP
                                   
                                   The following new i5/OS options are available in ibm_db2 version
                                   1.5.1 and later. <strong>$i5_lib</strong> A character value that indicates the
                                   default library that will be used for resolving unqualified file
                                   references. This is not valid if the connection is using system
                                   naming mode. <strong>$i5_naming</strong><return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB
                                   CLI iSeries system naming mode. Files are qualified using the
                                   slash (/) delimiter. Unqualified files are resolved using the
                                   library list for the job. <return>DB2_I5_NAMING_OFF</return> value turns off DB2
                                   UDB CLI default naming mode, which is SQL naming. Files are
                                   qualified using the period (.) delimiter. Unqualified files are
                                   resolved using either the default library or the current user ID.
                                   <strong>$i5_commit</strong> The <strong>$i5_commit</strong> attribute should be set before the
                                   <strong>db2_connect()</strong>. If the value is changed after the connection has
                                   been established, and the connection is to a remote data source,
                                   the change does not take effect until the next successful
                                   <strong>db2_connect()</strong> for the connection handle.  The php.ini setting
                                   <strong>$ibm_db2.i5_allow_commit</strong>==0 or <return>DB2_I5_TXN_NO_COMMIT</return> is the
                                   default, but may be overridden with the <strong>$i5_commit</strong> option.
                                   <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                                   <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable reads,
                                   and phantoms are possible. <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty
                                   reads are not possible. Nonrepeatable reads, and phantoms are
                                   possible. <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and
                                   nonrepeatable reads are not possible. Phantoms are possible.
                                   <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable. Dirty
                                   reads, non-repeatable reads, and phantoms are not possible
                                   <strong>$i5_query_optimize</strong><return>DB2_FIRST_IO</return> All queries are optimized with the
                                   goal of returning the first page of output as fast as possible.
                                   This goal works well when the output is controlled by a user who
                                   is most likely to cancel the query after viewing the first page
                                   of output data. Queries coded with an OPTIMIZE FOR nnn ROWS
                                   clause honor the goal specified by the clause. <return>DB2_ALL_IO</return> All
                                   queries are optimized with the goal of running the entire query
                                   to completion in the shortest amount of elapsed time. This is a
                                   good option when the output of a query is being written to a file
                                   or report, or the interface is queuing the output data. Queries
                                   coded with an OPTIMIZE FOR nnn ROWS clause honor the goal
                                   specified by the clause. This is the default.
                                   <strong>$i5_dbcs_alloc</strong><return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X
                                   allocation scheme for DBCS translation column size growth.
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme
                                   for DBCS translation column size growth.  Note: php.ini setting
                                   <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or <return>DB2_I5_DBCS_ALLOC_OFF</return> is the
                                   default, but may be overridden with the <strong>$i5_dbcs_alloc</strong> option.
                                   <strong>$i5_date_fmt</strong><return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) date format yyyy-mm-dd is used. This is the
                                   default. <return>DB2_I5_FMT_USA</return> - The United States date format
                                   mm/dd/yyyy is used. <return>DB2_I5_FMT_EUR</return> - The European date format
                                   dd.mm.yyyy is used. <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial
                                   Standard date format yyyy-mm-dd is used. <return>DB2_I5_FMT_MDY</return> - The
                                   date format mm/dd/yyyy is used. <return>DB2_I5_FMT_DMY</return> - The date format
                                   dd/mm/yyyy is used. <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is
                                   used. <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                                   <return>DB2_I5_FMT_JOB</return> - The job default is used.
                                   <strong>$i5_date_sep</strong><return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date
                                   separator. This is the default. <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is
                                   used as the date separator. <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is
                                   used as the date separator. <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is
                                   used as the date separator. <return>DB2_I5_SEP_BLANK</return> - A blank is used as
                                   the date separator. <return>DB2_I5_SEP_JOB</return> - The job default is used
                                   <strong>$i5_time_fmt</strong><return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) time format hh.mm.ss is used. This is the
                                   default. <return>DB2_I5_FMT_USA</return> - The United States time format hh:mmxx
                                   is used, where xx is AM or PM. <return>DB2_I5_FMT_EUR</return> - The European time
                                   format hh.mm.ss is used. <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial
                                   Standard time format hh:mm:ss is used. <return>DB2_I5_FMT_HMS</return> - The
                                   hh:mm:ss format is used. <strong>$i5_time_sep</strong><return>DB2_I5_SEP_COLON</return> - A colon (
                                   : ) is used as the time separator. This is the default.
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time separator.
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time separator.
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
                                   <strong>$i5_decimal_sep</strong><return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the
                                   decimal separator. This is the default. <return>DB2_I5_SEP_COMMA</return> - A
                                   comma ( , ) is used as the decimal separator. <return>DB2_I5_SEP_JOB</return> -
                                   The job default is used.
                                   
                                   A character value that indicates the default library that will be
                                   used for resolving unqualified file references. This is not valid
                                   if the connection is using system naming mode.
                                   
                                   <return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB CLI iSeries system naming
                                   mode. Files are qualified using the slash (/) delimiter.
                                   Unqualified files are resolved using the library list for the
                                   job.
                                   
                                   <return>DB2_I5_NAMING_OFF</return> value turns off DB2 UDB CLI default naming
                                   mode, which is SQL naming. Files are qualified using the period
                                   (.) delimiter. Unqualified files are resolved using either the
                                   default library or the current user ID.
                                   
                                   The <strong>$i5_commit</strong> attribute should be set before the <strong>db2_connect()</strong>.
                                   If the value is changed after the connection has been
                                   established, and the connection is to a remote data source, the
                                   change does not take effect until the next successful
                                   <strong>db2_connect()</strong> for the connection handle.  The php.ini setting
                                   <strong>$ibm_db2.i5_allow_commit</strong>==0 or <return>DB2_I5_TXN_NO_COMMIT</return> is the
                                   default, but may be overridden with the <strong>$i5_commit</strong> option.
                                   
                                   The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0 or
                                   <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be overridden with
                                   the <strong>$i5_commit</strong> option.
                                   
                                   <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                                   
                                   <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable reads,
                                   and phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not possible.
                                   Nonrepeatable reads, and phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable reads
                                   are not possible. Phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable. Dirty
                                   reads, non-repeatable reads, and phantoms are not possible
                                   
                                   <return>DB2_FIRST_IO</return> All queries are optimized with the goal of returning
                                   the first page of output as fast as possible. This goal works
                                   well when the output is controlled by a user who is most likely
                                   to cancel the query after viewing the first page of output data.
                                   Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal
                                   specified by the clause.
                                   
                                   <return>DB2_ALL_IO</return> All queries are optimized with the goal of running the
                                   entire query to completion in the shortest amount of elapsed
                                   time. This is a good option when the output of a query is being
                                   written to a file or report, or the interface is queuing the
                                   output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause
                                   honor the goal specified by the clause. This is the default.
                                   
                                   <return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X allocation scheme for
                                   DBCS translation column size growth.
                                   
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme
                                   for DBCS translation column size growth.
                                   
                                   Note: php.ini setting <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default, but may be overridden with
                                   the <strong>$i5_dbcs_alloc</strong> option.
                                   
                                   <return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) date format yyyy-mm-dd is used. This is the
                                   default.
                                   
                                   <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is
                                   used.
                                   
                                   <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                                   
                                   <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                                   yyyy-mm-dd is used.
                                   
                                   <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is used.
                                   
                                   <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                                   
                                   <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used.
                                   
                                   <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                                   
                                   <return>DB2_I5_FMT_JOB</return> - The job default is used.
                                   
                                   <return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date separator.
                                   This is the default.
                                   
                                   <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used
                                   
                                   <return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) time format hh.mm.ss is used. This is the
                                   default.
                                   
                                   <return>DB2_I5_FMT_USA</return> - The United States time format hh:mmxx is used,
                                   where xx is AM or PM.
                                   
                                   <return>DB2_I5_FMT_EUR</return> - The European time format hh.mm.ss is used.
                                   
                                   <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard time format
                                   hh:mm:ss is used.
                                   
                                   <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is used.
                                   
                                   <return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time separator.
                                   This is the default.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the decimal
                                   separator. This is the default.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the decimal
                                   separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
                                   
                                   The following new i5/OS option is available in ibm_db2 version
                                   1.8.0 and later. <strong>$i5_libl</strong> A character value that indicates the
                                   library list that will be used for resolving unqualified file
                                   references. Specify the library list elements separated by blanks
                                   'i5_libl'=&gt;"MYLIB YOURLIB ANYLIB". <strong>$i5_libl</strong> calls
                                   qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS
                                   V5R4 and later.
                                   
                                   A character value that indicates the library list that will be
                                   used for resolving unqualified file references. Specify the
                                   library list elements separated by blanks 'i5_libl'=&gt;"MYLIB
                                   YOURLIB ANYLIB".
                                   
                                   <strong>$i5_libl</strong> calls qsys2/qcmdexc('cmd',cmdlen), which is only
                                   available in i5/OS V5R4 and later.
  <info></info>             <strong>$autocommit</strong>         Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this
                                   connection handle.
                                   
                                   Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for
                                   this connection handle.
  <info></info>             <strong>$DB2_ATTR_CASE</strong>      Passing the <return>DB2_CASE_NATURAL</return> value specifies that column names
                                   are returned in natural case.
                                   
                                   Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                                   returned in lower case.
                                   
                                   Passing the <return>DB2_CASE_UPPER</return> value specifies that column names are
                                   returned in upper case.
  <info></info>             <strong>$CURSOR</strong>             Passing the <return>DB2_FORWARD_ONLY</return> value specifies a forward-only
                                   cursor for a statement resource. This is the default cursor type
                                   and is supported on all database servers.
                                   
                                   Passing the <return>DB2_SCROLLABLE</return> value specifies a scrollable cursor
                                   for a statement resource. This mode enables random access to rows
                                   in a result set, but currently is supported only by IBM DB2
                                   Universal Database.
  <info></info>             <strong>$trustedcontext</strong>     Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted
                                   context on for this connection handle. This parameter cannot be
                                   set using <strong>db2_set_option()</strong>.
                                   
                                   This key works only if the database is cataloged (even if the
                                   database is local), or if you specify the full DSN when you
                                   create the connection.
                                   
                                   To catalog the database, use following commands:
                                   
                                   db2 catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                                   db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                                   db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                                   db2set DB2COMM=TCPIP
  <info></info>             <strong>$i5_lib</strong>             A character value that indicates the default library that will be
                                   used for resolving unqualified file references. This is not valid
                                   if the connection is using system naming mode.
  <info></info>             <strong>$i5_naming</strong>          <return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB CLI iSeries system naming
                                   mode. Files are qualified using the slash (/) delimiter.
                                   Unqualified files are resolved using the library list for the
                                   job.
                                   
                                   <return>DB2_I5_NAMING_OFF</return> value turns off DB2 UDB CLI default naming
                                   mode, which is SQL naming. Files are qualified using the period
                                   (.) delimiter. Unqualified files are resolved using either the
                                   default library or the current user ID.
  <info></info>             <strong>$i5_commit</strong>          The <strong>$i5_commit</strong> attribute should be set before the <strong>db2_connect()</strong>.
                                   If the value is changed after the connection has been
                                   established, and the connection is to a remote data source, the
                                   change does not take effect until the next successful
                                   <strong>db2_connect()</strong> for the connection handle.  The php.ini setting
                                   <strong>$ibm_db2.i5_allow_commit</strong>==0 or <return>DB2_I5_TXN_NO_COMMIT</return> is the
                                   default, but may be overridden with the <strong>$i5_commit</strong> option.
                                   
                                   The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0 or
                                   <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be overridden with
                                   the <strong>$i5_commit</strong> option.
                                   
                                   <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                                   
                                   <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable reads,
                                   and phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not possible.
                                   Nonrepeatable reads, and phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable reads
                                   are not possible. Phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable. Dirty
                                   reads, non-repeatable reads, and phantoms are not possible
  <info></info>             <strong>$i5_query_optimize</strong>  <return>DB2_FIRST_IO</return> All queries are optimized with the goal of returning
                                   the first page of output as fast as possible. This goal works
                                   well when the output is controlled by a user who is most likely
                                   to cancel the query after viewing the first page of output data.
                                   Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal
                                   specified by the clause.
                                   
                                   <return>DB2_ALL_IO</return> All queries are optimized with the goal of running the
                                   entire query to completion in the shortest amount of elapsed
                                   time. This is a good option when the output of a query is being
                                   written to a file or report, or the interface is queuing the
                                   output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause
                                   honor the goal specified by the clause. This is the default.
  <info></info>             <strong>$i5_dbcs_alloc</strong>      <return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X allocation scheme for
                                   DBCS translation column size growth.
                                   
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme
                                   for DBCS translation column size growth.
                                   
                                   Note: php.ini setting <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default, but may be overridden with
                                   the <strong>$i5_dbcs_alloc</strong> option.
  <info></info>             <strong>$i5_date_fmt</strong>        <return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) date format yyyy-mm-dd is used. This is the
                                   default.
                                   
                                   <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is
                                   used.
                                   
                                   <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                                   
                                   <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                                   yyyy-mm-dd is used.
                                   
                                   <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is used.
                                   
                                   <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                                   
                                   <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used.
                                   
                                   <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                                   
                                   <return>DB2_I5_FMT_JOB</return> - The job default is used.
  <info></info>             <strong>$i5_date_sep</strong>        <return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date separator.
                                   This is the default.
                                   
                                   <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used
  <info></info>             <strong>$i5_time_fmt</strong>        <return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) time format hh.mm.ss is used. This is the
                                   default.
                                   
                                   <return>DB2_I5_FMT_USA</return> - The United States time format hh:mmxx is used,
                                   where xx is AM or PM.
                                   
                                   <return>DB2_I5_FMT_EUR</return> - The European time format hh.mm.ss is used.
                                   
                                   <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard time format
                                   hh:mm:ss is used.
                                   
                                   <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is used.
  <info></info>             <strong>$i5_time_sep</strong>        <return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time separator.
                                   This is the default.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
  <info></info>             <strong>$i5_decimal_sep</strong>     <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the decimal
                                   separator. This is the default.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the decimal
                                   separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
  <info></info>             <strong>$i5_libl</strong>            A character value that indicates the library list that will be
                                   used for resolving unqualified file references. Specify the
                                   library list elements separated by blanks 'i5_libl'=&gt;"MYLIB
                                   YOURLIB ANYLIB".
                                   
                                   <strong>$i5_libl</strong> calls qsys2/qcmdexc('cmd',cmdlen), which is only
                                   available in i5/OS V5R4 and later.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a connection handle resource if the connection attempt is successful. If
                  the connection attempt fails, <strong>db2_connect()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_close()</strong>
   * <strong>db2_pconnect()</strong>


id: db2_cursor_type
type: function
doc:
<comment>Description:</comment>
  Returns the cursor type used by a statement resource
    
  
  Returns the cursor type used by a statement resource. Use this to determine if you are working
  with a forward-only cursor or scrollable cursor.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource.

<comment>Return:</comment>
  <info>int</info>  Returns either <return>DB2_FORWARD_ONLY</return> if the statement resource uses a forward-only cursor or
       <return>DB2_SCROLLABLE</return> if the statement resource uses a scrollable cursor.

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


id: db2_escape_string
type: function
doc:
<comment>Description:</comment>
  Used to escape certain characters
    
  
  Prepends backslashes to special characters in the string argument.

<comment>Param:</comment>
  <info>string</info>  <strong>$string_literal</strong>  The string that contains special characters that need to be modified.
                           Characters that are prepended with a backslash are <return>\x00</return>,  <return>\n</return>, <return>\r</return>, <return>\</return>,  <return>'</return>,
                           <return>"</return> and <return>\x1a</return>.

<comment>Return:</comment>
  <info>string</info>  Returns <strong>$string_literal</strong> with the special characters  noted above prepended with
          backslashes.

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


id: db2_exec
type: function
doc:
<comment>Description:</comment>
  Executes an SQL statement directly
    
  
  Executes an SQL statement directly.
  
  If you plan to interpolate PHP variables into the SQL statement, understand that this is one of
  the more common security exposures. Consider calling <strong>db2_prepare()</strong> to prepare an SQL statement
  with parameter markers for input values. Then you can call <strong>db2_execute()</strong> to pass in the input
  values and avoid SQL injection attacks.
  
  If you plan to repeatedly issue the same SQL statement with different parameters, consider calling
  <strong>db2_prepare()</strong> and <strong>db2_execute()</strong> to enable the database server to reuse its access plan and
  increase the efficiency of your database access.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>string</info>    <strong>$statement</strong>   An SQL statement. The statement cannot contain any parameter markers.
  <info>array</info>     <strong>$options</strong>     An associative array containing statement options. You can use this
                         parameter to request a scrollable cursor on database servers that support
                         this functionality.
                         
                         For a description of valid statement options, see  <strong>db2_set_option()</strong>.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a statement resource if the SQL statement was issued successfully, or
                  <info>false</info> if the database failed to execute the SQL statement.

<comment>See Also:</comment>
   * <strong>db2_execute()</strong>
   * <strong>db2_prepare()</strong>


id: db2_execute
type: function
doc:
<comment>Description:</comment>
  Executes a prepared SQL statement
    
  
  <strong>db2_execute()</strong> executes an SQL statement that was prepared by <strong>db2_prepare()</strong>.
  
  If the SQL statement returns a result set, for example, a SELECT statement or a CALL to a stored
  procedure that returns one or more result sets, you can retrieve a row as an array from the <return>stmt</return>
  resource using <strong>db2_fetch_assoc()</strong>, <strong>db2_fetch_both()</strong>, or <strong>db2_fetch_array()</strong>. Alternatively, you can
  use <strong>db2_fetch_row()</strong> to move the result set pointer to the next row and fetch a column at a time
  from that row with <strong>db2_result()</strong>.
  
  Refer to <strong>db2_prepare()</strong> for a brief discussion of the advantages of using <strong>db2_prepare()</strong> and
  <strong>db2_execute()</strong> rather than <strong>db2_exec()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        A prepared statement returned from <strong>db2_prepare()</strong>.
  <info>array</info>     <strong>$parameters</strong>  An array of input parameters matching any parameter markers contained in
                         the prepared statement.

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

<comment>See Also:</comment>
   * <strong>db2_exec()</strong>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_prepare()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_array
type: function
doc:
<comment>Description:</comment>
  Returns an array, indexed by column position, representing a row in a result set
    
  
  Returns an array, indexed by column position, representing a row in a result set. The columns are
  0-indexed.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        A valid <return>stmt</return> resource containing a result set.
  <info>int</info>       <strong>$row_number</strong>  Requests a specific 1-indexed row from the result set. Passing this
                         parameter results in a PHP warning if the result set uses a forward-only
                         cursor.

<comment>Return:</comment>
  <info>array|false</info>  Returns a 0-indexed array with column values indexed by the column position
               representing the next or requested row in the result set. Returns <info>false</info> if there are
               no rows left in the result set, or if the row requested by <strong>$row_number</strong> does not exist
               in the result set.

<comment>See Also:</comment>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_assoc
type: function
doc:
<comment>Description:</comment>
  Returns an array, indexed by column name, representing a row in a result set
    
  
  Returns an array, indexed by column name, representing a row in a result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        A valid <return>stmt</return> resource containing a result set.
  <info>int</info>       <strong>$row_number</strong>  Requests a specific 1-indexed row from the result set. Passing this
                         parameter results in a PHP warning if the result set uses a forward-only
                         cursor.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array with column values indexed by the column name
               representing the next or requested row in the result set. Returns <info>false</info> if there are
               no rows left in the result set, or if the row requested by <strong>$row_number</strong> does not exist
               in the result set.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_both
type: function
doc:
<comment>Description:</comment>
  Returns an array, indexed by both column name and position, representing a row in a result set
    
  
  Returns an array, indexed by both column name and position, representing a row in a result set.
  Note that the row returned by <strong>db2_fetch_both()</strong> requires more memory than the single-indexed arrays
  returned by <strong>db2_fetch_assoc()</strong> or <strong>db2_fetch_array()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        A valid <return>stmt</return> resource containing a result set.
  <info>int</info>       <strong>$row_number</strong>  Requests a specific 1-indexed row from the result set. Passing this
                         parameter results in a PHP warning if the result set uses a forward-only
                         cursor.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array with column values indexed by both the column name and
               0-indexed column number. The array represents the next or requested row in the result
               set. Returns <info>false</info> if there are no rows left in the result set, or if the row
               requested by <strong>$row_number</strong> does not exist in the result set.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_object
type: function
doc:
<comment>Description:</comment>
  Returns an object with properties representing columns in the fetched row
    
  
  Returns an object in which each property represents a column returned in the row fetched from a
  result set.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        A valid <return>stmt</return> resource containing a result set.
  <info>int</info>       <strong>$row_number</strong>  Requests a specific 1-indexed row from the result set. Passing this
                         parameter results in a PHP warning if the result set uses a forward-only
                         cursor.

<comment>Return:</comment>
  <info>stdClass|false</info>  Returns an object representing a single row in the result set. The properties of
                  the object map to the names of the columns in the result set.
                  
                  The IBM DB2, Cloudscape, and Apache Derby database servers typically fold column
                  names to upper-case, so the object properties will reflect that case.
                  
                  If your SELECT statement calls a scalar function to modify the value of a column,
                  the database servers return the column number as the name of the column in the
                  result set. If you prefer a more descriptive column name and object property, you
                  can use the AS clause to assign a name to the column in the result set.
                  
                  Returns <info>false</info> if no row was retrieved.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_result()</strong>


id: db2_fetch_row
type: function
doc:
<comment>Description:</comment>
  Sets the result set pointer to the next row or requested row
    
  
  Use <strong>db2_fetch_row()</strong> to iterate through a result set, or to point to a specific row in a result set
  if you requested a scrollable cursor.
  
  To retrieve individual fields from the result set, call the <strong>db2_result()</strong> function.
  
  Rather than calling <strong>db2_fetch_row()</strong> and <strong>db2_result()</strong>, most applications will call one of
  <strong>db2_fetch_assoc()</strong>, <strong>db2_fetch_both()</strong>, or <strong>db2_fetch_array()</strong> to advance the result set pointer and
  return a complete row as an array.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>        A valid <return>stmt</return> resource.
  <info>int</info>       <strong>$row_number</strong>  With scrollable cursors, you can request a specific row number in the
                         result set. Row numbering is 1-indexed.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the requested row exists in the result set. Returns <info>false</info> if the requested
        row does not exist in the result set.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_result()</strong>


id: db2_field_display_size
type: function
doc:
<comment>Description:</comment>
  Returns the maximum number of bytes required to display a column
    
  
  Returns the maximum number of bytes required to display a column in a result set.

<comment>Param:</comment>
  <info>resource</info>    <strong>$stmt</strong>    Specifies a statement resource containing a result set.
  <info>int|string</info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                       representing the 0-indexed position of the column, or a string containing the
                       name of the column.

<comment>Return:</comment>
  <info>int|false</info>  Returns an integer value with the maximum number of bytes required to display the
             specified column. If the column does not exist in the result set,
             <strong>db2_field_display_size()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_name
type: function
doc:
<comment>Description:</comment>
  Returns the name of the column in the result set
    
  
  Returns the name of the specified column in the result set.

<comment>Param:</comment>
  <info>resource</info>    <strong>$stmt</strong>    Specifies a statement resource containing a result set.
  <info>int|string</info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                       representing the 0-indexed position of the column, or a string containing the
                       name of the column.

<comment>Return:</comment>
  <info>string|false</info>  Returns a string containing the name of the specified column. If the specified
                column does not exist in the result set, <strong>db2_field_name()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_num
type: function
doc:
<comment>Description:</comment>
  Returns the position of the named column in a result set
    
  
  Returns the position of the named column in a result set.

<comment>Param:</comment>
  <info>resource</info>    <strong>$stmt</strong>    Specifies a statement resource containing a result set.
  <info>int|string</info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                       representing the 0-indexed position of the column, or a string containing the
                       name of the column.

<comment>Return:</comment>
  <info>int|false</info>  Returns an integer containing the 0-indexed position of the named column in the result
             set. If the specified column does not exist in the result set, <strong>db2_field_num()</strong> returns
             <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_precision
type: function
doc:
<comment>Description:</comment>
  Returns the precision of the indicated column in a result set
    
  
  Returns the precision of the indicated column in a result set.

<comment>Param:</comment>
  <info>resource</info>    <strong>$stmt</strong>    Specifies a statement resource containing a result set.
  <info>int|string</info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                       representing the 0-indexed position of the column, or a string containing the
                       name of the column.

<comment>Return:</comment>
  <info>int|false</info>  Returns an integer containing the precision of the specified column. If the specified
             column does not exist in the result set, <strong>db2_field_precision()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_scale
type: function
doc:
<comment>Description:</comment>
  Returns the scale of the indicated column in a result set
    
  
  Returns the scale of the indicated column in a result set.

<comment>Param:</comment>
  <info>resource</info>    <strong>$stmt</strong>    Specifies a statement resource containing a result set.
  <info>int|string</info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                       representing the 0-indexed position of the column, or a string containing the
                       name of the column.

<comment>Return:</comment>
  <info>int|false</info>  Returns an integer containing the scale of the specified column. If the specified
             column does not exist in the result set, <strong>db2_field_scale()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_type
type: function
doc:
<comment>Description:</comment>
  Returns the data type of the indicated column in a result set
    
  
  Returns the data type of the indicated column in a result set.

<comment>Param:</comment>
  <info>resource</info>    <strong>$stmt</strong>    Specifies a statement resource containing a result set.
  <info>int|string</info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                       representing the 0-indexed position of the column, or a string containing the
                       name of the column.

<comment>Return:</comment>
  <info>string|false</info>  Returns a string containing the defined data type of the specified column. If the
                specified column does not exist in the result set, <strong>db2_field_type()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_width()</strong>


id: db2_field_width
type: function
doc:
<comment>Description:</comment>
  Returns the width of the current value of the indicated column in a result set
    
  
  Returns the width of the current value of the indicated column in a result set. This is the
  maximum width of the column for a fixed-length data type, or the actual width of the column for a
  variable-length data type.

<comment>Param:</comment>
  <info>resource</info>    <strong>$stmt</strong>    Specifies a statement resource containing a result set.
  <info>int|string</info>  <strong>$column</strong>  Specifies the column in the result set. This can either be an integer
                       representing the 0-indexed position of the column, or a string containing the
                       name of the column.

<comment>Return:</comment>
  <info>int|false</info>  Returns an integer containing the width of the specified character or binary data type
             column in a result set. If the specified column does not exist in the result set,
             <strong>db2_field_width()</strong> returns <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>


id: db2_foreign_keys
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the foreign keys for a table
    
  
  Returns a result set listing the foreign keys for a table.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>   A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                            other databases, pass <info>null</info> or an empty string.
  <info>string|null</info>  <strong>$schema</strong>      The schema which contains the tables. If <strong>$schema</strong> is <info>null</info>,
                            <strong>db2_foreign_keys()</strong> matches the schema for the current connection.
  <info>string</info>       <strong>$table_name</strong>  The name of the table.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the foreign
            keys for the specified table. The result set is composed of the following columns:
            Column nameDescriptionPKTABLE_CAT Name of the catalog for the table containing the
            primary key. The value is NULL if this table does not have catalogs. PKTABLE_SCHEM Name
            of the schema for the table containing the primary key. PKTABLE_NAMEName of the table
            containing the primary key.PKCOLUMN_NAMEName of the column containing the primary
            key.FKTABLE_CAT Name of the catalog for the table containing the foreign key. The value
            is NULL if this table does not have catalogs. FKTABLE_SCHEM Name of the schema for the
            table containing the foreign key. FKTABLE_NAMEName of the table containing the foreign
            key.FKCOLUMN_NAMEName of the column containing the foreign key.KEY_SEQ1-indexed position
            of the column in the key.UPDATE_RULE Integer value representing the action applied to
            the foreign key when the SQL operation is UPDATE. DELETE_RULE Integer value representing
            the action applied to the foreign key when the SQL operation is DELETE. FK_NAMEThe name
            of the foreign key.PK_NAMEThe name of the primary key.DEFERRABILITY An integer value
            representing whether the foreign key deferrability is SQL_INITIALLY_DEFERRED,
            SQL_INITIALLY_IMMEDIATE, or SQL_NOT_DEFERRABLE.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_free_result
type: function
doc:
<comment>Description:</comment>
  Frees resources associated with a result set
    
  
  Frees the system and database resources that are associated with a result set. These resources are
  freed implicitly when a script finishes, but you can call <strong>db2_free_result()</strong> to explicitly free the
  result set resources before the end of the script.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource.

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

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


id: db2_free_stmt
type: function
doc:
<comment>Description:</comment>
  Frees resources associated with the indicated statement resource
    
  
  Frees the system and database resources that are associated with a statement resource. These
  resources are freed implicitly when a script finishes, but you can call <strong>db2_free_stmt()</strong> to
  explicitly free the statement resources before the end of the script.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource.

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

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


id: db2_get_option
type: function
doc:
<comment>Description:</comment>
  Retrieves an option value for a statement resource or a connection resource
  
  Retrieves the value of a specified option value for a statement resource  or a connection
  resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource</strong>    A valid statement resource as returned from <strong>db2_prepare()</strong> or a valid
                         connection resource as returned from <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>string</info>    <strong>$option</strong>      A valid statement or connection options. The following new options are
                         available  as of ibm_db2 version 1.6.0. They provide useful tracking
                         information  that can be set during execution with <strong>db2_get_option()</strong>.  Prior
                         versions of ibm_db2 do not support these new options.  When the value in
                         each option is being set, some servers might not handle  the entire length
                         provided and might truncate the value.  To ensure that the data specified
                         in each option is converted correctly  when transmitted to a host system,
                         use only the characters A through Z,  0 through 9, and the underscore (_)
                         or period (.).  <strong>$userid</strong><return>SQL_ATTR_INFO_USERID</return> - A pointer to a
                         null-terminated  character string used to identify the client user ID sent
                         to the host  database server when using DB2 Connect.  DB2 for z/OS and
                         OS/390 servers support up to a length of 16 characters.  This user-id is
                         not to be confused with the authentication user-id, it is for
                         identification purposes only and is not used for any authorization.
                         <strong>$acctstr</strong><return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character
                         string used to identify the client accounting string sent to the  host
                         database server when using DB2 Connect.  DB2 for z/OS and OS/390 servers
                         support up to a length of 200 characters.  <strong>$applname</strong><return>SQL_ATTR_INFO_APPLNAME</return>
                         - A pointer to a null-terminated  character string used to identify the
                         client application name sent to the  host database server when using DB2
                         Connect.  DB2 for z/OS and OS/390 servers support up to a length of 32
                         characters.  <strong>$wrkstnname</strong><return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a
                         null-terminated  character string used to identify the client workstation
                         name sent to the  host database server when using DB2 Connect.  DB2 for
                         z/OS and OS/390 servers support up to a length of 18 characters.
                         
                         Prior versions of ibm_db2 do not support these new options.
                         
                         When the value in each option is being set, some servers might not handle
                         the entire length provided and might truncate the value.
                         
                         To ensure that the data specified in each option is converted correctly
                         when transmitted to a host system, use only the characters A through Z,  0
                         through 9, and the underscore (_) or period (.).
                         
                         <return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated  character string
                         used to identify the client user ID sent to the host  database server when
                         using DB2 Connect.  DB2 for z/OS and OS/390 servers support up to a length
                         of 16 characters.  This user-id is not to be confused with the
                         authentication user-id, it is for  identification purposes only and is not
                         used for any authorization.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 16 characters.
                         This user-id is not to be confused with the authentication user-id, it is
                         for  identification purposes only and is not used for any authorization.
                         
                         <return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character string
                         used to identify the client accounting string sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 200 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 200 characters.
                         
                         <return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated  character string
                         used to identify the client application name sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 32 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 32 characters.
                         
                         <return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated  character string
                         used to identify the client workstation name sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 18 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 18 characters.
  <info></info>          <strong>$userid</strong>      <return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated  character string
                         used to identify the client user ID sent to the host  database server when
                         using DB2 Connect.  DB2 for z/OS and OS/390 servers support up to a length
                         of 16 characters.  This user-id is not to be confused with the
                         authentication user-id, it is for  identification purposes only and is not
                         used for any authorization.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 16 characters.
                         This user-id is not to be confused with the authentication user-id, it is
                         for  identification purposes only and is not used for any authorization.
  <info></info>          <strong>$acctstr</strong>     <return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character string
                         used to identify the client accounting string sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 200 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 200 characters.
  <info></info>          <strong>$applname</strong>    <return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated  character string
                         used to identify the client application name sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 32 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 32 characters.
  <info></info>          <strong>$wrkstnname</strong>  <return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated  character string
                         used to identify the client workstation name sent to the  host database
                         server when using DB2 Connect.  DB2 for z/OS and OS/390 servers support up
                         to a length of 18 characters.
                         
                         DB2 for z/OS and OS/390 servers support up to a length of 18 characters.

<comment>Return:</comment>
  <info>string|false</info>  Returns the current setting of the connection attribute provided on success  或者在
                失败时返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>db2_connect()</strong>
   * <strong>db2_cursor_type()</strong>
   * <strong>db2_exec()</strong>
   * <strong>db2_set_option()</strong>
   * <strong>db2_pconnect()</strong>
   * <strong>db2_prepare()</strong>


id: db2_last_insert_id
type: function
doc:
<comment>Description:</comment>
  Returns the auto generated ID of the last insert query that successfully 
    executed on this connection
  
  Returns the auto generated ID of the last insert query that successfully  executed on this
  connection.
  
  The result of this function is not affected by any of the following:  A single row INSERT
  statement with a VALUES clause for a table without an identity column.  A multiple row INSERT
  statement with a VALUES clause.  An INSERT statement with a fullselect.  A ROLLBACK TO SAVEPOINT
  statement.
  
  A single row INSERT statement with a VALUES clause for a table without an identity column.
  
  A multiple row INSERT statement with a VALUES clause.
  
  An INSERT statement with a fullselect.
  
  A ROLLBACK TO SAVEPOINT statement.

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource</strong>  A valid connection resource as returned from <strong>db2_connect()</strong>  or
                       <strong>db2_pconnect()</strong>. The value of this parameter cannot be a  statement resource
                       or result set resource.

<comment>Return:</comment>
  <info>string|null</info>  Returns the auto generated ID of last insert query that successfully  executed on
               this connection.


id: db2_lob_read
type: function
doc:
<comment>Description:</comment>
  Gets a user defined size of LOB files with each invocation
    
  
  Use <strong>db2_lob_read()</strong> to iterate through a specified column of  a result set and retrieve a user
  defined size of LOB data.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>    A valid <return>stmt</return> resource containing LOB data.
  <info>int</info>       <strong>$colnum</strong>  A valid column number in the result set of the <return>stmt</return> resource.
  <info>int</info>       <strong>$length</strong>  The size of the LOB data to be retrieved from the <return>stmt</return> resource.

<comment>Return:</comment>
  <info>string|false</info>  Returns the amount of data the user specifies. Returns <info>false</info> if the data cannot be
                retrieved.

<comment>See Also:</comment>
   * <strong>db2_bind_param()</strong>
   * <strong>db2_exec()</strong>
   * <strong>db2_execute()</strong>
   * <strong>db2_fetch_row()</strong>
   * <strong>db2_prepare()</strong>
   * <strong>db2_result()</strong>


id: db2_next_result
type: function
doc:
<comment>Description:</comment>
  Requests the next result set from a stored procedure
    
  
  A stored procedure can return zero or more result sets. While you handle the first result set in
  exactly the same way you would handle the results returned by a simple SELECT statement, to fetch
  the second and subsequent result sets from a stored procedure you must call the <strong>db2_next_result()</strong>
  function and return the result to a uniquely named PHP variable.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A prepared statement returned from <strong>db2_exec()</strong> or <strong>db2_execute()</strong>.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a new statement resource containing the next result set if the stored
                  procedure returned another result set. Returns <info>false</info> if the stored procedure did
                  not return another result set.


id: db2_num_fields
type: function
doc:
<comment>Description:</comment>
  Returns the number of fields contained in a result set
    
  
  Returns the number of fields contained in a result set. This is most useful for handling the
  result sets returned by dynamically generated queries, or for result sets returned by stored
  procedures, where your application cannot otherwise know how to retrieve and use the results.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid statement resource containing a result set.

<comment>Return:</comment>
  <info>int|false</info>  Returns an integer value representing the number of fields in the result set associated
             with the specified statement resource. Returns <info>false</info> if the statement resource is not a
             valid input value.

<comment>See Also:</comment>
   * <strong>db2_execute()</strong>
   * <strong>db2_field_display_size()</strong>
   * <strong>db2_field_name()</strong>
   * <strong>db2_field_num()</strong>
   * <strong>db2_field_precision()</strong>
   * <strong>db2_field_scale()</strong>
   * <strong>db2_field_type()</strong>
   * <strong>db2_field_width()</strong>


id: db2_num_rows
type: function
doc:
<comment>Description:</comment>
  Returns the number of rows affected by an SQL statement
    
  
  Returns the number of rows deleted, inserted, or updated by an SQL statement.
  
  To determine the number of rows that will be returned by a SELECT statement, issue SELECT COUNT(*)
  with the same predicates as your intended SELECT statement and retrieve the value.
  
  If your application logic checks the number of rows returned by a SELECT statement and branches if
  the number of rows is 0, consider modifying your application to attempt to return the first row
  with one of <strong>db2_fetch_assoc()</strong>, <strong>db2_fetch_both()</strong>, <strong>db2_fetch_array()</strong>, or <strong>db2_fetch_row()</strong>, and branch
  if the fetch function returns <info>false</info>.
  
  If you issue a SELECT statement using a scrollable cursor, <strong>db2_num_rows()</strong> returns the number of
  rows returned by the SELECT statement. However, the overhead associated with scrollable cursors
  significantly degrades the performance of your application, so if this is the only reason you are
  considering using scrollable cursors, you should use a forward-only cursor and either call SELECT
  COUNT(*) or rely on the <info>bool</info> return value of the fetch functions to achieve the equivalent
  functionality with much better performance.

<comment>Param:</comment>
  <info>resource</info>  <strong>$stmt</strong>  A valid <return>stmt</return> resource containing a result set.

<comment>Return:</comment>
  <info>int|false</info>  Returns the number of rows affected by the last SQL statement issued by the specified
             statement handle, 或者在失败时返回 <info>false</info>


id: db2_pclose
type: function
doc:
<comment>Description:</comment>
  Closes a persistent database connection
  
  This function closes a DB2 client connection created with  <strong>db2_pconnect()</strong> and returns the
  corresponding resources  to the database server.    This function is only available on i5/OS in
  response to i5/OS system  administration requests.
  
  This function is only available on i5/OS in response to i5/OS system  administration requests.
  
  If you have a persistent DB2 client connection created with  <strong>db2_pconnect()</strong>, you may use this
  function to close the  connection. To avoid substantial connection performance penalties, this
  function should only be used in rare cases when the persistent connection  has become unresponsive
  or the persistent connection will not be needed for  a long period of time.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  Specifies an active DB2 client connection.

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

<comment>See Also:</comment>
   * <strong>db2_close()</strong>
   * <strong>db2_pconnect()</strong>


id: db2_pconnect
type: function
doc:
<comment>Description:</comment>
  Returns a persistent connection to a database
    
  
  Returns a persistent connection to an IBM DB2 Universal Database, IBM Cloudscape, or Apache Derby
  database.
  
  For more information on persistent connections, refer to .
  
  Calling <strong>db2_close()</strong> on a persistent connection always returns <info>true</info>, but the underlying DB2 client
  connection remains open and waiting to serve the next matching <strong>db2_pconnect()</strong> request.
  
  Users running version 1.9.0 or later of ibm_db2 should be aware that the extension will perform a
  transaction rollback on persistent connections at the end of a request, thus ending the
  transaction.  This prevents the transaction block from carrying over to the next request which
  uses that connection if script execution ends before the transaction block does.

<comment>Param:</comment>
  <info>string</info>       <strong>$database</strong>           The database alias in the DB2 client catalog.
  <info>string|null</info>  <strong>$username</strong>           The username with which you are connecting to the database.
  <info>string|null</info>  <strong>$password</strong>           The password with which you are connecting to the database.
  <info>array</info>        <strong>$options</strong>            An associative array of connection options that affect the
                                   behavior of the connection, where valid array keys include:
                                   <strong>$autocommit</strong> Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit
                                   on for this connection handle.  Passing the <return>DB2_AUTOCOMMIT_OFF</return>
                                   value turns autocommit off for this connection handle.
                                   <strong>$DB2_ATTR_CASE</strong> Passing the <return>DB2_CASE_NATURAL</return> value specifies that
                                   column names are returned in natural case.  Passing the
                                   <return>DB2_CASE_LOWER</return> value specifies that column names are returned in
                                   lower case.  Passing the <return>DB2_CASE_UPPER</return> value specifies that
                                   column names are returned in upper case. <strong>$CURSOR</strong> Passing the
                                   <return>DB2_FORWARD_ONLY</return> value specifies a forward-only cursor for a
                                   statement resource. This is the default cursor type and is
                                   supported on all database servers.  Passing the <return>DB2_SCROLLABLE</return>
                                   value specifies a scrollable cursor for a statement resource.
                                   This mode enables random access to rows in a result set, but
                                   currently is supported only by IBM DB2 Universal Database.
                                   
                                   Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this
                                   connection handle.
                                   
                                   Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for
                                   this connection handle.
                                   
                                   Passing the <return>DB2_CASE_NATURAL</return> value specifies that column names
                                   are returned in natural case.
                                   
                                   Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                                   returned in lower case.
                                   
                                   Passing the <return>DB2_CASE_UPPER</return> value specifies that column names are
                                   returned in upper case.
                                   
                                   Passing the <return>DB2_FORWARD_ONLY</return> value specifies a forward-only
                                   cursor for a statement resource. This is the default cursor type
                                   and is supported on all database servers.
                                   
                                   Passing the <return>DB2_SCROLLABLE</return> value specifies a scrollable cursor
                                   for a statement resource. This mode enables random access to rows
                                   in a result set, but currently is supported only by IBM DB2
                                   Universal Database.
                                   
                                   The following new option is available in ibm_db2 version 1.7.0
                                   and later. <strong>$trustedcontext</strong> Passing the DB2_TRUSTED_CONTEXT_ENABLE
                                   value turns trusted context on for this connection handle. This
                                   parameter cannot be set using <strong>db2_set_option()</strong>.  This key works
                                   only if the database is cataloged (even if the database is
                                   local), or if you specify the full DSN when you create the
                                   connection.  To catalog the database, use following commands: db2
                                   catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                                   db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                                   db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                                   db2set DB2COMM=TCPIP
                                   
                                   Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted
                                   context on for this connection handle. This parameter cannot be
                                   set using <strong>db2_set_option()</strong>.
                                   
                                   This key works only if the database is cataloged (even if the
                                   database is local), or if you specify the full DSN when you
                                   create the connection.
                                   
                                   To catalog the database, use following commands:
                                   
                                   db2 catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                                   db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                                   db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                                   db2set DB2COMM=TCPIP
                                   
                                   The following new i5/OS options are available in ibm_db2 version
                                   1.5.1 and later. Conflicting connection attributes used in
                                   conjunction with persistent connections can produce indeterminate
                                   results on i5/OS. Site policies should be establish for all
                                   applications using each persistent connection user profile. The
                                   default DB2_AUTOCOMMIT_ON is suggested when using persistent
                                   connections.  <strong>$i5_lib</strong> A character value that indicates the
                                   default library that will be used for resolving unqualified file
                                   references. This is not valid if the connection is using system
                                   naming mode. <strong>$i5_naming</strong><return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB
                                   CLI iSeries system naming mode. Files are qualified using the
                                   slash (/) delimiter. Unqualified files are resolved using the
                                   library list for the job. <return>DB2_I5_NAMING_OFF</return> value turns off DB2
                                   UDB CLI default naming mode, which is SQL naming. Files are
                                   qualified using the period (.) delimiter. Unqualified files are
                                   resolved using either the default library or the current user ID.
                                   <strong>$i5_commit</strong> The <strong>$i5_commit</strong> attribute should be set before the
                                   <strong>db2_pconnect()</strong>. If the value is changed after the connection has
                                   been established, and the connection is to a remote data source,
                                   the change does not take effect until the next successful
                                   <strong>db2_pconnect()</strong> for the connection handle.  The php.ini setting
                                   <strong>$ibm_db2.i5_allow_commit</strong>==0 or <return>DB2_I5_TXN_NO_COMMIT</return> is the
                                   default, but may be overridden with the <strong>$i5_commit</strong> option.
                                   <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                                   <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable reads,
                                   and phantoms are possible. <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty
                                   reads are not possible. Nonrepeatable reads, and phantoms are
                                   possible. <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and
                                   nonrepeatable reads are not possible. Phantoms are possible.
                                   <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable. Dirty
                                   reads, non-repeatable reads, and phantoms are not possible
                                   <strong>$i5_query_optimize</strong><return>DB2_FIRST_IO</return> All queries are optimized with the
                                   goal of returning the first page of output as fast as possible.
                                   This goal works well when the output is controlled by a user who
                                   is most likely to cancel the query after viewing the first page
                                   of output data. Queries coded with an OPTIMIZE FOR nnn ROWS
                                   clause honor the goal specified by the clause. <return>DB2_ALL_IO</return> All
                                   queries are optimized with the goal of running the entire query
                                   to completion in the shortest amount of elapsed time. This is a
                                   good option when the output of a query is being written to a file
                                   or report, or the interface is queuing the output data. Queries
                                   coded with an OPTIMIZE FOR nnn ROWS clause honor the goal
                                   specified by the clause. This is the default.
                                   <strong>$i5_dbcs_alloc</strong><return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X
                                   allocation scheme for DBCS translation column size growth.
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme
                                   for DBCS translation column size growth.  The php.ini setting
                                   <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or <return>DB2_I5_DBCS_ALLOC_OFF</return> is the
                                   default, but may be overridden with the <strong>$i5_dbcs_alloc</strong> option.
                                   <strong>$i5_date_fmt</strong><return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) date format yyyy-mm-dd is used. This is the
                                   default. <return>DB2_I5_FMT_USA</return> - The United States date format
                                   mm/dd/yyyy is used. <return>DB2_I5_FMT_EUR</return> - The European date format
                                   dd.mm.yyyy is used. <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial
                                   Standard date format yyyy-mm-dd is used. <return>DB2_I5_FMT_MDY</return> - The
                                   date format mm/dd/yyyy is used. <return>DB2_I5_FMT_DMY</return> - The date format
                                   dd/mm/yyyy is used. <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is
                                   used. <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                                   <return>DB2_I5_FMT_JOB</return> - The job default is used.
                                   <strong>$i5_date_sep</strong><return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date
                                   separator. This is the default. <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is
                                   used as the date separator. <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is
                                   used as the date separator. <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is
                                   used as the date separator. <return>DB2_I5_SEP_BLANK</return> - A blank is used as
                                   the date separator. <return>DB2_I5_SEP_JOB</return> - The job default is used
                                   <strong>$i5_time_fmt</strong><return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) time format hh.mm.ss is used. This is the
                                   default. <return>DB2_I5_FMT_USA</return> - The United States time format hh:mmxx
                                   is used, where xx is AM or PM. <return>DB2_I5_FMT_EUR</return> - The European time
                                   format hh.mm.ss is used. <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial
                                   Standard time format hh:mm:ss is used. <return>DB2_I5_FMT_HMS</return> - The
                                   hh:mm:ss format is used. <strong>$i5_time_sep</strong><return>DB2_I5_SEP_COLON</return> - A colon (
                                   : ) is used as the time separator. This is the default.
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time separator.
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time separator.
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
                                   <strong>$i5_decimal_sep</strong><return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the
                                   decimal separator. This is the default. <return>DB2_I5_SEP_COMMA</return> - A
                                   comma ( , ) is used as the decimal separator. <return>DB2_I5_SEP_JOB</return> -
                                   The job default is used.
                                   
                                   Conflicting connection attributes used in conjunction with
                                   persistent connections can produce indeterminate results on
                                   i5/OS. Site policies should be establish for all applications
                                   using each persistent connection user profile. The default
                                   DB2_AUTOCOMMIT_ON is suggested when using persistent connections.
                                   
                                   A character value that indicates the default library that will be
                                   used for resolving unqualified file references. This is not valid
                                   if the connection is using system naming mode.
                                   
                                   <return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB CLI iSeries system naming
                                   mode. Files are qualified using the slash (/) delimiter.
                                   Unqualified files are resolved using the library list for the
                                   job.
                                   
                                   <return>DB2_I5_NAMING_OFF</return> value turns off DB2 UDB CLI default naming
                                   mode, which is SQL naming. Files are qualified using the period
                                   (.) delimiter. Unqualified files are resolved using either the
                                   default library or the current user ID.
                                   
                                   The <strong>$i5_commit</strong> attribute should be set before the <strong>db2_pconnect()</strong>.
                                   If the value is changed after the connection has been
                                   established, and the connection is to a remote data source, the
                                   change does not take effect until the next successful
                                   <strong>db2_pconnect()</strong> for the connection handle.  The php.ini setting
                                   <strong>$ibm_db2.i5_allow_commit</strong>==0 or <return>DB2_I5_TXN_NO_COMMIT</return> is the
                                   default, but may be overridden with the <strong>$i5_commit</strong> option.
                                   
                                   The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0 or
                                   <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be overridden with
                                   the <strong>$i5_commit</strong> option.
                                   
                                   <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                                   
                                   <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable reads,
                                   and phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not possible.
                                   Nonrepeatable reads, and phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable reads
                                   are not possible. Phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable. Dirty
                                   reads, non-repeatable reads, and phantoms are not possible
                                   
                                   <return>DB2_FIRST_IO</return> All queries are optimized with the goal of returning
                                   the first page of output as fast as possible. This goal works
                                   well when the output is controlled by a user who is most likely
                                   to cancel the query after viewing the first page of output data.
                                   Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal
                                   specified by the clause.
                                   
                                   <return>DB2_ALL_IO</return> All queries are optimized with the goal of running the
                                   entire query to completion in the shortest amount of elapsed
                                   time. This is a good option when the output of a query is being
                                   written to a file or report, or the interface is queuing the
                                   output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause
                                   honor the goal specified by the clause. This is the default.
                                   
                                   <return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X allocation scheme for
                                   DBCS translation column size growth.
                                   
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme
                                   for DBCS translation column size growth.  The php.ini setting
                                   <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or <return>DB2_I5_DBCS_ALLOC_OFF</return> is the
                                   default, but may be overridden with the <strong>$i5_dbcs_alloc</strong> option.
                                   
                                   The php.ini setting <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default, but may be overridden with
                                   the <strong>$i5_dbcs_alloc</strong> option.
                                   
                                   <return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) date format yyyy-mm-dd is used. This is the
                                   default.
                                   
                                   <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is
                                   used.
                                   
                                   <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                                   
                                   <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                                   yyyy-mm-dd is used.
                                   
                                   <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is used.
                                   
                                   <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                                   
                                   <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used.
                                   
                                   <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                                   
                                   <return>DB2_I5_FMT_JOB</return> - The job default is used.
                                   
                                   <return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date separator.
                                   This is the default.
                                   
                                   <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used
                                   
                                   <return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) time format hh.mm.ss is used. This is the
                                   default.
                                   
                                   <return>DB2_I5_FMT_USA</return> - The United States time format hh:mmxx is used,
                                   where xx is AM or PM.
                                   
                                   <return>DB2_I5_FMT_EUR</return> - The European time format hh.mm.ss is used.
                                   
                                   <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard time format
                                   hh:mm:ss is used.
                                   
                                   <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is used.
                                   
                                   <return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time separator.
                                   This is the default.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the decimal
                                   separator. This is the default.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the decimal
                                   separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
                                   
                                   The following new i5/OS option is available in ibm_db2 version
                                   1.8.0 and later. <strong>$i5_libl</strong> A character value that indicates the
                                   library list that will be used for resolving unqualified file
                                   references. Specify the library list elements separated by blanks
                                   'i5_libl'=&gt;"MYLIB YOURLIB ANYLIB".  i5_libl calls
                                   qsys2/qcmdexc('cmd',cmdlen), which is only available in i5/OS
                                   V5R4 and later.
                                   
                                   A character value that indicates the library list that will be
                                   used for resolving unqualified file references. Specify the
                                   library list elements separated by blanks 'i5_libl'=&gt;"MYLIB
                                   YOURLIB ANYLIB".  i5_libl calls qsys2/qcmdexc('cmd',cmdlen),
                                   which is only available in i5/OS V5R4 and later.
                                   
                                   i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only
                                   available in i5/OS V5R4 and later.
  <info></info>             <strong>$autocommit</strong>         Passing the <return>DB2_AUTOCOMMIT_ON</return> value turns autocommit on for this
                                   connection handle.
                                   
                                   Passing the <return>DB2_AUTOCOMMIT_OFF</return> value turns autocommit off for
                                   this connection handle.
  <info></info>             <strong>$DB2_ATTR_CASE</strong>      Passing the <return>DB2_CASE_NATURAL</return> value specifies that column names
                                   are returned in natural case.
                                   
                                   Passing the <return>DB2_CASE_LOWER</return> value specifies that column names are
                                   returned in lower case.
                                   
                                   Passing the <return>DB2_CASE_UPPER</return> value specifies that column names are
                                   returned in upper case.
  <info></info>             <strong>$CURSOR</strong>             Passing the <return>DB2_FORWARD_ONLY</return> value specifies a forward-only
                                   cursor for a statement resource. This is the default cursor type
                                   and is supported on all database servers.
                                   
                                   Passing the <return>DB2_SCROLLABLE</return> value specifies a scrollable cursor
                                   for a statement resource. This mode enables random access to rows
                                   in a result set, but currently is supported only by IBM DB2
                                   Universal Database.
  <info></info>             <strong>$trustedcontext</strong>     Passing the DB2_TRUSTED_CONTEXT_ENABLE value turns trusted
                                   context on for this connection handle. This parameter cannot be
                                   set using <strong>db2_set_option()</strong>.
                                   
                                   This key works only if the database is cataloged (even if the
                                   database is local), or if you specify the full DSN when you
                                   create the connection.
                                   
                                   To catalog the database, use following commands:
                                   
                                   db2 catalog tcpip node loopback remote \<SERVERNAME&gt; server \<SERVICENAME&gt;
                                   db2 catalog database \<LOCALDBNAME&gt; as \<REMOTEDBNAME&gt; at node loopback
                                   db2 "update dbm cfg using svcename \<SERVICENAME&gt;"
                                   db2set DB2COMM=TCPIP
  <info></info>             <strong>$i5_lib</strong>             A character value that indicates the default library that will be
                                   used for resolving unqualified file references. This is not valid
                                   if the connection is using system naming mode.
  <info></info>             <strong>$i5_naming</strong>          <return>DB2_I5_NAMING_ON</return> value turns on DB2 UDB CLI iSeries system naming
                                   mode. Files are qualified using the slash (/) delimiter.
                                   Unqualified files are resolved using the library list for the
                                   job.
                                   
                                   <return>DB2_I5_NAMING_OFF</return> value turns off DB2 UDB CLI default naming
                                   mode, which is SQL naming. Files are qualified using the period
                                   (.) delimiter. Unqualified files are resolved using either the
                                   default library or the current user ID.
  <info></info>             <strong>$i5_commit</strong>          The <strong>$i5_commit</strong> attribute should be set before the <strong>db2_pconnect()</strong>.
                                   If the value is changed after the connection has been
                                   established, and the connection is to a remote data source, the
                                   change does not take effect until the next successful
                                   <strong>db2_pconnect()</strong> for the connection handle.  The php.ini setting
                                   <strong>$ibm_db2.i5_allow_commit</strong>==0 or <return>DB2_I5_TXN_NO_COMMIT</return> is the
                                   default, but may be overridden with the <strong>$i5_commit</strong> option.
                                   
                                   The php.ini setting <strong>$ibm_db2.i5_allow_commit</strong>==0 or
                                   <return>DB2_I5_TXN_NO_COMMIT</return> is the default, but may be overridden with
                                   the <strong>$i5_commit</strong> option.
                                   
                                   <return>DB2_I5_TXN_NO_COMMIT</return> - Commitment control is not used.
                                   
                                   <return>DB2_I5_TXN_READ_UNCOMMITTED</return> - Dirty reads, nonrepeatable reads,
                                   and phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_READ_COMMITTED</return> - Dirty reads are not possible.
                                   Nonrepeatable reads, and phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_REPEATABLE_READ</return> - Dirty reads and nonrepeatable reads
                                   are not possible. Phantoms are possible.
                                   
                                   <return>DB2_I5_TXN_SERIALIZABLE</return> - Transactions are serializable. Dirty
                                   reads, non-repeatable reads, and phantoms are not possible
  <info></info>             <strong>$i5_query_optimize</strong>  <return>DB2_FIRST_IO</return> All queries are optimized with the goal of returning
                                   the first page of output as fast as possible. This goal works
                                   well when the output is controlled by a user who is most likely
                                   to cancel the query after viewing the first page of output data.
                                   Queries coded with an OPTIMIZE FOR nnn ROWS clause honor the goal
                                   specified by the clause.
                                   
                                   <return>DB2_ALL_IO</return> All queries are optimized with the goal of running the
                                   entire query to completion in the shortest amount of elapsed
                                   time. This is a good option when the output of a query is being
                                   written to a file or report, or the interface is queuing the
                                   output data. Queries coded with an OPTIMIZE FOR nnn ROWS clause
                                   honor the goal specified by the clause. This is the default.
  <info></info>             <strong>$i5_dbcs_alloc</strong>      <return>DB2_I5_DBCS_ALLOC_ON</return> value turns on DB2 6X allocation scheme for
                                   DBCS translation column size growth.
                                   
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> value turns off DB2 6X allocation scheme
                                   for DBCS translation column size growth.  The php.ini setting
                                   <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or <return>DB2_I5_DBCS_ALLOC_OFF</return> is the
                                   default, but may be overridden with the <strong>$i5_dbcs_alloc</strong> option.
                                   
                                   The php.ini setting <strong>$ibm_db2.i5_dbcs_alloc</strong>==0 or
                                   <return>DB2_I5_DBCS_ALLOC_OFF</return> is the default, but may be overridden with
                                   the <strong>$i5_dbcs_alloc</strong> option.
  <info></info>             <strong>$i5_date_fmt</strong>        <return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) date format yyyy-mm-dd is used. This is the
                                   default.
                                   
                                   <return>DB2_I5_FMT_USA</return> - The United States date format mm/dd/yyyy is
                                   used.
                                   
                                   <return>DB2_I5_FMT_EUR</return> - The European date format dd.mm.yyyy is used.
                                   
                                   <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard date format
                                   yyyy-mm-dd is used.
                                   
                                   <return>DB2_I5_FMT_MDY</return> - The date format mm/dd/yyyy is used.
                                   
                                   <return>DB2_I5_FMT_DMY</return> - The date format dd/mm/yyyy is used.
                                   
                                   <return>DB2_I5_FMT_YMD</return> - The date format yy/mm/dd is used.
                                   
                                   <return>DB2_I5_FMT_JUL</return> - The Julian date format yy/ddd is used.
                                   
                                   <return>DB2_I5_FMT_JOB</return> - The job default is used.
  <info></info>             <strong>$i5_date_sep</strong>        <return>DB2_I5_SEP_SLASH</return> - A slash ( / ) is used as the date separator.
                                   This is the default.
                                   
                                   <return>DB2_I5_SEP_DASH</return> - A dash ( - ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the date separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used
  <info></info>             <strong>$i5_time_fmt</strong>        <return>DB2_I5_FMT_ISO</return> - The International Organization for
                                   Standardization (ISO) time format hh.mm.ss is used. This is the
                                   default.
                                   
                                   <return>DB2_I5_FMT_USA</return> - The United States time format hh:mmxx is used,
                                   where xx is AM or PM.
                                   
                                   <return>DB2_I5_FMT_EUR</return> - The European time format hh.mm.ss is used.
                                   
                                   <return>DB2_I5_FMT_JIS</return> - The Japanese Industrial Standard time format
                                   hh:mm:ss is used.
                                   
                                   <return>DB2_I5_FMT_HMS</return> - The hh:mm:ss format is used.
  <info></info>             <strong>$i5_time_sep</strong>        <return>DB2_I5_SEP_COLON</return> - A colon ( : ) is used as the time separator.
                                   This is the default.
                                   
                                   <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_BLANK</return> - A blank is used as the time separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
  <info></info>             <strong>$i5_decimal_sep</strong>     <return>DB2_I5_SEP_PERIOD</return> - A period ( . ) is used as the decimal
                                   separator. This is the default.
                                   
                                   <return>DB2_I5_SEP_COMMA</return> - A comma ( , ) is used as the decimal
                                   separator.
                                   
                                   <return>DB2_I5_SEP_JOB</return> - The job default is used.
  <info></info>             <strong>$i5_libl</strong>            A character value that indicates the library list that will be
                                   used for resolving unqualified file references. Specify the
                                   library list elements separated by blanks 'i5_libl'=&gt;"MYLIB
                                   YOURLIB ANYLIB".  i5_libl calls qsys2/qcmdexc('cmd',cmdlen),
                                   which is only available in i5/OS V5R4 and later.
                                   
                                   i5_libl calls qsys2/qcmdexc('cmd',cmdlen), which is only
                                   available in i5/OS V5R4 and later.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a connection handle resource if the connection attempt is successful.
                  <strong>db2_pconnect()</strong> tries to reuse an existing connection resource that exactly matches
                  the <strong>$database</strong>, <strong>$username</strong>, and <strong>$password</strong> parameters. If the connection attempt
                  fails, <strong>db2_pconnect()</strong> returns <info>false</info>.

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


id: db2_prepare
type: function
doc:
<comment>Description:</comment>
  Prepares an SQL statement to be executed
    
  
  <strong>db2_prepare()</strong> creates a prepared SQL statement which can include 0 or more parameter markers (<return>?</return>
  characters) representing parameters for input, output, or input/output. You can pass parameters to
  the prepared statement using <strong>db2_bind_param()</strong>, or for input values only, as an array passed to
  <strong>db2_execute()</strong>.
  
  There are three main advantages to using prepared statements in your application: Performance:
  when you prepare a statement, the database server creates an optimized access plan for retrieving
  data with that statement. Subsequently issuing the prepared statement with <strong>db2_execute()</strong> enables
  the statements to reuse that access plan and avoids the overhead of dynamically creating a new
  access plan for every statement you issue. Security: when you prepare a statement, you can include
  parameter markers for input values. When you execute a prepared statement with input values for
  placeholders, the database server checks each input value to ensure that the type matches the
  column definition or parameter definition. Advanced functionality: Parameter markers not only
  enable you to pass input values to prepared SQL statements, they also enable you to retrieve OUT
  and INOUT parameters from stored procedures using <strong>db2_bind_param()</strong>.
  
  Performance: when you prepare a statement, the database server creates an optimized access plan
  for retrieving data with that statement. Subsequently issuing the prepared statement with
  <strong>db2_execute()</strong> enables the statements to reuse that access plan and avoids the overhead of
  dynamically creating a new access plan for every statement you issue.
  
  Security: when you prepare a statement, you can include parameter markers for input values. When
  you execute a prepared statement with input values for placeholders, the database server checks
  each input value to ensure that the type matches the column definition or parameter definition.
  
  Advanced functionality: Parameter markers not only enable you to pass input values to prepared SQL
  statements, they also enable you to retrieve OUT and INOUT parameters from stored procedures using
  <strong>db2_bind_param()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>string</info>    <strong>$statement</strong>   An SQL statement, optionally containing one or more parameter markers..
  <info>array</info>     <strong>$options</strong>     An associative array containing statement options. You can use this
                         parameter to request a scrollable cursor on database servers that support
                         this functionality.
                         
                         For a description of valid statement options, see  <strong>db2_set_option()</strong>.

<comment>Return:</comment>
  <info>resource|false</info>  Returns a statement resource if the SQL statement was successfully parsed and
                  prepared by the database server. Returns <info>false</info> if the database server returned an
                  error. You can determine which error was returned by calling <strong>db2_stmt_error()</strong> or
                  <strong>db2_stmt_errormsg()</strong>.

<comment>See Also:</comment>
   * <strong>db2_bind_param()</strong>
   * <strong>db2_execute()</strong>
   * <strong>db2_stmt_error()</strong>
   * <strong>db2_stmt_errormsg()</strong>


id: db2_primary_keys
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing primary keys for a table
    
  
  Returns a result set listing the primary keys for a table.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>   A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                            other databases, pass <info>null</info> or an empty string.
  <info>string|null</info>  <strong>$schema</strong>      The schema which contains the tables. If <strong>$schema</strong> is <info>null</info>,
                            <strong>db2_primary_keys()</strong> matches the schema for the current connection.
  <info>string</info>       <strong>$table_name</strong>  The name of the table.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the primary
            keys for the specified table. The result set is composed of the following columns:
            Column nameDescriptionTABLE_CAT Name of the catalog for the table containing the primary
            key. The value is NULL if this table does not have catalogs. TABLE_SCHEM Name of the
            schema for the table containing the primary key. TABLE_NAMEName of the table containing
            the primary key.COLUMN_NAMEName of the column containing the primary
            key.KEY_SEQ1-indexed position of the column in the key.PK_NAMEThe name of the primary
            key.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_procedure_columns
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing stored procedure parameters
    
  
  Returns a result set listing the parameters for one or more stored procedures.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>   A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                            other databases, pass <info>null</info> or an empty string.
  <info>string</info>       <strong>$schema</strong>      The schema which contains the procedures. This parameter accepts a
                            search pattern containing <return>_</return> and <return>%</return> as wildcards.
  <info>string</info>       <strong>$procedure</strong>   The name of the procedure. This parameter accepts a search pattern
                            containing <return>_</return> and <return>%</return> as wildcards.
  <info>string|null</info>  <strong>$parameter</strong>   The name of the parameter. This parameter accepts a search pattern
                            containing <return>_</return> and <return>%</return> as wildcards. If this parameter is <info>null</info>, all
                            parameters for the specified stored procedures are returned.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the parameters
            for the stored procedures matching the specified parameters. The rows are composed of
            the following columns: Column nameDescriptionPROCEDURE_CATThe catalog that contains the
            procedure. The value is <info>null</info> if this table does not have catalogs.PROCEDURE_SCHEMName of
            the schema that contains the stored procedure.PROCEDURE_NAMEName of the
            procedure.COLUMN_NAMEName of the parameter.COLUMN_TYPE An integer value representing the
            type of the parameter: Return valueParameter type1 (SQL_PARAM_INPUT)Input (IN)
            parameter.2 (SQL_PARAM_INPUT_OUTPUT)Input/output (INOUT) parameter.3
            (SQL_PARAM_OUTPUT)Output (OUT) parameter. DATA_TYPEThe SQL data type for the parameter
            represented as an integer value.TYPE_NAMEA string representing the data type for the
            parameter.COLUMN_SIZEAn integer value representing the size of the
            parameter.BUFFER_LENGTH Maximum number of bytes necessary to store data for this
            parameter. DECIMAL_DIGITS The scale of the parameter, or <info>null</info> where scale is not
            applicable. NUM_PREC_RADIX An integer value of either <return>10</return> (representing an exact numeric
            data type), <return>2</return> (representing an approximate numeric data type), or <info>null</info> (representing a
            data type for which radix is not applicable). NULLABLEAn integer value representing
            whether the parameter is nullable or not.REMARKSDescription of the
            parameter.COLUMN_DEFDefault value for the parameter.SQL_DATA_TYPEAn integer value
            representing the size of the parameter.SQL_DATETIME_SUB Returns an integer value
            representing a datetime subtype code, or <info>null</info> for SQL data types to which this does not
            apply. CHAR_OCTET_LENGTH Maximum length in octets for a character data type parameter,
            which matches COLUMN_SIZE for single-byte character set data, or <info>null</info> for non-character
            data types. ORDINAL_POSITIONThe 1-indexed position of the parameter in the CALL
            statement.IS_NULLABLE A string value where 'YES' means that the parameter accepts or
            returns <info>null</info> values and 'NO' means that the parameter does not accept or return <info>null</info>
            values.
            
            An integer value representing the type of the parameter: Return valueParameter type1
            (SQL_PARAM_INPUT)Input (IN) parameter.2 (SQL_PARAM_INPUT_OUTPUT)Input/output (INOUT)
            parameter.3 (SQL_PARAM_OUTPUT)Output (OUT) parameter.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_procedures
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the stored procedures registered in a database
    
  
  Returns a result set listing the stored procedures registered in a database.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>   A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                            other databases, pass <info>null</info> or an empty string.
  <info>string</info>       <strong>$schema</strong>      The schema which contains the procedures. This parameter accepts a
                            search pattern containing <return>_</return> and <return>%</return> as wildcards.
  <info>string</info>       <strong>$procedure</strong>   The name of the procedure. This parameter accepts a search pattern
                            containing <return>_</return> and <return>%</return> as wildcards.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the stored
            procedures matching the specified parameters. The rows are composed of the following
            columns: Column nameDescriptionPROCEDURE_CATThe catalog that contains the procedure. The
            value is <info>null</info> if this table does not have catalogs.PROCEDURE_SCHEMName of the schema
            that contains the stored procedure.PROCEDURE_NAMEName of the
            procedure.NUM_INPUT_PARAMSNumber of input (IN) parameters for the stored
            procedure.NUM_OUTPUT_PARAMSNumber of output (OUT) parameters for the stored
            procedure.NUM_RESULT_SETSNumber of result sets returned by the stored
            procedure.REMARKSAny comments about the stored procedure.PROCEDURE_TYPEAlways returns <return>1</return>,
            indicating that the stored procedure does not return a return value.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_result
type: function
doc:
<comment>Description:</comment>
  Returns a single column from a row in the result set
    
  
  Use <strong>db2_result()</strong> to return the value of a specified column in the current row of a result set. You
  must call <strong>db2_fetch_row()</strong> before calling <strong>db2_result()</strong> to set the location of the result set
  pointer.

<comment>Param:</comment>
  <info>resource</info>    <strong>$stmt</strong>    A valid <return>stmt</return> resource.
  <info>int|string</info>  <strong>$column</strong>  Either an integer mapping to the 0-indexed field in the result set, or a
                       string matching the name of the column.

<comment>Return:</comment>
  <info>mixed|null</info>  Returns the value of the requested field if the field exists in the result set.
              Returns <info>null</info> if the field does not exist, and issues a warning.

<comment>See Also:</comment>
   * <strong>db2_fetch_array()</strong>
   * <strong>db2_fetch_assoc()</strong>
   * <strong>db2_fetch_both()</strong>
   * <strong>db2_fetch_object()</strong>
   * <strong>db2_fetch_row()</strong>


id: db2_rollback
type: function
doc:
<comment>Description:</comment>
  Rolls back a transaction
    
  
  Rolls back an in-progress transaction on the specified connection resource and begins a new
  transaction. PHP applications normally default to AUTOCOMMIT mode, so <strong>db2_rollback()</strong> normally has
  no effect unless AUTOCOMMIT has been turned off for the connection resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  A valid database connection resource variable as returned from
                         <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.

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

<comment>See Also:</comment>
   * <strong>db2_autocommit()</strong>
   * <strong>db2_commit()</strong>


id: db2_server_info
type: function
doc:
<comment>Description:</comment>
  Returns an object with properties that describe the DB2 database server
  
  This function returns an object with read-only properties that return information about the IBM
  DB2, Cloudscape, or Apache Derby database server. The following table lists the database server
  properties: Database server propertiesProperty nameReturn typeDescriptionDBMS_NAMEstringThe name
  of the database server to which you are connected. For DB2 servers this is a combination of <return>DB2</return>
  followed by the operating system on which the database server is running.DBMS_VERstringThe version
  of the database server, in the form of a string "MM.mm.uuuu" where MM is the major version,  mm is
  the minor version, and uuuu is the update. For example, "08.02.0001" represents major version 8,
  minor version 2, update 1. DB_CODEPAGEintThe code page of the database to which you are
  connected.DB_NAMEstringThe name of the database to which you are connected.DFT_ISOLATIONstringThe
  default transaction isolation level supported by the server: UR Uncommitted read: changes are
  immediately visible by all concurrent transactions. CS Cursor stability: a row read by one
  transaction can be altered and committed by a second concurrent transaction. RS Read stability: a
  transaction can add or remove rows matching a search condition or a pending transaction. RR
  Repeatable read: data affected by pending transaction is not available to other transactions. NC
  No commit: any changes are visible at the end of a successful operation. Explicit commits and
  rollbacks are not allowed.  IDENTIFIER_QUOTE_CHARstringThe character used to delimit an
  identifier.INST_NAMEstringThe instance on the database server that contains the
  database.ISOLATION_OPTIONarrayAn array of the isolation options supported by the database server.
  The isolation options are described in the DFT_ISOLATION property.KEYWORDSarrayAn array of the
  keywords reserved by the database server.LIKE_ESCAPE_CLAUSEbool<info>true</info> if the database server
  supports the use of <return>%</return> and <return>_</return> wildcard characters. <info>false</info> if the database server does not support
  these wildcard characters.MAX_COL_NAME_LENintMaximum length of a column name supported by the
  database server, expressed in bytes.MAX_IDENTIFIER_LENintMaximum length of an SQL identifier
  supported by the database server, expressed in characters.MAX_INDEX_SIZEintMaximum size of columns
  combined in an index supported by the database server, expressed in
  bytes.MAX_PROC_NAME_LENintMaximum length of a procedure name supported by the database server,
  expressed in bytes.MAX_ROW_SIZEintMaximum length of a row in a base table supported by the
  database server, expressed in bytes.MAX_SCHEMA_NAME_LENintMaximum length of a schema name
  supported by the database server, expressed in bytes.MAX_STATEMENT_LENintMaximum length of an SQL
  statement supported by the database server, expressed in bytes.MAX_TABLE_NAME_LENintMaximum length
  of a table name supported by the database server, expressed in bytes.NON_NULLABLE_COLUMNSbool<info>true</info>
  if the database server supports columns that can be defined as NOT NULL, <info>false</info> if the database
  server does not support columns defined as NOT NULL.PROCEDURESbool<info>true</info> if the database server
  supports the use of the CALL statement to call stored procedures, <info>false</info> if the database server
  does not support the CALL statement.SPECIAL_CHARSstringA string containing all of the characters
  other than a-Z, 0-9, and underscore that can be used in an identifier
  name.SQL_CONFORMANCEstringThe level of conformance to the ANSI/ISO SQL-92 specification offered by
  the database server: ENTRY Entry-level SQL-92 compliance. FIPS127 FIPS-127-2 transitional
  compliance. FULL Full level SQL-92 compliance. INTERMEDIATE Intermediate level SQL-92 compliance.
  
  The default transaction isolation level supported by the server: UR Uncommitted read: changes are
  immediately visible by all concurrent transactions. CS Cursor stability: a row read by one
  transaction can be altered and committed by a second concurrent transaction. RS Read stability: a
  transaction can add or remove rows matching a search condition or a pending transaction. RR
  Repeatable read: data affected by pending transaction is not available to other transactions. NC
  No commit: any changes are visible at the end of a successful operation. Explicit commits and
  rollbacks are not allowed.
  
  Uncommitted read: changes are immediately visible by all concurrent transactions.
  
  Cursor stability: a row read by one transaction can be altered and committed by a second
  concurrent transaction.
  
  Read stability: a transaction can add or remove rows matching a search condition or a pending
  transaction.
  
  Repeatable read: data affected by pending transaction is not available to other transactions.
  
  No commit: any changes are visible at the end of a successful operation. Explicit commits and
  rollbacks are not allowed.
  
  The level of conformance to the ANSI/ISO SQL-92 specification offered by the database server:
  ENTRY Entry-level SQL-92 compliance. FIPS127 FIPS-127-2 transitional compliance. FULL Full level
  SQL-92 compliance. INTERMEDIATE Intermediate level SQL-92 compliance.
  
  Entry-level SQL-92 compliance.
  
  FIPS-127-2 transitional compliance.
  
  Full level SQL-92 compliance.
  
  Intermediate level SQL-92 compliance.

<comment>Param:</comment>
  <info>resource</info>  <strong>$connection</strong>  Specifies an active DB2 client connection.

<comment>Return:</comment>
  <info>stdClass|false</info>  Returns an object on a successful call, 或者在失败时返回 <info>false</info>

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


id: db2_set_option
type: function
doc:
<comment>Description:</comment>
  Set options for connection or statement resources
  
  Sets options for a statement resource or a connection resource. You cannot set options for result
  set resources.

<comment>Param:</comment>
  <info>resource</info>  <strong>$resource</strong>          A valid statement resource as returned from <strong>db2_prepare()</strong> or a valid
                               connection resource as returned from <strong>db2_connect()</strong> or <strong>db2_pconnect()</strong>.
  <info>array</info>     <strong>$options</strong>           An associative array containing valid statement or connection
                               options. This parameter can be used to change autocommit values,
                               cursor types (scrollable or forward), and to specify the case of the
                               column names (lower, upper, or natural) that will appear in a result
                               set. <strong>$autocommit</strong> Passing <return>DB2_AUTOCOMMIT_ON</return> turns autocommit on for
                               the specified connection resource.  Passing <return>DB2_AUTOCOMMIT_OFF</return> turns
                               autocommit off for the specified connection resource. <strong>$cursor</strong> Passing
                               <return>DB2_FORWARD_ONLY</return> specifies a forward-only cursor for a statement
                               resource. This is the default cursor type, and is supported by all
                               database servers.  Passing <return>DB2_SCROLLABLE</return> specifies a scrollable
                               cursor for a statement resource. Scrollable cursors enable result set
                               rows to be accessed in non-sequential order, but are only supported
                               by IBM DB2 Universal Database databases. <strong>$binmode</strong> Passing <return>DB2_BINARY</return>
                               specifies that binary data will be returned as is. This is the
                               default mode. This is the equivalent of setting <return>ibm_db2.binmode=1</return> in
                               php.ini.  Passing <return>DB2_CONVERT</return> specifies that binary data will be
                               converted to hexadecimal encoding, and will be returned as such. This
                               is the equivalent of setting <return>ibm_db2.binmode=2</return> in php.ini.  Passing
                               <return>DB2_PASSTHRU</return> specifies that binary data will be converted to <info>null</info>.
                               This is the equivalent of setting <return>ibm_db2.binmode=3</return> in php.ini.
                               <strong>$db2_attr_case</strong> Passing <return>DB2_CASE_LOWER</return> specifies that column names of
                               the result set are returned in lower case.  Passing <return>DB2_CASE_UPPER</return>
                               specifies that column names of the result set are returned in upper
                               case.  Passing <return>DB2_CASE_NATURAL</return> specifies that column names of the
                               result set are returned in natural case. <strong>$deferred_prepare</strong> Passing
                               <return>DB2_DEFERRED_PREPARE_ON</return> turns deferred  prepare on for the specified
                               statement resource.  Passing <return>DB2_DEFERRED_PREPARE_OFF</return> turns deferred
                               prepare off for the specified statement resource.
                               
                               Passing <return>DB2_AUTOCOMMIT_ON</return> turns autocommit on for the specified
                               connection resource.
                               
                               Passing <return>DB2_AUTOCOMMIT_OFF</return> turns autocommit off for the specified
                               connection resource.
                               
                               Passing <return>DB2_FORWARD_ONLY</return> specifies a forward-only cursor for a
                               statement resource. This is the default cursor type, and is supported
                               by all database servers.
                               
                               Passing <return>DB2_SCROLLABLE</return> specifies a scrollable cursor for a statement
                               resource. Scrollable cursors enable result set rows to be accessed in
                               non-sequential order, but are only supported by IBM DB2 Universal
                               Database databases.
                               
                               Passing <return>DB2_BINARY</return> specifies that binary data will be returned as is.
                               This is the default mode. This is the equivalent of setting
                               <return>ibm_db2.binmode=1</return> in php.ini.
                               
                               Passing <return>DB2_CONVERT</return> specifies that binary data will be converted to
                               hexadecimal encoding, and will be returned as such. This is the
                               equivalent of setting <return>ibm_db2.binmode=2</return> in php.ini.
                               
                               Passing <return>DB2_PASSTHRU</return> specifies that binary data will be converted to
                               <info>null</info>. This is the equivalent of setting <return>ibm_db2.binmode=3</return> in php.ini.
                               
                               Passing <return>DB2_CASE_LOWER</return> specifies that column names of the result set
                               are returned in lower case.
                               
                               Passing <return>DB2_CASE_UPPER</return> specifies that column names of the result set
                               are returned in upper case.
                               
                               Passing <return>DB2_CASE_NATURAL</return> specifies that column names of the result
                               set are returned in natural case.
                               
                               Passing <return>DB2_DEFERRED_PREPARE_ON</return> turns deferred  prepare on for the
                               specified statement resource.
                               
                               Passing <return>DB2_DEFERRED_PREPARE_OFF</return> turns deferred  prepare off for the
                               specified statement resource.
                               
                               The following new i5/OS options are available in ibm_db2 version
                               1.5.1  and later. These options apply only when running PHP and
                               ibm_db2 natively on i5 systems. <strong>$i5_fetch_only</strong><return>DB2_I5_FETCH_ON</return> -
                               Cursors are read-only  and cannot be used for positioned updates or
                               deletes. This  is the default unless <return>SQL_ATTR_FOR_FETCH_ONLY</return>
                               environment has been set to <return>SQL_FALSE</return>. <return>DB2_I5_FETCH_OFF</return> - Cursors can
                               be used  for positioned updates and deletes.
                               
                               <return>DB2_I5_FETCH_ON</return> - Cursors are read-only  and cannot be used for
                               positioned updates or deletes. This  is the default unless
                               <return>SQL_ATTR_FOR_FETCH_ONLY</return>  environment has been set to <return>SQL_FALSE</return>.
                               
                               <return>DB2_I5_FETCH_OFF</return> - Cursors can be used  for positioned updates and
                               deletes.
                               
                               The following new option is available in ibm_db2 version 1.8.0 and
                               later. <strong>$rowcount</strong><return>DB2_ROWCOUNT_PREFETCH_ON</return> - Client can request  the
                               full row count prior to fetching, which means that  <strong>db2_num_rows()</strong>
                               returns the number of rows selected  even when a <return>ROLLFORWARD_ONLY</return>
                               cursor is used. <return>DB2_ROWCOUNT_PREFETCH_OFF</return> - Client cannot request the
                               full row count prior to fetching.
                               
                               <return>DB2_ROWCOUNT_PREFETCH_ON</return> - Client can request  the full row count
                               prior to fetching, which means that  <strong>db2_num_rows()</strong> returns the
                               number of rows selected  even when a <return>ROLLFORWARD_ONLY</return> cursor is used.
                               
                               <return>DB2_ROWCOUNT_PREFETCH_OFF</return> - Client cannot request the full row count
                               prior to fetching.
                               
                               The following new options are available in ibm_db2 version 1.7.0 and
                               later. <strong>$trusted_user</strong> To switch the user to a trusted user, pass the
                               User ID (String)  of the trusted user as the value of this key. This
                               option can  be set on a connection resource only. To use this option,
                               trusted context must be enabled on the connection resource.
                               <strong>$trusted_password</strong> The password (String) that corresponds to the user
                               specified by the trusted_user key.
                               
                               To switch the user to a trusted user, pass the User ID (String)  of
                               the trusted user as the value of this key. This option can  be set on
                               a connection resource only. To use this option, trusted context must
                               be enabled on the connection resource.
                               
                               The password (String) that corresponds to the user specified by the
                               trusted_user key.
                               
                               The following new options are available in ibm_db2 version 1.6.0 and
                               later.  These options provide useful tracking information that can be
                               accessed during  execution with <strong>db2_get_option()</strong>.  When the value in
                               each option is being set, some servers might not handle  the entire
                               length provided and might truncate the value.  To ensure that the
                               data specified in each option is converted correctly  when
                               transmitted to a host system, use only the characters A through Z,  0
                               through 9, and the underscore (_) or period (.).
                               <strong>$userid</strong><return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated
                               character string used to identify the client user ID sent to the host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 16 characters.  This user-id is not
                               to be confused with the authentication user-id, it is for
                               identification purposes only and is not used for any authorization.
                               <strong>$acctstr</strong><return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated
                               character string used to identify the client accounting string sent
                               to the  host database server when using DB2 Connect.  DB2 for z/OS
                               and OS/390 servers support up to a length of 200 characters.
                               <strong>$applname</strong><return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated
                               character string used to identify the client application name sent to
                               the  host database server when using DB2 Connect.  DB2 for z/OS and
                               OS/390 servers support up to a length of 32 characters.
                               <strong>$wrkstnname</strong><return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated
                               character string used to identify the client workstation name sent to
                               the  host database server when using DB2 Connect.  DB2 for z/OS and
                               OS/390 servers support up to a length of 18 characters.
                               
                               When the value in each option is being set, some servers might not
                               handle  the entire length provided and might truncate the value.
                               
                               To ensure that the data specified in each option is converted
                               correctly  when transmitted to a host system, use only the characters
                               A through Z,  0 through 9, and the underscore (_) or period (.).
                               
                               <return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated  character
                               string used to identify the client user ID sent to the host  database
                               server when using DB2 Connect.  DB2 for z/OS and OS/390 servers
                               support up to a length of 16 characters.  This user-id is not to be
                               confused with the authentication user-id, it is for  identification
                               purposes only and is not used for any authorization.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 16
                               characters.  This user-id is not to be confused with the
                               authentication user-id, it is for  identification purposes only and
                               is not used for any authorization.
                               
                               <return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character
                               string used to identify the client accounting string sent to the
                               host database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 200 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 200
                               characters.
                               
                               <return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated  character
                               string used to identify the client application name sent to the  host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 32 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 32
                               characters.
                               
                               <return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated  character
                               string used to identify the client workstation name sent to the  host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 18 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 18
                               characters.
  <info></info>          <strong>$autocommit</strong>        Passing <return>DB2_AUTOCOMMIT_ON</return> turns autocommit on for the specified
                               connection resource.
                               
                               Passing <return>DB2_AUTOCOMMIT_OFF</return> turns autocommit off for the specified
                               connection resource.
  <info></info>          <strong>$cursor</strong>            Passing <return>DB2_FORWARD_ONLY</return> specifies a forward-only cursor for a
                               statement resource. This is the default cursor type, and is supported
                               by all database servers.
                               
                               Passing <return>DB2_SCROLLABLE</return> specifies a scrollable cursor for a statement
                               resource. Scrollable cursors enable result set rows to be accessed in
                               non-sequential order, but are only supported by IBM DB2 Universal
                               Database databases.
  <info></info>          <strong>$binmode</strong>           Passing <return>DB2_BINARY</return> specifies that binary data will be returned as is.
                               This is the default mode. This is the equivalent of setting
                               <return>ibm_db2.binmode=1</return> in php.ini.
                               
                               Passing <return>DB2_CONVERT</return> specifies that binary data will be converted to
                               hexadecimal encoding, and will be returned as such. This is the
                               equivalent of setting <return>ibm_db2.binmode=2</return> in php.ini.
                               
                               Passing <return>DB2_PASSTHRU</return> specifies that binary data will be converted to
                               <info>null</info>. This is the equivalent of setting <return>ibm_db2.binmode=3</return> in php.ini.
  <info></info>          <strong>$db2_attr_case</strong>     Passing <return>DB2_CASE_LOWER</return> specifies that column names of the result set
                               are returned in lower case.
                               
                               Passing <return>DB2_CASE_UPPER</return> specifies that column names of the result set
                               are returned in upper case.
                               
                               Passing <return>DB2_CASE_NATURAL</return> specifies that column names of the result
                               set are returned in natural case.
  <info></info>          <strong>$deferred_prepare</strong>  Passing <return>DB2_DEFERRED_PREPARE_ON</return> turns deferred  prepare on for the
                               specified statement resource.
                               
                               Passing <return>DB2_DEFERRED_PREPARE_OFF</return> turns deferred  prepare off for the
                               specified statement resource.
  <info></info>          <strong>$i5_fetch_only</strong>     <return>DB2_I5_FETCH_ON</return> - Cursors are read-only  and cannot be used for
                               positioned updates or deletes. This  is the default unless
                               <return>SQL_ATTR_FOR_FETCH_ONLY</return>  environment has been set to <return>SQL_FALSE</return>.
                               
                               <return>DB2_I5_FETCH_OFF</return> - Cursors can be used  for positioned updates and
                               deletes.
  <info></info>          <strong>$rowcount</strong>          <return>DB2_ROWCOUNT_PREFETCH_ON</return> - Client can request  the full row count
                               prior to fetching, which means that  <strong>db2_num_rows()</strong> returns the
                               number of rows selected  even when a <return>ROLLFORWARD_ONLY</return> cursor is used.
                               
                               <return>DB2_ROWCOUNT_PREFETCH_OFF</return> - Client cannot request the full row count
                               prior to fetching.
  <info></info>          <strong>$trusted_user</strong>      To switch the user to a trusted user, pass the User ID (String)  of
                               the trusted user as the value of this key. This option can  be set on
                               a connection resource only. To use this option, trusted context must
                               be enabled on the connection resource.
  <info></info>          <strong>$trusted_password</strong>  The password (String) that corresponds to the user specified by the
                               trusted_user key.
  <info></info>          <strong>$userid</strong>            <return>SQL_ATTR_INFO_USERID</return> - A pointer to a null-terminated  character
                               string used to identify the client user ID sent to the host  database
                               server when using DB2 Connect.  DB2 for z/OS and OS/390 servers
                               support up to a length of 16 characters.  This user-id is not to be
                               confused with the authentication user-id, it is for  identification
                               purposes only and is not used for any authorization.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 16
                               characters.  This user-id is not to be confused with the
                               authentication user-id, it is for  identification purposes only and
                               is not used for any authorization.
  <info></info>          <strong>$acctstr</strong>           <return>SQL_ATTR_INFO_ACCTSTR</return> - A pointer to a null-terminated  character
                               string used to identify the client accounting string sent to the
                               host database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 200 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 200
                               characters.
  <info></info>          <strong>$applname</strong>          <return>SQL_ATTR_INFO_APPLNAME</return> - A pointer to a null-terminated  character
                               string used to identify the client application name sent to the  host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 32 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 32
                               characters.
  <info></info>          <strong>$wrkstnname</strong>        <return>SQL_ATTR_INFO_WRKSTNNAME</return> - A pointer to a null-terminated  character
                               string used to identify the client workstation name sent to the  host
                               database server when using DB2 Connect.  DB2 for z/OS and OS/390
                               servers support up to a length of 18 characters.
                               
                               DB2 for z/OS and OS/390 servers support up to a length of 18
                               characters.
  <info>int</info>       <strong>$type</strong>              An integer value that specifies the type of resource that was passed
                               into the function. The type of resource and this value must
                               correspond.
                               
                               Passing <return>1</return> as the value specifies that a connection resource has been
                               passed into the function.
                               
                               Passing any integer not equal to <return>1</return> as the value specifies that a
                               statement resource has been passed into the function.

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

<comment>See Also:</comment>
   * <strong>db2_connect()</strong>
   * <strong>db2_pconnect()</strong>
   * <strong>db2_exec()</strong>
   * <strong>db2_prepare()</strong>
   * <strong>db2_cursor_type()</strong>


id: db2_special_columns
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the unique row identifier columns for a table
    
  
  Returns a result set listing the unique row identifier columns for a table.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>   A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                            other databases, pass <info>null</info> or an empty string.
  <info>string</info>       <strong>$schema</strong>      The schema which contains the tables.
  <info>string</info>       <strong>$table_name</strong>  The name of the table.
  <info>int</info>          <strong>$scope</strong>       Integer value representing the minimum duration for which the unique row
                            identifier is valid. This can be one of the following values: Integer
                            valueSQL constantDescription0SQL_SCOPE_CURROWRow identifier is valid
                            only while the cursor is positioned on the row.1SQL_SCOPE_TRANSACTIONRow
                            identifier is valid for the duration of the
                            transaction.2SQL_SCOPE_SESSIONRow identifier is valid for the duration
                            of the connection.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows with unique row
            identifier information for a table. The rows are composed of the following columns:
            Column nameDescriptionSCOPEInteger valueSQL constantDescription0SQL_SCOPE_CURROWRow
            identifier is valid only while the cursor is positioned on the
            row.1SQL_SCOPE_TRANSACTIONRow identifier is valid for the duration of the
            transaction.2SQL_SCOPE_SESSIONRow identifier is valid for the duration of the
            connection.COLUMN_NAMEName of the unique column.DATA_TYPESQL data type for the
            column.TYPE_NAMECharacter string representation of the SQL data type for the
            column.COLUMN_SIZEAn integer value representing the size of the column.BUFFER_LENGTH
            Maximum number of bytes necessary to store data from this column. DECIMAL_DIGITS The
            scale of the column, or <info>null</info> where scale is not applicable. NUM_PREC_RADIX An integer
            value of either <return>10</return> (representing an exact numeric data type), <return>2</return> (representing an
            approximate numeric data type), or <info>null</info> (representing a data type for which radix is not
            applicable). PSEUDO_COLUMNAlways returns 1.
            
            Integer valueSQL constantDescription0SQL_SCOPE_CURROWRow identifier is valid only while
            the cursor is positioned on the row.1SQL_SCOPE_TRANSACTIONRow identifier is valid for
            the duration of the transaction.2SQL_SCOPE_SESSIONRow identifier is valid for the
            duration of the connection.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_statistics
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the index and statistics for a table
    
  
  Returns a result set listing the index and statistics for a table.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>   A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                            other databases, pass <info>null</info> or an empty string.
  <info>string|null</info>  <strong>$schema</strong>      The schema that contains the targeted table. If this parameter is <info>null</info>,
                            the statistics and indexes are returned for the schema of the current
                            user.
  <info>string</info>       <strong>$table_name</strong>  The name of the table.
  <info>bool</info>         <strong>$unique</strong>      When <strong>$unique</strong> is <info>true</info>, the information for all indexes in the table are
                            returned. Otherwise, only the information for unique indexes in the
                            table are returned.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the statistics
            and indexes for the base tables matching the specified parameters. The rows are composed
            of the following columns: Column nameDescriptionTABLE_CATThe catalog that contains the
            table. The value is <info>null</info> if this table does not have catalogs.TABLE_SCHEMName of the
            schema that contains the table.TABLE_NAMEName of the table.NON_UNIQUE An integer value
            representing whether the index prohibits unique values, or whether the row represents
            statistics on the table itself: Return valueParameter type0 (SQL_FALSE)The index allows
            duplicate values.1 (SQL_TRUE)The index values must be unique.<info>null</info>This row is statistics
            information for the table itself. INDEX_QUALIFIERA string value representing the
            qualifier that would have to be prepended to INDEX_NAME to fully qualify the
            index.INDEX_NAMEA string representing the name of the index.TYPE An integer value
            representing the type of information contained in this row of the result set: Return
            valueParameter type0 (SQL_TABLE_STAT)The row contains statistics about the table
            itself.1 (SQL_INDEX_CLUSTERED)The row contains information about a clustered index.2
            (SQL_INDEX_HASH)The row contains information about a hashed index.3 (SQL_INDEX_OTHER)The
            row contains information about a type of index that is neither clustered nor hashed.
            ORDINAL_POSITIONThe 1-indexed position of the column in the index. <info>null</info> if the row
            contains statistics information about the table itself.COLUMN_NAMEThe name of the column
            in the index. <info>null</info> if the row contains statistics information about the table
            itself.ASC_OR_DESC<return>A</return> if the column is sorted in ascending order, <return>D</return> if the column is
            sorted in descending order, <info>null</info> if the row contains statistics information about the
            table itself. CARDINALITY If the row contains information about an index, this column
            contains an integer value representing the number of unique values in the index.  If the
            row contains information about the table itself, this column contains an integer value
            representing the number of rows in the table. PAGES If the row contains information
            about an index, this column contains an integer value representing the number of pages
            used to store the index.  If the row contains information about the table itself, this
            column contains an integer value representing the number of pages used to store the
            table. FILTER_CONDITIONAlways returns <info>null</info>.
            
            An integer value representing whether the index prohibits unique values, or whether the
            row represents statistics on the table itself: Return valueParameter type0
            (SQL_FALSE)The index allows duplicate values.1 (SQL_TRUE)The index values must be
            unique.<info>null</info>This row is statistics information for the table itself.
            
            An integer value representing the type of information contained in this row of the
            result set: Return valueParameter type0 (SQL_TABLE_STAT)The row contains statistics
            about the table itself.1 (SQL_INDEX_CLUSTERED)The row contains information about a
            clustered index.2 (SQL_INDEX_HASH)The row contains information about a hashed index.3
            (SQL_INDEX_OTHER)The row contains information about a type of index that is neither
            clustered nor hashed.
            
            If the row contains information about an index, this column contains an integer value
            representing the number of unique values in the index.
            
            If the row contains information about the table itself, this column contains an integer
            value representing the number of rows in the table.
            
            If the row contains information about an index, this column contains an integer value
            representing the number of pages used to store the index.
            
            If the row contains information about the table itself, this column contains an integer
            value representing the number of pages used to store the table.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_table_privileges()</strong>
   * <strong>db2_tables()</strong>


id: db2_stmt_error
type: function
doc:
<comment>Description:</comment>
  Returns a string containing the SQLSTATE returned by an SQL statement
    
  
  Returns a string containing the SQLSTATE value returned by an SQL statement.
  
  If you do not pass a statement resource as an argument to <strong>db2_stmt_error()</strong>, the driver returns the
  SQLSTATE value associated with the last attempt to return a statement resource, for example, from
  <strong>db2_prepare()</strong> or <strong>db2_exec()</strong>.
  
  To learn what the SQLSTATE value means, you can issue the following command at a DB2 Command Line
  Processor prompt: db2 '? <strong>$sqlstate-value</strong>'. You can also call <strong>db2_stmt_errormsg()</strong> to retrieve an
  explicit error message and the associated SQLCODE value.

<comment>Param:</comment>
  <info>resource|null</info>  <strong>$stmt</strong>  A valid statement resource.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing an SQLSTATE value.

<comment>See Also:</comment>
   * <strong>db2_conn_error()</strong>
   * <strong>db2_conn_errormsg()</strong>
   * <strong>db2_stmt_errormsg()</strong>


id: db2_stmt_errormsg
type: function
doc:
<comment>Description:</comment>
  Returns a string containing the last SQL statement error message
    
  
  Returns a string containing the last SQL statement error message.
  
  If you do not pass a statement resource as an argument to <strong>db2_stmt_errormsg()</strong>, the driver returns
  the error message associated with the last attempt to return a statement resource, for example,
  from <strong>db2_prepare()</strong> or <strong>db2_exec()</strong>.

<comment>Param:</comment>
  <info>resource|null</info>  <strong>$stmt</strong>  A valid statement resource.

<comment>Return:</comment>
  <info>string</info>  Returns a string containing the error message and SQLCODE value for the last error that
          occurred issuing an SQL statement.

<comment>See Also:</comment>
   * <strong>db2_conn_error()</strong>
   * <strong>db2_conn_errormsg()</strong>
   * <strong>db2_stmt_error()</strong>


id: db2_table_privileges
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the tables and associated privileges in a database
    
  
  Returns a result set listing the tables and associated privileges in a database.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>   A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                            other databases, pass <info>null</info> or an empty string.
  <info>string|null</info>  <strong>$schema</strong>      The schema which contains the tables. This parameter accepts a search
                            pattern containing <return>_</return> and <return>%</return> as wildcards.
  <info>string|null</info>  <strong>$table_name</strong>  The name of the table. This parameter accepts a search pattern
                            containing <return>_</return> and <return>%</return> as wildcards.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the privileges
            for the tables that match the specified parameters. The rows are composed of the
            following columns: Column nameDescriptionTABLE_CATThe catalog that contains the table.
            The value is <info>null</info> if this table does not have catalogs.TABLE_SCHEMName of the schema
            that contains the table.TABLE_NAMEName of the table.GRANTORAuthorization ID of the user
            who granted the privilege.GRANTEEAuthorization ID of the user to whom the privilege was
            granted.PRIVILEGE The privilege that has been granted. This can be one of ALTER,
            CONTROL, DELETE, INDEX, INSERT, REFERENCES, SELECT, or UPDATE. IS_GRANTABLE A string
            value of "YES" or "NO" indicating whether the grantee can grant the privilege to other
            users.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_tables()</strong>


id: db2_tables
type: function
doc:
<comment>Description:</comment>
  Returns a result set listing the tables and associated metadata in a database
    
  
  Returns a result set listing the tables and associated metadata in a database.

<comment>Param:</comment>
  <info>resource</info>     <strong>$connection</strong>  A valid connection to an IBM DB2, Cloudscape, or Apache Derby database.
  <info>string|null</info>  <strong>$qualifier</strong>   A qualifier for DB2 databases running on OS/390 or z/OS servers. For
                            other databases, pass <info>null</info> or an empty string.
  <info>string|null</info>  <strong>$schema</strong>      The schema which contains the tables. This parameter accepts a search
                            pattern containing <return>_</return> and <return>%</return> as wildcards.
  <info>string|null</info>  <strong>$table_name</strong>  The name of the table.  This parameter accepts a search pattern
                            containing <return>_</return> and <return>%</return> as wildcards.
  <info>string|null</info>  <strong>$table_type</strong>  A list of comma-delimited table type identifiers. To match all table
                            types, pass <info>null</info> or an empty string. Valid table type identifiers
                            include: ALIAS, HIERARCHY TABLE, INOPERATIVE VIEW, NICKNAME,
                            MATERIALIZED QUERY TABLE, SYSTEM TABLE, TABLE, TYPED TABLE, TYPED VIEW,
                            and VIEW.

<comment>Return:</comment>
  <info>resource</info>  Returns a statement resource with a result set containing rows describing the tables
            that match the specified parameters. The rows are composed of the following columns:
            Column nameDescriptionTABLE_CATThe catalog that contains the table. The value is <info>null</info> if
            this table does not have catalogs.TABLE_SCHEMName of the schema that contains the
            table.TABLE_NAMEName of the table.TABLE_TYPETable type identifier for the
            table.REMARKSDescription of the table.

<comment>See Also:</comment>
   * <strong>db2_column_privileges()</strong>
   * <strong>db2_columns()</strong>
   * <strong>db2_foreign_keys()</strong>
   * <strong>db2_primary_keys()</strong>
   * <strong>db2_procedure_columns()</strong>
   * <strong>db2_procedures()</strong>
   * <strong>db2_special_columns()</strong>
   * <strong>db2_statistics()</strong>
   * <strong>db2_table_privileges()</strong>


id: dba_close
type: function
doc:
<comment>Description:</comment>
  Close a DBA database
  
  <strong>dba_close()</strong> closes the established database and frees all resources of the specified database
  handle.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

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

<comment>See Also:</comment>
   * <strong>dba_open()</strong>
   * <strong>dba_popen()</strong>


id: dba_delete
type: function
doc:
<comment>Description:</comment>
  Delete DBA entry specified by key
  
  <strong>dba_delete()</strong> deletes the specified entry from the database.

<comment>Param:</comment>
  <info>string|array</info>  <strong>$key</strong>  The key of the entry which is deleted.
  <info>resource</info>      <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

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

<comment>See Also:</comment>
   * <strong>dba_exists()</strong>
   * <strong>dba_fetch()</strong>
   * <strong>dba_insert()</strong>
   * <strong>dba_replace()</strong>


id: dba_exists
type: function
doc:
<comment>Description:</comment>
  Check whether key exists
  
  <strong>dba_exists()</strong> checks whether the specified <strong>$key</strong> exists in the database.

<comment>Param:</comment>
  <info>string|array</info>  <strong>$key</strong>  The key the check is performed for.
  <info>resource</info>      <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the key exists, <info>false</info> otherwise.

<comment>See Also:</comment>
   * <strong>dba_delete()</strong>
   * <strong>dba_fetch()</strong>
   * <strong>dba_insert()</strong>
   * <strong>dba_replace()</strong>


id: dba_fetch
type: function
doc:
<comment>Description:</comment>
  Fetch data specified by key
  
  Overloaded signature deprecated as of 8.3.0:
  
  <strong>dba_fetch()</strong> fetches the data specified by <strong>$key</strong> from the database specified with <strong>$dba</strong>.

<comment>Param:</comment>
  <info>string|array</info>  <strong>$key</strong>   The key the data is specified by.
                       
                       When working with inifiles this function accepts arrays as keys where index 0
                       is the group and index 1 is the value name. See: <strong>dba_key_split()</strong>.
  <info>resource</info>      <strong>$dba</strong>   The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.
  <info>int</info>           <strong>$skip</strong>  The number of key-value pairs to ignore when using cdb databases. This value
                       is ignored for all other databases which do not support multiple keys with
                       the same name.

<comment>Return:</comment>
  <info>string|false</info>  Returns the associated string if the key/data pair is found, <info>false</info>  otherwise.

<comment>See Also:</comment>
   * <strong>dba_exists()</strong>
   * <strong>dba_delete()</strong>
   * <strong>dba_insert()</strong>
   * <strong>dba_replace()</strong>
   * <strong>dba_key_split()</strong>


id: dba_firstkey
type: function
doc:
<comment>Description:</comment>
  Fetch first key
  
  <strong>dba_firstkey()</strong> returns the first key of the database and resets the internal key pointer. This
  permits a linear search through the whole database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

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

<comment>See Also:</comment>
   * <strong>dba_nextkey()</strong>
   * <strong>dba_key_split()</strong>
   * Example 2 in the DBA examples


id: dba_handlers
type: function
doc:
<comment>Description:</comment>
  List all the handlers available
  
  <strong>dba_handlers()</strong> list all the handlers supported by this extension.

<comment>Param:</comment>
  <info>bool</info>  <strong>$full_info</strong>  Turns on/off full information display in the result.

<comment>Return:</comment>
  <info>array</info>  Returns an array of database handlers. If <strong>$full_info</strong> is set to <info>true</info>, the array will be
         associative with the handlers names as keys, and their version information as value.
         Otherwise, the result will be an indexed array of handlers names.
         
         When the internal cdb library is used you will see  <return>cdb</return> and <return>cdb_make</return>.


id: dba_insert
type: function
doc:
<comment>Description:</comment>
  Insert entry
  
  <strong>dba_insert()</strong> inserts the entry described with <strong>$key</strong> and <strong>$value</strong> into the database.

<comment>Param:</comment>
  <info>string|array</info>  <strong>$key</strong>    The key of the entry to be inserted. If this key already exist in the
                        database, this function will fail. Use <strong>dba_replace()</strong> if you need to replace
                        an existent key.
  <info>string</info>        <strong>$value</strong>  The value to be inserted.
  <info>resource</info>      <strong>$dba</strong>    The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

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

<comment>See Also:</comment>
   * <strong>dba_exists()</strong>
   * <strong>dba_delete()</strong>
   * <strong>dba_fetch()</strong>
   * <strong>dba_replace()</strong>


id: dba_key_split
type: function
doc:
<comment>Description:</comment>
  Splits a key in string representation into array representation
    
  
  <strong>dba_key_split()</strong> splits a key (string representation) into an array representation.

<comment>Param:</comment>
  <info>string|false|null</info>  <strong>$key</strong>  The key in string representation.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array of the form <return>array(0 =&gt; group, 1 =&gt;  value_name)</return>. This function
               will return <info>false</info> if  <strong>$key</strong> is <info>null</info> or <info>false</info>.

<comment>See Also:</comment>
   * <strong>dba_firstkey()</strong>
   * <strong>dba_nextkey()</strong>
   * <strong>dba_fetch()</strong>


id: dba_list
type: function
doc:
<comment>Description:</comment>
  List all open database files
  
  <strong>dba_list()</strong> list all open database files.

<comment>Return:</comment>
  <info>array</info>  An associative array, in the form <return>resourceid =&gt; filename</return>.


id: dba_nextkey
type: function
doc:
<comment>Description:</comment>
  Fetch next key
  
  <strong>dba_nextkey()</strong> returns the next key of the database and advances the internal key pointer.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

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

<comment>See Also:</comment>
   * <strong>dba_firstkey()</strong>
   * <strong>dba_key_split()</strong>
   * Example 2 in the DBA examples


id: dba_open
type: function
doc:
<comment>Description:</comment>
  Open database
  
  <strong>dba_open()</strong> establishes a database instance for <strong>$path</strong> with <strong>$mode</strong> using <strong>$handler</strong>.

<comment>Param:</comment>
  <info>string</info>       <strong>$path</strong>        Commonly a regular path in your filesystem.
  <info>string</info>       <strong>$mode</strong>        It is <return>r</return> for read access, <return>w</return> for read/write access to an already existing
                            database, <return>c</return> for read/write access and database creation if it doesn't
                            currently exist, and <return>n</return> for create, truncate and read/write access. The
                            database is created in BTree mode, other modes (like Hash or Queue) are
                            not supported.
                            
                            Additionally you can set the database lock method with the next char.
                            Use <return>l</return> to lock the database with a .lck file or <return>d</return> to lock the
                            databasefile itself. It is  important that all of your applications do
                            this consistently.
                            
                            If you want to test the access and do not want to wait for the lock  you
                            can add <return>t</return> as third character. When you are  absolutely sure that you do
                            not require database locking you can do  so by using <return>-</return> instead of <return>l</return> or
                            <return>d</return>. When none of <return>d</return>,  <return>l</return> or <return>-</return> is used, dba will lock on the database file
                            as it would with <return>d</return>.
                            
                            There can only be one writer for one database file. When you use dba on
                            a web server and more than one request requires write operations they
                            can only be done one after another. Also read during write is not
                            allowed. The dba extension uses locks to prevent this. See the following
                            table: DBA lockingalready open<strong>$mode</strong> = "rl"<strong>$mode</strong> = "rlt"<strong>$mode</strong> = "wl"<strong>$mode</strong>
                            = "wlt"<strong>$mode</strong> = "rd"<strong>$mode</strong> = "rdt"<strong>$mode</strong> = "wd"<strong>$mode</strong> = "wdt"not
                            openokokokokokokokok<strong>$mode</strong> =
                            "rl"okokwaitfalseillegalillegalillegalillegal<strong>$mode</strong> =
                            "wl"waitfalsewaitfalseillegalillegalillegalillegal<strong>$mode</strong> =
                            "rd"illegalillegalillegalillegalokokwaitfalse<strong>$mode</strong> =
                            "wd"illegalillegalillegalillegalwaitfalsewaitfalse ok: the second call
                            will be successful.wait: the second call waits until <strong>dba_close()</strong> is
                            called for the first.false: the second call returns false.illegal: you
                            must not mix <return>"l"</return> and <return>"d"</return> modifiers for <strong>$mode</strong> parameter.
  <info>string|null</info>  <strong>$handler</strong>     The name of the handler which shall be used for accessing <strong>$path</strong>. It is
                            passed all optional parameters given to <strong>dba_open()</strong> and can act on behalf
                            of them. If <strong>$handler</strong> is <info>null</info>, then the default handler is invoked.
  <info>int</info>          <strong>$permission</strong>  Optional <info>int</info> parameter which is passed to the driver. It has the same
                            meaning as the <strong>$permissions</strong> parameter of <strong>chmod()</strong>, and defaults to <return>0644</return>.
                            
                            The <return>db1</return>, <return>db2</return>, <return>db3</return>, <return>db4</return>, <return>dbm</return>, <return>gdbm</return>, <return>ndbm</return>, and <return>lmdb</return> drivers support the
                            <strong>$permission</strong> parameter.
  <info>int</info>          <strong>$map_size</strong>    Optional <info>int</info> parameter which is passed to the driver. Its value should
                            be a multiple of the page size of the OS, or zero, to use the default
                            map size.
                            
                            Only the <return>lmdb</return> driver accepts the <strong>$map_size</strong> parameter.
  <info>int|null</info>     <strong>$flags</strong>       Flags to pass to the database drivers. If <info>null</info> the default flags will be
                            provided. Currently, only the LMDB driver supports the following flags
                            <info>DBA_LMDB_USE_SUB_DIR</info> and <info>DBA_LMDB_NO_SUB_DIR</info>.

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

<comment>See Also:</comment>
   * <strong>dba_popen()</strong>
   * <strong>dba_close()</strong>


id: dba_optimize
type: function
doc:
<comment>Description:</comment>
  Optimize database
  
  <strong>dba_optimize()</strong> optimizes the underlying database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

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

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


id: dba_popen
type: function
doc:
<comment>Description:</comment>
  Open database persistently
  
  <strong>dba_popen()</strong> establishes a persistent database instance for <strong>$path</strong> with <strong>$mode</strong> using <strong>$handler</strong>.

<comment>Param:</comment>
  <info>string</info>       <strong>$path</strong>        Commonly a regular path in your filesystem.
  <info>string</info>       <strong>$mode</strong>        It is <return>r</return> for read access, <return>w</return> for read/write access to an already existing
                            database, <return>c</return> for read/write access and database creation if it doesn't
                            currently exist, and <return>n</return> for create, truncate and read/write access.
  <info>string|null</info>  <strong>$handler</strong>     The name of the handler which shall be used for accessing <strong>$path</strong>. It is
                            passed  all optional parameters given to <strong>dba_popen()</strong> and  can act on
                            behalf of them. If <strong>$handler</strong> is <info>null</info>, then the default handler is
                            invoked.
  <info>int</info>          <strong>$permission</strong>  Optional <info>int</info> parameter which is passed to the driver. It has the same
                            meaning as the <strong>$permissions</strong> parameter of <strong>chmod()</strong>, and defaults to <return>0644</return>.
                            
                            The <return>db1</return>, <return>db2</return>, <return>db3</return>, <return>db4</return>, <return>dbm</return>, <return>gdbm</return>, <return>ndbm</return>, and <return>lmdb</return> drivers support the
                            <strong>$permission</strong> parameter.
  <info>int</info>          <strong>$map_size</strong>    Optional <info>int</info> parameter which is passed to the driver. Its value should
                            be a multiple of the page size of the OS, or zero, to use the default
                            mapsize.
                            
                            The <return>lmdb</return> driver accepts the <strong>$map_size</strong> parameter.
  <info>int|null</info>     <strong>$flags</strong>       Allows to pass flags to the DB drivers. Currently, only LMDB with
                            <info>DBA_LMDB_USE_SUB_DIR</info> and <info>DBA_LMDB_NO_SUB_DIR</info> are supported.

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

<comment>See Also:</comment>
   * <strong>dba_open()</strong>
   * <strong>dba_close()</strong>


id: dba_replace
type: function
doc:
<comment>Description:</comment>
  Replace or insert entry
  
  <strong>dba_replace()</strong> replaces or inserts the entry described with <strong>$key</strong> and <strong>$value</strong> into the database
  specified by <strong>$dba</strong>.

<comment>Param:</comment>
  <info>string|array</info>  <strong>$key</strong>    The key of the entry to be replaced.
  <info>string</info>        <strong>$value</strong>  The value to be replaced.
  <info>resource</info>      <strong>$dba</strong>    The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

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

<comment>See Also:</comment>
   * <strong>dba_exists()</strong>
   * <strong>dba_delete()</strong>
   * <strong>dba_fetch()</strong>
   * <strong>dba_insert()</strong>


id: dba_sync
type: function
doc:
<comment>Description:</comment>
  Synchronize database
  
  <strong>dba_sync()</strong> synchronizes the database. This will probably  trigger a physical write to the disk, if
  supported.

<comment>Param:</comment>
  <info>resource</info>  <strong>$dba</strong>  The database handler, returned by <strong>dba_open()</strong> or <strong>dba_popen()</strong>.

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

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


id: dbase_add_record
type: function
doc:
<comment>Description:</comment>
  Adds a record to a database
  
  Adds the given data to the database.

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.
  <info>array</info>     <strong>$data</strong>      An indexed array of data. The number of items must be equal to the number of
                       fields in the database, otherwise <strong>dbase_add_record()</strong> will fail.
                       
                       If you're using <strong>dbase_get_record()</strong> return value for this parameter, remember
                       to reset the key named <return>deleted</return>.

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

<comment>See Also:</comment>
   * <strong>dbase_delete_record()</strong>
   * <strong>dbase_replace_record()</strong>


id: dbase_close
type: function
doc:
<comment>Description:</comment>
  Closes a database
  
  Closes the given database resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.

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

<comment>See Also:</comment>
   * <strong>dbase_open()</strong>
   * <strong>dbase_create()</strong>


id: dbase_create
type: function
doc:
<comment>Description:</comment>
  Creates a database
  
  <strong>dbase_create()</strong> creates a dBase database with the given definition. If the file already exists, it
  is not truncated. <strong>dbase_pack()</strong> can be called to force truncation.
  
  此函数受
  open_basedir 影响。

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>    The path of the database. It can be a relative or absolute path to the file where
                   dBase will store your data.
  <info>array</info>   <strong>$fields</strong>  An array of arrays, each array describing the format of one field of the
                   database. Each field consists of a name, a character indicating the field type,
                   and optionally, a length, a precision and a nullable flag. The supported field
                   types are listed in the introduction section.
                   
                   The fieldnames are limited in length and must not exceed 10 chars.
  <info>int</info>     <strong>$type</strong>    The type of database to be created. Either <info>DBASE_TYPE_DBASE</info> or <info>DBASE_TYPE_FOXPRO</info>.

<comment>Return:</comment>
  <info>resource</info>  Returns a database resource if the database is successfully created, or <info>false</info> if an
            error occurred.

<comment>See Also:</comment>
   * <strong>dbase_open()</strong>
   * <strong>dbase_close()</strong>


id: dbase_delete_record
type: function
doc:
<comment>Description:</comment>
  Deletes a record from a database
  
  Marks the given record to be deleted from the database.
  
  To actually remove the record from the database, you must also call <strong>dbase_pack()</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.
  <info>int</info>       <strong>$number</strong>    An integer which spans from 1 to the number of records in the database (as
                       returned by <strong>dbase_numrecords()</strong>).

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

<comment>See Also:</comment>
   * <strong>dbase_add_record()</strong>
   * <strong>dbase_replace_record()</strong>


id: dbase_get_header_info
type: function
doc:
<comment>Description:</comment>
  Gets the header info of a database
  
  Returns information on the column structure of the given database resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.

<comment>Return:</comment>
  <info>array</info>  An indexed array with an entry for each column in the database. The array index starts at
         0.
         
         Each array element contains an associative array of column information, as described here:
         name The name of the column type The human-readable name for the dbase type of the column
         (i.e. date, boolean, etc.) The supported field types are listed in the introduction
         section. length The number of bytes this column can hold precision The number of digits of
         decimal precision for the column format A suggested <strong>printf()</strong> format specifier for the
         column offset The byte offset of the column from the start of the row
         
         The name of the column
         
         The human-readable name for the dbase type of the column (i.e. date, boolean, etc.) The
         supported field types are listed in the introduction section.
         
         The number of bytes this column can hold
         
         The number of digits of decimal precision for the column
         
         A suggested <strong>printf()</strong> format specifier for the column
         
         The byte offset of the column from the start of the row
         
         If the database header information cannot be read, <info>false</info> is returned.


id: dbase_get_record
type: function
doc:
<comment>Description:</comment>
  Gets a record from a database as an indexed array
    
  
  Gets a record from a database as an indexed array.

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.
  <info>int</info>       <strong>$number</strong>    The index of the record between <return>1</return> and <return>dbase_numrecords($dbase_identifier)</return>.

<comment>Return:</comment>
  <info>array</info>  An indexed array with the record. This array will also include an associative key named
         <return>deleted</return> which is set to 1 if the record has been  marked for deletion (see
         <strong>dbase_delete_record()</strong>).
         
         每个字段都会被转换为对应的 PHP 类型，除了以下场景：  日期会被转换成字符串。  DateTime 会被
         转换成字符串。  范围之外的整数 <info>PHP_INT_MIN</info>..<info>PHP_INT_MAX</info> 将返回字符串。  dbase 7.0.0 之前的
         版本， 布尔型 (<return>L</return>) 将被转换为 <return>1</return> 或 <return>0</return>。
         
         日期会被转换成字符串。
         
         DateTime 会被转换成字符串。
         
         范围之外的整数 <info>PHP_INT_MIN</info>..<info>PHP_INT_MAX</info> 将返回字符串。
         
         dbase 7.0.0 之前的版本， 布尔型 (<return>L</return>) 将被转换为 <return>1</return> 或 <return>0</return>。
         
         On error, <strong>dbase_get_record()</strong> will return <info>false</info>.

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


id: dbase_get_record_with_names
type: function
doc:
<comment>Description:</comment>
  Gets a record from a database as an associative array
    
  
  Gets a record from a dBase database as an associative array.

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.
  <info>int</info>       <strong>$number</strong>    The index of the record between <return>1</return> and <return>dbase_numrecords($dbase_identifier)</return>.

<comment>Return:</comment>
  <info>array</info>  An associative array with the record. This will also include a key named <return>deleted</return> which is
         set to 1 if the record has been marked for deletion (see <strong>dbase_delete_record()</strong>). Therefore
         it is not possible to retrieve the value of a field named <return>deleted</return> with this function.
         
         每个字段都会被转换为对应的 PHP 类型，除了以下场景：  日期会被转换成字符串。  DateTime 会被
         转换成字符串。  范围之外的整数 <info>PHP_INT_MIN</info>..<info>PHP_INT_MAX</info> 将返回字符串。  dbase 7.0.0 之前的
         版本， 布尔型 (<return>L</return>) 将被转换为 <return>1</return> 或 <return>0</return>。
         
         日期会被转换成字符串。
         
         DateTime 会被转换成字符串。
         
         范围之外的整数 <info>PHP_INT_MIN</info>..<info>PHP_INT_MAX</info> 将返回字符串。
         
         dbase 7.0.0 之前的版本， 布尔型 (<return>L</return>) 将被转换为 <return>1</return> 或 <return>0</return>。
         
         On error, <strong>dbase_get_record_with_names()</strong> will return <info>false</info>.

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


id: dbase_numfields
type: function
doc:
<comment>Description:</comment>
  Gets the number of fields of a database
  
  Gets the number of fields (columns) in the specified database.
  
  Field numbers are between 0 and <return>dbase_numfields($db)-1</return>, while record numbers are between 1 and
  <return>dbase_numrecords($db)</return>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.

<comment>Return:</comment>
  <info>int</info>  The number of fields in the database, or <info>false</info> if an error occurs.

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


id: dbase_numrecords
type: function
doc:
<comment>Description:</comment>
  Gets the number of records in a database
  
  Gets the number of records (rows) in the specified database.
  
  Records which are marked as deleted are counted as well.
  
  Record numbers are between 1 and <return>dbase_numrecords($db)</return>, while field numbers are between 0 and
  <return>dbase_numfields($db)-1</return>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.

<comment>Return:</comment>
  <info>int</info>  The number of records in the database, or <info>false</info> if an error occurs.

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


id: dbase_open
type: function
doc:
<comment>Description:</comment>
  Opens a database
  
  <strong>dbase_open()</strong> opens a dBase database with the given access mode.
  
  此函数受
  open_basedir 影响。

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>  The path of the database. It can be a relative or absolute path to the file where
                 dBase will store your data.
  <info>int</info>     <strong>$mode</strong>  An integer which correspond to those for the open()  system call (Typically 0 means
                 read-only, 1 means write-only, and 2  means read and write).
                 
                 You can't open a dBase file in write-only mode as the function will fail to read
                 the headers information and thus you can't use 1 as <strong>$mode</strong>.
                 
                 As of dbase 7.0.0 you can use <info>DBASE_RDONLY</info> and <info>DBASE_RDWR</info>, respectively, to specify
                 the <strong>$mode</strong>.

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

<comment>See Also:</comment>
   * <strong>dbase_create()</strong>
   * <strong>dbase_close()</strong>


id: dbase_pack
type: function
doc:
<comment>Description:</comment>
  Packs a database
  
  Packs the specified database by permanently deleting all records marked for deletion using
  <strong>dbase_delete_record()</strong>. Note that the file will be truncated after successful packing (contrary to
  dBASE III's PACK command).

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.

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

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


id: dbase_replace_record
type: function
doc:
<comment>Description:</comment>
  Replaces a record in a database
  
  Replaces the given record in the database with the given data.

<comment>Param:</comment>
  <info>resource</info>  <strong>$database</strong>  The database resource, returned by <strong>dbase_open()</strong> or <strong>dbase_create()</strong>.
  <info>array</info>     <strong>$data</strong>      An indexed array of data. The number of items must be equal to the number of
                       fields in the database, otherwise <strong>dbase_replace_record()</strong> will fail.
                       
                       If you're using <strong>dbase_get_record()</strong> return value for this parameter, remember
                       to reset the key named <return>deleted</return>.
  <info>int</info>       <strong>$number</strong>    An integer which spans from 1 to the number of records in the database (as
                       returned by <strong>dbase_numrecords()</strong>).

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

<comment>See Also:</comment>
   * <strong>dbase_add_record()</strong>
   * <strong>dbase_delete_record()</strong>


id: dcgettext
type: function
doc:
<comment>Description:</comment>
  Overrides the domain for a single lookup
  
  This function allows you to override the current domain for a single message lookup.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain</strong>    The domain
  <info>string</info>  <strong>$message</strong>   The message
  <info>int</info>     <strong>$category</strong>  The category

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> on success.

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


id: dcngettext
type: function
doc:
<comment>Description:</comment>
  Plural version of dcgettext
  
  This function allows you to override the current domain for a single plural message lookup.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain</strong>    The domain
  <info>string</info>  <strong>$singular</strong>  
  <info>string</info>  <strong>$plural</strong>    
  <info>int</info>     <strong>$count</strong>     
  <info>int</info>     <strong>$category</strong>  

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> on success.

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


id: debug_backtrace
type: function
doc:
<comment>Description:</comment>
  产生一条回溯跟踪(backtrace)
  
  <strong>debug_backtrace()</strong> 产生一条 PHP 的回溯跟踪(backtrace)。

<comment>Param:</comment>
  <info>int</info>  <strong>$options</strong>  这个参数是以下选项的位掩码： <strong>debug_backtrace()</strong> 选项DEBUG_BACKTRACE_PROVIDE_OBJECT
                 是否填充 "object" 的索引。 DEBUG_BACKTRACE_IGNORE_ARGS 是否忽略 "args" 的索引，包括
                 所有的 function/method 的参数，能够节省内存开销。   有四种可能的组合：
                 <strong>debug_backtrace()</strong> 选项debug_backtrace() 两个索引都有
                 debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)debug_backtrace(1)debug_backtrace(0)
                 忽略索引 <return>"object"</return> 和填充索引 <return>"args"</return>。 debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)
                 忽略索引 <return>"object"</return> 和 索引 <return>"args"</return>。
                 debug_backtrace(2)debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS)
                 填充索引 <return>"object"</return> 和忽略索引 <return>"args"</return>。 debug_backtrace(3)
                 
                 有四种可能的组合： <strong>debug_backtrace()</strong> 选项debug_backtrace() 两个索引都有
                 debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)debug_backtrace(1)debug_backtrace(0)
                 忽略索引 <return>"object"</return> 和填充索引 <return>"args"</return>。 debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)
                 忽略索引 <return>"object"</return> 和 索引 <return>"args"</return>。
                 debug_backtrace(2)debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS)
                 填充索引 <return>"object"</return> 和忽略索引 <return>"args"</return>。 debug_backtrace(3)
  <info>int</info>  <strong>$limit</strong>    这个参数能够用于限制返回堆栈帧的数量。默认为（<strong>$limit</strong>=<return>0</return>），返回所有的堆栈帧。

<comment>Return:</comment>
  <info>array</info>  返回一个包含众多关联数组的 <info>array</info>。 以下为有可能返回的元素：
         
         有可能从 <strong>debug_backtrace()</strong> 返回的元素名字类型说明function<info>string</info> 当前的函数名，参见：
         __FUNCTION__。 line<info>int</info> 当前的行号。参见：__LINE__。 file<info>string</info> 当前的文件名。参见：
         __FILE__。 class<info>string</info> 当前 class 的名称。参见__CLASS__ object<info>object</info> 当前的 object。
         type<info>string</info> 当前调用的类型。如果是一个方法，会返回 "-&gt;"。如果是一个静态方法，会返回
         "::"。如果是一个函数调用，则返回空。 args<info>array</info> 如果在一个函数里，这会列出函数的参数。如果是
         在一个被包含的文件里，会列出包含的文件名。

<comment>See Also:</comment>
   * <strong>trigger_error()</strong>
   * <strong>debug_print_backtrace()</strong>


id: debug_print_backtrace
type: function
doc:
<comment>Description:</comment>
  打印一条回溯。
      
  
  <strong>debug_print_backtrace()</strong> 打印了一条 PHP 回溯。它打印了函数调用、被 included/required 的文件和
  <strong>eval()</strong> 的代码。

<comment>Param:</comment>
  <info>int</info>  <strong>$options</strong>  这个参数是以下选项的位掩码： <strong>debug_print_backtrace()</strong> 选项
                 DEBUG_BACKTRACE_IGNORE_ARGS 是否忽略 "args" 的索引，包括所有的 function/method 的参
                 数，能够节省内存开销。
  <info>int</info>  <strong>$limit</strong>    这个参数能够用于限制返回堆栈帧的数量。 默认为 (<strong>$limit</strong>=<return>0</return>) ，返回所有的堆栈帧。

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

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


id: debug_zval_dump
type: function
doc:
<comment>Description:</comment>
  将表示内部 zval 结构的字符串转储到输出
  
  将表示内部 zval（Zend 值）结构的字符串转储到输出。这对于理解或调试 Zend 引擎或 PHP 扩展的实现细节
  非常有用。

<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>var_dump()</strong>
   * <strong>debug_backtrace()</strong>
   * 引用解释
   * 引用解释（作者：Derick Rethans）


id: decbin
type: function
doc:
<comment>Description:</comment>
  十进制转换为二进制
  
  返回字符串，包含有给定 <strong>$num</strong> 参数的二进制表示。

<comment>Param:</comment>
  <info>int</info>  <strong>$num</strong>  要转换的十进制值

<comment>Return:</comment>
  <info>string</info>  <strong>$num</strong> 的二进制字符串表示

<comment>See Also:</comment>
   * <strong>bindec()</strong>
   * <strong>decoct()</strong>
   * <strong>dechex()</strong>
   * <strong>base_convert()</strong>
   * <strong>printf()</strong>，格式使用 <return>%b</return>、<return>%032b</return> 或 <return>%064b</return>
    
   * <strong>sprintf()</strong>，格式使用 <return>%b</return>、<return>%032b</return> 或 <return>%064b</return>
    


id: dechex
type: function
doc:
<comment>Description:</comment>
  十进制转换为十六进制
  
  返回一字符串，包含有给定 <strong>$num</strong> 参数的十六进制表示。
  
  所能转换的最大数值为十进制的 <info>PHP_INT_MAX</info><return> * 2 + 1</return> (或 <return>-1</return>)：在 32 位平台上是十进制的 <return>4294967295</return>，其
  <strong>dechex()</strong> 的结果为 <return>ffffffff</return>。

<comment>Param:</comment>
  <info>int</info>  <strong>$num</strong>  要转换的十进制值
             
             PHP 的 <info>int</info> 类型是有符号的，但 <strong>dechex()</strong> 处理无符号整数，负正数会以无符号处理。

<comment>Return:</comment>
  <info>string</info>  <strong>$num</strong> 的16进制表示

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


id: decoct
type: function
doc:
<comment>Description:</comment>
  十进制转换为八进制
  
  返回一字符串，包含有给定 <strong>$num</strong> 参数的八进制表示。可以转换的最大数字取决于平台。对于 32 位平台通常是
  十进制的 <return>4294967295</return>，结果是 <return>37777777777</return>。对于 64 位平台通常是十进制的 <return>9223372036854775807</return>，结果是
  <return>777777777777777777777</return>。

<comment>Param:</comment>
  <info>int</info>  <strong>$num</strong>  待转换的十进制值

<comment>Return:</comment>
  <info>string</info>  <strong>$num</strong> 参数八进制表示的字符串。

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


id: define
type: function
doc:
<comment>Description:</comment>
  定义一个常量
  
  在运行时定义一个常量。

<comment>Param:</comment>
  <info>string</info>  <strong>$constant_name</strong>     常量名。
                             
                             可以用 <strong>define()</strong> 定义保留关键词甚至无效名称的常量，它的值可以（仅可以）
                             通过 <strong>constant()</strong> 获取。 不过，不推荐这么做。
  <info>mixed</info>   <strong>$value</strong>             常量的值。在 PHP 5 中，<strong>$value</strong> 必须是 <info>scalar</info> 值（<info>int</info>、 <info>float</info>、<info>string</info>、
                             <info>boolean</info> 或 <info>null</info>）。在 PHP 7 中， <info>array</info> 值也被允许。
                             
                             常量还可以定义为 <info>resource</info> 类型，但并不推荐这样做，因为可能会有不可预知
                             的行为发生。
  <info>bool</info>    <strong>$case_insensitive</strong>  如果设置为 <info>true</info>，则该常量不区分大小写。默认是区分大小写的。比如，
                             <return>CONSTANT</return> 和 <return>Constant</return> 代表了不同的值。
                             
                             PHP 7.3.0 起，废弃定义不区分大小写的常量。自 PHP 8.0.0 开始， 只接受
                             <info>false</info> 值，传递 <info>true</info> 将产生警告。
                             
                             不区分大小写的常量以小写的形式储存。

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

<comment>See Also:</comment>
   * <strong>defined()</strong>
   * <strong>constant()</strong>
   * 关于常量的章节


id: defined
type: function
doc:
<comment>Description:</comment>
  检查某个名称的常量是否存在
  
  检查该名称的常量是否已定义。
  
  此函数也可以跟累常量和 enum cases 一起工作。
  
  如果你要检查一个变量是否存在，请使用 <strong>isset()</strong>。 <strong>defined()</strong> 函数仅对 常量 有效。如果你要检测某个函数
  是否存在，使用 <strong>function_exists()</strong>。

<comment>Param:</comment>
  <info>string</info>  <strong>$constant_name</strong>  常量的名称。

<comment>Return:</comment>
  <info>bool</info>  如果名称 <strong>$constant_name</strong> 的常量已定义，返回 <info>true</info>；未定义则返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>define()</strong>
   * <strong>constant()</strong>
   * <strong>get_defined_constants()</strong>
   * <strong>function_exists()</strong>
   * 关于常量的章节


id: deflate_add
type: function
doc:
<comment>Description:</comment>
  Incrementally deflate data
  
  Incrementally deflates data in the specified context.

<comment>Param:</comment>
  <info>DeflateContext</info>  <strong>$context</strong>     A context created with <strong>deflate_init()</strong>.
  <info>string</info>          <strong>$data</strong>        A chunk of data to compress.
  <info>int</info>             <strong>$flush_mode</strong>  One of <info>ZLIB_BLOCK</info>, <info>ZLIB_NO_FLUSH</info>, <info>ZLIB_PARTIAL_FLUSH</info>, <info>ZLIB_SYNC_FLUSH</info>
                               (default), <info>ZLIB_FULL_FLUSH</info>, <info>ZLIB_FINISH</info>. Normally you will want to
                               set <info>ZLIB_NO_FLUSH</info> to maximize compression, and <info>ZLIB_FINISH</info> to
                               terminate with the last chunk of data. See the zlib manual for a
                               detailed description of these constants.

<comment>Return:</comment>
  <info>string|false</info>  Returns a chunk of compressed data,  或者在失败时返回 <info>false</info>.

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


id: deflate_init
type: function
doc:
<comment>Description:</comment>
  Initialize an incremental deflate context
  
  Initializes an incremental deflate context using the specified <strong>$encoding</strong>.
  
  Note that the <return>window</return> option here only sets the window size of the algorithm, differently from the
  zlib filters where the same parameter also sets the encoding to use; the encoding must be set with
  the <strong>$encoding</strong> parameter.
  
  Limitation: there is currently no way to set the header information on a GZIP compressed stream,
  which are set as follows: GZIP signature (<return>\x1f\x8B</return>); compression method (<return>\x08</return> == DEFLATE); 6 zero
  bytes; the operating system set to the current system (<return>\x00</return> = Windows, <return>\x03</return> = Unix, etc.)

<comment>Param:</comment>
  <info>int</info>    <strong>$encoding</strong>  One of the <info>ZLIB_ENCODING_*</info> constants.
  <info>array</info>  <strong>$options</strong>   An associative array which may contain the following elements: level The
                    compression level in range -1..9; defaults to -1. memory The compression memory
                    level in range 1..9; defaults to 8. window The zlib window size (logarithmic) in
                    range <return>8</return>..<return>15</return>; defaults to <return>15</return>. zlib changes a window size of <return>8</return> to <return>9</return>, and as of
                    zlib 1.2.8 fails with a warning, if a window size of <return>8</return> is requested for
                    <info>ZLIB_ENCODING_RAW</info> or <info>ZLIB_ENCODING_GZIP</info>. strategy One of <info>ZLIB_FILTERED</info>,
                    <info>ZLIB_HUFFMAN_ONLY</info>, <info>ZLIB_RLE</info>, <info>ZLIB_FIXED</info> or <info>ZLIB_DEFAULT_STRATEGY</info> (the default).
                    dictionary A <info>string</info> or an <info>array</info> of <info>strings</info> of the preset dictionary (default: no
                    preset dictionary).
                    
                    The compression level in range -1..9; defaults to -1.
                    
                    The compression memory level in range 1..9; defaults to 8.
                    
                    The zlib window size (logarithmic) in range <return>8</return>..<return>15</return>; defaults to <return>15</return>. zlib changes
                    a window size of <return>8</return> to <return>9</return>, and as of zlib 1.2.8 fails with a warning, if a window
                    size of <return>8</return> is requested for <info>ZLIB_ENCODING_RAW</info> or <info>ZLIB_ENCODING_GZIP</info>.
                    
                    One of <info>ZLIB_FILTERED</info>, <info>ZLIB_HUFFMAN_ONLY</info>, <info>ZLIB_RLE</info>, <info>ZLIB_FIXED</info> or
                    <info>ZLIB_DEFAULT_STRATEGY</info> (the default).
                    
                    A <info>string</info> or an <info>array</info> of <info>strings</info> of the preset dictionary (default: no preset
                    dictionary).

<comment>Return:</comment>
  <info>DeflateContext|false</info>  Returns a deflate context resource (<return>zlib.deflate</return>) on success,  或者在失败时
                        返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>deflate_add()</strong>
   * <strong>inflate_init()</strong>


id: deg2rad
type: function
doc:
<comment>Description:</comment>
  将角度转换为弧度
    
  
  本函数把 <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>rad2deg()</strong>


id: delete
type: function
doc:
<comment>Description:</comment>
  参见 unlink 或 unset
  
  在 PHP 语言里，没有 delete 关键词或函数。在这里，你若要删除文件，可以使用 <strong>unlink()</strong>。在本地作用域删
  除变量可使用 <strong>unset()</strong>。

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


id: dgettext
type: function
doc:
<comment>Description:</comment>
  Override the current domain
  
  The <strong>dgettext()</strong> function allows you to override the current <strong>$domain</strong> for a single message lookup.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain</strong>   The domain
  <info>string</info>  <strong>$message</strong>  The message

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> on success.

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


id: dio_close
type: function
doc:
<comment>Description:</comment>
  通过 fd 关闭文件描述符
  
  <strong>dio_close()</strong> 函数关闭 <strong>$fd</strong>  文件描述符。

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>  <strong>dio_open()</strong> 返回的文件描述符。

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

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


id: dio_fcntl
type: function
doc:
<comment>Description:</comment>
  在 fd 上执行 C 标准库的 fcntl
  
  <strong>dio_fcntl()</strong> 函数在 <strong>$fd</strong>  文件描述符上执行 <strong>$cmd</strong>  指定的操作。一些命令需要提供额外的 <strong>$args</strong>  参数。

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>    <strong>dio_open()</strong> 返回的文件描述符。
  <info>int</info>       <strong>$cmd</strong>   可以是以下操作： <info>F_SETLK</info> - 设置或清除锁。如果其他人持有锁 <strong>dio_fcntl()</strong>  返回 -1。
                   <info>F_SETLKW</info> - 和 <info>F_SETLK</info>  相似，但如果其他人持有锁，<strong>dio_fcntl()</strong> 等待锁释放。 <info>F_GETLK</info>
                   - 如果其他人阻止锁定，<strong>dio_fcntl()</strong>  返回关联数组（如下所述）。如果没有阻塞，键
                   “type”将设置为 <info>F_UNLCK</info>。 <info>F_DUPFD</info> - 查找大于或等于 <strong>$args</strong> 的最小可用文件描述符，并
                   将其返回。 <info>F_SETFL</info> - 设置 <strong>$args</strong>  指定的文件描述符标志。可以是 <info>O_APPEND</info>、
                   <info>O_NONBLOCK</info>  或 <info>O_ASYNC</info>。要使用 <info>O_ASYNC</info>  需要依赖 PCNTL 扩展。
                   
                   <info>F_SETLK</info> - 设置或清除锁。如果其他人持有锁 <strong>dio_fcntl()</strong>  返回 -1。
                   
                   <info>F_SETLKW</info> - 和 <info>F_SETLK</info>  相似，但如果其他人持有锁，<strong>dio_fcntl()</strong> 等待锁释放。
                   
                   <info>F_GETLK</info> - 如果其他人阻止锁定，<strong>dio_fcntl()</strong>  返回关联数组（如下所述）。如果没有阻
                   塞，键“type”将设置为 <info>F_UNLCK</info>。
                   
                   <info>F_DUPFD</info> - 查找大于或等于 <strong>$args</strong> 的最小可用文件描述符，并将其返回。
                   
                   <info>F_SETFL</info> - 设置 <strong>$args</strong>  指定的文件描述符标志。可以是 <info>O_APPEND</info>、<info>O_NONBLOCK</info>  或
                   <info>O_ASYNC</info>。要使用 <info>O_ASYNC</info>  需要依赖 PCNTL 扩展。
  <info>mixed</info>     <strong>$args</strong>  当 <strong>$cmd</strong> 是 <info>F_SETLK</info>  或 <info>F_SETLLW</info> 时，<strong>$args</strong>  是包含以下键的关联数组： <return>start</return> - 开始
                   锁定的偏移 <return>length</return> - 锁定区域大小。0 代表文件结尾 <return>whence</return> - l_start 的相对位置可以
                   是：<info>SEEK_SET</info>、<info>SEEK_END</info> 和 <info>SEEK_CUR</info> <return>type</return> - 锁类型：可以是 <info>F_RDLCK</info>  （读锁），
                   <info>F_WRLCK</info>（写锁）或 <info>F_UNLCK</info>  （解锁）。
                   
                   <return>start</return> - 开始锁定的偏移
                   
                   <return>length</return> - 锁定区域大小。0 代表文件结尾
                   
                   <return>whence</return> - l_start 的相对位置可以是：<info>SEEK_SET</info>、<info>SEEK_END</info> 和 <info>SEEK_CUR</info>
                   
                   <return>type</return> - 锁类型：可以是 <info>F_RDLCK</info>  （读锁），<info>F_WRLCK</info>（写锁）或 <info>F_UNLCK</info>  （解锁）。

<comment>Return:</comment>
  <info>mixed</info>  返回 C 调用的结果。


id: dio_open
type: function
doc:
<comment>Description:</comment>
  在 C 库输入/输出流函数允许的更低级别打开（必要时创建）文件
    
  
  <strong>dio_open()</strong> 打开文件并返回新的文件描述符。

<comment>Param:</comment>
  <info>string</info>  <strong>$filename</strong>  要打开的文件路径。
  <info>int</info>     <strong>$flags</strong>     <strong>$flags</strong> 参数是按位或运算值，包含以下列表的标志。 必须包含 <info>O_RDONLY</info>、<info>O_WRONLY</info>  或
                     <info>O_RDWR</info> 中的一个。此外，可以包含此列表中其它标志的任意组合。 <info>O_RDONLY</info> - 打开文件
                     读访问。 <info>O_WRONLY</info> - 打开文件写访问。 <info>O_RDWR</info> - 打开文件读写。  <info>O_CREAT</info> - 如果文
                     件不存在，创建文件。  <info>O_EXCL</info> - 如果同时设置了 <info>O_CREAT</info>  和 <info>O_EXCL</info>，并且文件已存
                     在，<strong>dio_open()</strong>  将执行失败。 <info>O_TRUNC</info> - 如果文件存在且已打开写访问，将会被截断到
                     0 长度。 <info>O_APPEND</info> - 写操作在文件末尾写数据。 <info>O_NONBLOCK</info> - 设置非阻塞模式。
                     <info>O_NOCTTY</info> - 防止操作系统在打开 TTY 设备文件时将文件指定为进程的控制终端。
                     
                     <info>O_RDONLY</info> - 打开文件读访问。
                     
                     <info>O_WRONLY</info> - 打开文件写访问。
                     
                     <info>O_RDWR</info> - 打开文件读写。
                     
                     <info>O_CREAT</info> - 如果文件不存在，创建文件。
                     
                     <info>O_EXCL</info> - 如果同时设置了 <info>O_CREAT</info>  和 <info>O_EXCL</info>，并且文件已存在，<strong>dio_open()</strong>  将执行
                     失败。
                     
                     <info>O_TRUNC</info> - 如果文件存在且已打开写访问，将会被截断到 0 长度。
                     
                     <info>O_APPEND</info> - 写操作在文件末尾写数据。
                     
                     <info>O_NONBLOCK</info> - 设置非阻塞模式。
                     
                     <info>O_NOCTTY</info> - 防止操作系统在打开 TTY 设备文件时将文件指定为进程的控制终端。
  <info>int</info>     <strong>$mode</strong>      如果 <strong>$flags</strong> 包含 <info>O_CREAT</info>，<strong>$mode</strong>  将设置文件权限（创建权限）。当 <strong>$flags</strong>  指定了
                     <info>O_CREAT</info> 标志时，需要 <strong>$mode</strong>  才能正确操作，否则将会被忽略。
                     
                     分配给创建文件的实际权限照例受到进程的 umask 设置的影响。

<comment>Return:</comment>
  <info>resource</info>  文件描述符，错误时是 <info>false</info>。

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


id: dio_read
type: function
doc:
<comment>Description:</comment>
  从文件描述符读取字节
  
  <strong>dio_read()</strong> 函数读取并返回描述符 <strong>$fd</strong>  指定文件中的 <strong>$len</strong> 字节。

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>   由 <strong>dio_open()</strong> 返回的文件描述符。
  <info>int</info>       <strong>$len</strong>  要读取的字节数。如果未指定，<strong>dio_read()</strong>  读取 1K 大小的块。

<comment>Return:</comment>
  <info>string</info>  从 <strong>$fd</strong> 读取的字节。

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


id: dio_seek
type: function
doc:
<comment>Description:</comment>
  在 fd 指定 pos 位置
  
  函数 <strong>dio_seek()</strong> 用于更改给定文件描述符的文件当前读/写位置。

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>      由 <strong>dio_open()</strong> 返回的文件描述符。
  <info>int</info>       <strong>$pos</strong>     新位置。
  <info>int</info>       <strong>$whence</strong>  指定如何解释 <strong>$pos</strong> 的位置： <info>SEEK_SET</info> （默认）- 从文件开头指定 <strong>$pos</strong>。 <info>SEEK_CUR</info> -
                     指定 <strong>$pos</strong>  是从文件当前位置计算的字符数。数量可以是正数或负数。 <info>SEEK_END</info> - 指定
                     <strong>$pos</strong>  是从文件结尾计算的字符数。负数指定文件当前范围内的位置；正数指定超过当前
                     末端的位置。 如果将位置设置为超过当前末尾并写入数据，将用零将文件扩展到该位置。
                     
                     <info>SEEK_SET</info> （默认）- 从文件开头指定 <strong>$pos</strong>。
                     
                     <info>SEEK_CUR</info> - 指定 <strong>$pos</strong>  是从文件当前位置计算的字符数。数量可以是正数或负数。
                     
                     <info>SEEK_END</info> - 指定 <strong>$pos</strong>  是从文件结尾计算的字符数。负数指定文件当前范围内的位置；
                     正数指定超过当前末端的位置。 如果将位置设置为超过当前末尾并写入数据，将用零将文
                     件扩展到该位置。

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


id: dio_stat
type: function
doc:
<comment>Description:</comment>
  获取有关文件描述符 fd 的统计信息 
    
  
  <strong>dio_stat()</strong> 返回有关文件描述符的信息。

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>  由 <strong>dio_open()</strong> 返回的文件描述符。

<comment>Return:</comment>
  <info>array</info>  返回带有以下键的关联数组：  "device" - 设备  "inode" - inode  "mode" - 模式   "nlink" - 硬
         链接数  "uid" - 用户 id  "gid" - 组 id  "device_type" - 设备类型（如果是 inode 设备）
         "size" - 字节总大小   "blocksize" - 块大小   "blocks" - 分配的块个数   "atime" - 最后访问时
         间   "mtime" - 最后修改时间   "ctime" - 最后变更时间   错误时 <strong>dio_stat()</strong> 返回 <info>null</info>。
         
         "device" - 设备
         
         "inode" - inode
         
         "mode" - 模式
         
         "nlink" - 硬链接数
         
         "uid" - 用户 id
         
         "gid" - 组 id
         
         "device_type" - 设备类型（如果是 inode 设备）
         
         "size" - 字节总大小
         
         "blocksize" - 块大小
         
         "blocks" - 分配的块个数
         
         "atime" - 最后访问时间
         
         "mtime" - 最后修改时间
         
         "ctime" - 最后变更时间


id: dio_tcsetattr
type: function
doc:
<comment>Description:</comment>
  设置串行端口的终端属性和波特率
    
  
  <strong>dio_tcsetattr()</strong> 为打开的 <strong>$fd</strong>  设置串行端口的终端属性和波特率。

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>       由 <strong>dio_open()</strong> 返回的文件描述符。
  <info>array</info>     <strong>$options</strong>  当前可用选项：  'baud' - 端口波特率 - 可以是 38400、19200、9600、4800、2400、
                      1800、1200、600、300、200、150、134、110、75 或 50，默认为 9600。  'bits' - 数
                      据位 - 可以是 8、7、6 或 5。默认为 8。  'stop' - 停止位 - 可以是 1 或 2。默认
                      为 1。  'parity' - 可以是 0、1 或 2。默认是 0。
                      
                      'baud' - 端口波特率 - 可以是 38400、19200、9600、4800、2400、1800、1200、600、
                      300、200、150、134、110、75 或 50，默认为 9600。
                      
                      'bits' - 数据位 - 可以是 8、7、6 或 5。默认为 8。
                      
                      'stop' - 停止位 - 可以是 1 或 2。默认为 1。
                      
                      'parity' - 可以是 0、1 或 2。默认是 0。

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


id: dio_truncate
type: function
doc:
<comment>Description:</comment>
  截断文件描述符 fd 为 offset 字节
    
  
  <strong>dio_truncate()</strong> 将文件截断为最多 <strong>$offset</strong>  字节的大小。
  
  如果先前的文件大于此大小，则额外的数据将丢失。如果先前的文件较小，不确定是保持文件不变还是扩展文
  件。在后一种情况下，扩展部分读取为零字节。

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>      由 <strong>dio_open()</strong> 返回的文件描述符。
  <info>int</info>       <strong>$offset</strong>  偏移字节。

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


id: dio_write
type: function
doc:
<comment>Description:</comment>
  截取可选长度的数据写入文件
    
  
  <strong>dio_write()</strong> 从 <strong>$data</strong>  写入至多 <strong>$len</strong> 字节数据到文件 <strong>$fd</strong>。

<comment>Param:</comment>
  <info>resource</info>  <strong>$fd</strong>    由 <strong>dio_open()</strong> 返回的文件描述符。
  <info>string</info>    <strong>$data</strong>  写入的数据。
  <info>int</info>       <strong>$len</strong>   从数据中写入的字节长度。如果没有指定，函数将所有数据写入指定的文件。

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

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


id: dir
type: function
doc:
<comment>Description:</comment>
  返回一个 Directory 类实例
  
  以面向对象的方式访问目录。打开  <strong>$directory</strong> 参数指定的目录。

<comment>Param:</comment>
  <info>string</info>         <strong>$directory</strong>  被打开的目录
  <info>resource|null</info>  <strong>$context</strong>    上下文流（context stream）<info>resource</info>。

<comment>Return:</comment>
  <info>Directory|false</info>  返回 <class>Directory</class> 的实例，出现错误时返回 <info>false</info>。


id: dirname
type: function
doc:
<comment>Description:</comment>
  返回路径中的目录部分
  
  给出一个包含有指向一个文件的全路径的字符串，本函数返回去掉文件名后的目录名，且目录深度为 <strong>$levels</strong>
  级。
  
  <strong>dirname()</strong> 纯粹基于输入字符串操作， 它不会受实际文件系统和类似 "<return>..</return>" 的路径格式影响。
  
  在 Windows 上，<strong>dirname()</strong> 假设当前设置的代码页，因此要查看具有多字节字符路径的正确目录名称，必须设
  置匹配的代码页。如果 <strong>$path</strong> 包含当前代码页无效的字符，则 <strong>dirname()</strong> 的行为是未定义的。
  
  在其它系统上，<strong>dirname()</strong> 假设 <strong>$path</strong> 是以 ASCII 兼容编码进行编码的。否则函数的行为是未定义的。

<comment>Param:</comment>
  <info>string</info>  <strong>$path</strong>    一个路径。
                   
                   在 Windows 中，斜线（<return>/</return>）和反斜线（<return>\</return>）都可以用作目录分隔符。在其它环境下是斜线
                   （<return>/</return>）。
  <info>int</info>     <strong>$levels</strong>  要向上的父目录数量。
                   
                   整型，必须大于 0。

<comment>Return:</comment>
  <info>string</info>  返回 path 的父目录。如果在 <strong>$path</strong> 中没有斜线，则返回一个点（'<return>.</return>'），表示当前目录。否则返回的
          是把 <strong>$path</strong> 中结尾的 <return>/component</return>（最后一个斜线以及后面部分）去掉之后的字符串。
          
          Be careful when using this function in a loop that can reach the top-level directory as
          this can result in an infinite loop.

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


id: disk_free_space
type: function
doc:
<comment>Description:</comment>
  返回目录中的可用空间
  
  给出一个包含有一个目录的字符串，本函数将根据相应的文件系统或磁盘分区返回可用的字节数。

<comment>Param:</comment>
  <info>string</info>  <strong>$directory</strong>  文件系统目录或者磁盘分区。
                      
                      如果指定了文件名而不是文件目录，这个函数的行为将并不统一，会因操作系统和 PHP
                      版本而异。

<comment>Return:</comment>
  <info>float|false</info>  以浮点返回可用的字节数， 或者在失败时返回 <info>false</info>。

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


id: disk_total_space
type: function
doc:
<comment>Description:</comment>
  返回一个目录的磁盘总大小
  
  给出一个包含有一个目录的字符串，本函数将根据相应的文件系统或磁盘分区返回所有的字节数。 【译者注】
  本函数返回的是该目录所在的磁盘分区的总大小，因此在给出同一个磁盘分区的不同目录作为参数所得到的结果
  完全相同。 在 Unix 和 Windows 200x/XP 中都支持将一个磁盘分区加载为一个子目录，这时正确使用本函数就
  很有意义。

<comment>Param:</comment>
  <info>string</info>  <strong>$directory</strong>  文件系统的目录或者磁盘分区。

<comment>Return:</comment>
  <info>float|false</info>  以浮点返回一个目录的磁盘总大小字节数， 或者在失败时返回 <info>false</info>。

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


id: diskfreespace
type: function
doc:
<comment>Description:</comment>
  disk_free_space 的别名
  
  此函数是该函数的别名：<strong>disk_free_space()</strong>。


id: dl
type: function
doc:
<comment>Description:</comment>
  运行时载入一个 PHP 扩展
  
  载入指定参数 <strong>$extension_filename</strong> 的 PHP 扩展。
  
  使用 <strong>extension_loaded()</strong> 来测试指定的扩展是否已经激活。 这既能用于内建的扩展也可以用于动态加载的扩
  展（既可以通过 php.ini 也可以通过 <strong>dl()</strong>）。
  
  此函数仅适用于 CLI 和嵌入式 SAPI，以及从命令行运行时的 CGI SAPI。

<comment>Param:</comment>
  <info>string</info>  <strong>$extension_filename</strong>  此参数仅仅是要加载的扩展的文件名，依赖于你的平台。 比如，sockets（作
                               为共享模块编译，而不是默认的！）在 Unix 平台上称为 sockets.so 而 在
                               Windows 平台上是 php_sockets.dll。
                               
                               扩展加载的目录依赖于你的平台：
                               
                               Windows - 如果没有在 php.ini 里明确设置，扩展默认会从 C:\php5\ 加载。
                               
                               Unix - 如果没有在 php.ini 里明确设置，默认的扩展目录依赖于  PHP 是否
                               通过 <return>--enable-debug</return> 选项构建  PHP 是否以 ZTS （Zend 线程安全）支持构
                               建  当前的内部 <return>ZEND_MODULE_API_NO</return>（Zend 内部模块 API 数字，基本上是主
                               要模块修改时的日期）  考虑到上述，目录默认为 <return>\<install-dir&gt;/lib/php/extensions/ \<debug-or-not&gt;-\<zts-or-not&gt;-ZEND_MODULE_API_NO</return>，例如 /usr/local/php/lib/php/extensions/debug-non-zts-20010901 或 /usr/local/php/lib/php/extensions/no-debug-zts-20010901。
                               
                               PHP 是否通过 <return>--enable-debug</return> 选项构建
                               
                               PHP 是否以 ZTS （Zend 线程安全）支持构建
                               
                               当前的内部 <return>ZEND_MODULE_API_NO</return>（Zend 内部模块 API 数字，基本上是主要模
                               块修改时的日期）

<comment>Return:</comment>
  <info>bool</info>  成功时返回 <info>true</info>， 或者在失败时返回 <info>false</info>。 如果加载模块的功能是无效或者禁用的（可以关闭
        enable_dl 设置）将导致一个 <info>E_ERROR</info> 并中断执行。 如果因为指定的库无法加载而导致 <strong>dl()</strong> 失败，除
        了返回 <info>false</info>，还会产生一个 <info>E_WARNING</info> 的消息。

<comment>See Also:</comment>
   * 扩展加载指令
   * <strong>extension_loaded()</strong>


id: dngettext
type: function
doc:
<comment>Description:</comment>
  Plural version of dgettext
  
  The <strong>dngettext()</strong> function allows you to override the current <strong>$domain</strong> for a single plural message
  lookup.

<comment>Param:</comment>
  <info>string</info>  <strong>$domain</strong>    The domain
  <info>string</info>  <strong>$singular</strong>  
  <info>string</info>  <strong>$plural</strong>    
  <info>int</info>     <strong>$count</strong>     

<comment>Return:</comment>
  <info>string</info>  A <info>string</info> on success.

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


id: dns_get_record
type: function
doc:
<comment>Description:</comment>
  获取指定主机名的 DNS 纪录
  
  获取指定 <strong>$hostname</strong> 的 DNS 纪录。

<comment>Param:</comment>
  <info>string</info>  <strong>$hostname</strong>                    <strong>$hostname</strong> 应该是有效的 DNS 主机名，比如“<return>www.example.com</return>”。可
                                       以使用 <return>in-addr.arpa</return> 表示法生成反向查找，但大多数情况下更适合
                                       用 <strong>gethostbyaddr()</strong>。
                                       
                                       根据 DNS 标准，邮件地址以 <return>user.host</return> 格式给出（例如：
                                       <return>hostmaster.example.com</return> 而不是 <return>hostmaster@example.com</return>），请务
                                       必检查此值并在必要时进行修改，然后将其与 <strong>mail()</strong> 等函数一起使
                                       用。
  <info>int</info>     <strong>$type</strong>                        默认情况下，<strong>dns_get_record()</strong> 将会搜索跟 <strong>$hostname</strong> 关联的任何
                                       资源记录。要限制查询，可以指定可选的 <strong>$type</strong> 选项。可以是以下之
                                       一：<info>DNS_A</info>、<info>DNS_CNAME</info>、<info>DNS_HINFO</info>, <info>DNS_CAA</info>、<info>DNS_MX</info>、<info>DNS_NS</info>、
                                       <info>DNS_PTR</info>、<info>DNS_SOA</info>、<info>DNS_TXT</info>、<info>DNS_AAAA</info>、<info>DNS_SRV</info>、<info>DNS_NAPTR</info>、
                                       <info>DNS_A6</info>、<info>DNS_ALL</info> 或 <info>DNS_ANY</info>。
                                       
                                       因为不同平台间的 libresolv 存在性能差异，<info>DNS_ANY</info> 不会始终返回
                                       每条记录，较慢的 <info>DNS_ALL</info> 会更可靠的收集所有记录。
                                       
                                       Windows：不支持 <info>DNS_CAA</info>。没有实现对 <info>DNS_A6</info> 的支持。
  <info>array</info>   <strong>$authoritative_name_servers</strong>  引用传递，如果给出，将会填充权威名称服务器的资源记录。
  <info>array</info>   <strong>$additional_records</strong>          引用传递，如果给出，将会填充任何附加记录。
  <info>bool</info>    <strong>$raw</strong>                         <strong>$type</strong> 将解释为原始 DNS 类型 ID（不能使用 <return>DNS_*</return> 常量）。返回值
                                       包含 <return>data</return> 键，需要手动解析。

<comment>Return:</comment>
  <info>array|false</info>  此函数返回由关联数组组成的数组， 或者在失败时返回 <info>false</info>。每个关联数组至少包含以下键：
               基础 DNS 属性属性含义host The record in the DNS namespace to which the rest of the
               associated data refers. class<strong>dns_get_record()</strong> 仅返回内部类记录，因此参数将始终返回
               <return>IN</return>。 type 包含记录类型的字符串。其他属性也包含在结果数组中，具体取决于 type 的值。查
               看下表。 ttl<return>"Time To Live"</return> remaining for this record. This will not equal the
               record's original ttl, but will rather equal the original ttl minus whatever length
               of time has passed since the authoritative name server was queried.
               
               根据“type”的不同，出现的关联数组的其它键类型额外列<return>A</return><return>ip</return>：点分十进制格式的 IPv4。
               <return>MX</return><return>pri</return>：邮件交换器的有优先级。较低的数字有较高的优先级。<return>target</return>：邮件服务器的 FQDN（全
               称域名）。参阅 <strong>dns_get_mx()</strong>。 <return>CNAME</return><return>target</return>: FQDN of location in DNS namespace to which
               the record is aliased. <return>NS</return><return>target</return>: FQDN of the name server which is authoritative for
               this hostname. <return>PTR</return><return>target</return>: Location within the DNS namespace to which this record
               points. <return>TXT</return><return>txt</return>：跟此记录关联的任意字符串数据。 <return>HINFO</return><return>cpu</return>: IANA number designating the
               CPU of the machine referenced by this record. <return>os</return>: IANA number designating the
               Operating System on the machine referenced by this record. See IANA's <return>Operating
               System Names</return> for the meaning of these values. <return>CAA</return><return>flags</return>：单字节位字段；目前仅定义了第
               0 位，意味着“critical”；其他位保留且应该忽略。<return>tag</return>：CAA 标记名（字母数字的 ASCII 字符
               串）。<return>value</return>：CAA 标记值（二进制字符串，可以使用子格式）。更多信息参阅：RFC 6844。
               <return>SOA</return><return>mname</return>: FQDN of the machine from which the resource records originated. <return>rname</return>:
               Email address of the administrative contact for this domain. <return>serial</return>: Serial # of this
               revision of the requested domain. <return>refresh</return>: Refresh interval (seconds) secondary name
               servers should use when updating remote copies of this domain. <return>retry</return>: Length of time
               (seconds) to wait after a failed refresh before making a second attempt. <return>expire</return>:
               Maximum length of time (seconds) a secondary DNS server should retain remote copies
               of the zone data without a successful refresh before discarding. <return>minimum-ttl</return>: Minimum
               length of time (seconds) a client can continue to use a DNS resolution before it
               should request a new resolution from the server.  Can be overridden by individual
               resource records. <return>AAAA</return><return>ipv6</return>：IPv6 地址 <return>A6</return><return>masklen</return>: Length (in bits) to inherit from the
               target specified by <strong>$chain</strong>. <return>ipv6</return>: Address for this specific record to merge with
               <strong>$chain</strong>. <return>chain</return>: Parent record to merge with <strong>$ipv6</strong> data. <return>SRV</return><return>pri</return>: (Priority) lowest
               priorities should be used first. <return>weight</return>: Ranking to weight which of commonly
               prioritized <strong>$targets</strong> should be chosen at random. <return>target</return> and <return>port</return>: hostname and port
               where the requested service can be found. For additional information see: RFC 2782
               <return>NAPTR</return><return>order</return> and <return>pref</return>: Equivalent to <strong>$pri</strong> and <strong>$weight</strong> above. <return>flags</return>, <return>services</return>, <return>regex</return>,
               and <return>replacement</return>: Parameters as defined by RFC 2915.

<comment>See Also:</comment>
   * <strong>dns_get_mx()</strong>
   * <strong>dns_check_record()</strong>


id: dom_import_simplexml
type: function
doc:
<comment>Description:</comment>
  Gets a DOMElement object from a
     SimpleXMLElement object
    
  
  This function takes the node <strong>$node</strong> of class SimpleXML and makes it into a <class>DOMElement</class> node. This
  new object can then be used as a native <class>DOMElement</class> node.

<comment>Param:</comment>
  <info>object</info>  <strong>$node</strong>  The <class>SimpleXMLElement</class> node.

<comment>Return:</comment>
  <info>DOMElement</info>  The <class>DOMElement</class> node added.

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


id: dotnet
type: class
doc:
<comment>Description:</comment>
  The dotnet class allows you to instantiate a class from a .Net assembly and call its methods and
  access its properties, if the class and the methods and properties are visible to COM.
  
  Neither instantiating static classes nor calling static methods is supported. Instantiating
  generic classes such as <return>System.Collections.Generic.List</return> is not supported either.
  
  Some .Net classes do not implement IDispatch, so while they can be instantiated, calling methods
  or accessing properties on these classes is not supported.
  
  You need to install the .Net runtime on your web server to take advantage of this feature.
  
  Prior to PHP 8.0.0, .Net framework 4.0 and later were not supported by the <class>dotnet</class> class. If
  assemblies had been registered with regasm.exe, the classes could be instantiated as <class>com</class> objects,
  though. As of PHP 8.0.0, .Net framework 4.0 and later are supported via the php.ini directive
  com.dotnet_version.


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

<comment>Param:</comment>
  <info>string</info>  <strong>$assembly_name</strong>  Specifies which assembly should be loaded.
  <info>string</info>  <strong>$datatype_name</strong>  Specifices which class in that assembly to instantiate.
  <info>int</info>     <strong>$codepage</strong>       Codepage to use for unicode string transformations; see the  class for
                          more details on code pages.


id: each
type: function
doc:
<comment>Description:</comment>
  返回数组中当前的键／值对并将数组指针向前移动一步
  
  返回数组中当前的键／值对并将数组指针向前移动一步
  
  在执行 <strong>each()</strong> 之后，数组指针将停留在数组中的下一个单元或者当碰到数组结尾时停留在最后一个单元。如果
  要再用 each 遍历数组，必须使用 <strong>reset()</strong>。

<comment>Param:</comment>
  <info>array|object</info>  <strong>$array</strong>  输入的数组。

<comment>Return:</comment>
  <info>array</info>  返回 <strong>$array</strong> 数组中当前指针位置的键／值对并向前移动数组指针。键值对被返回为四个单元的数组，
         键名为<return>0</return>，<return>1</return>，<return>key</return>和 <return>value</return>。单元 <return>0</return> 和 <return>key</return> 包含有数组单元的键名，<return>1</return> 和 <return>value</return> 包含有数据。
         
         如果内部指针越过了数组的末端，则 <strong>each()</strong> 返回 <info>false</info>。

<comment>See Also:</comment>
   * <strong>key()</strong>
   * <strong>list()</strong>
   * <strong>current()</strong>
   * <strong>reset()</strong>
   * <strong>next()</strong>
   * <strong>prev()</strong>
   * foreach
   * 遍历对象


id: easter_date
type: function
doc:
<comment>Description:</comment>
  得到指定年份的复活节午夜时的 Unix 时间戳
  
  返回指定年份的复活节午夜时的 Unix 时间戳。
  
  复活节的日期是由尼西亚议会在公元 325 年确定的为每年春分月圆后的第一个星期日。春分一般是在 3 月 21
  日，这就简化为只要计算满月的日期和紧挨的星期日的日期。这里所用的算法是在 532 年由 Dionysius
  Exiguus 引入。在 1753 年以前用儒略历计算，一个简单的 19 年周期用于追踪月相。在 1753 年之后公历（由
  Clavius 和 Lilius 设计，1582 年 10 月由教皇 Gregory 十三世引入，并于 1752 年 9 月进入英国及其当时
  的殖民地）添加了两个校正因子以使周期更准确。

<comment>Param:</comment>
  <info>int|null</info>  <strong>$year</strong>  对于 32 位系统，年份必须是 1970 至 2037 之间的数字，对于 64 位系统，年份必须是
                   1970 到 2,000,000,000 之间的数字。如果省略或者为 <info>null</info>，则根据本地时间默认为当前年
                   份。
  <info>int</info>       <strong>$mode</strong>  当设置为 <info>CAL_EASTER_ALWAYS_JULIAN</info> 时，允许基于儒略历计算复活节时间。参见
                   calendar 常量。

<comment>Return:</comment>
  <info>int</info>  复活节日期的 Unix 时间戳。

<comment>See Also:</comment>
   * <strong>easter_days()</strong> 用于计算 1970 年之前或 2037 年之后的复活节。
    


id: easter_days
type: function
doc:
<comment>Description:</comment>
  得到指定年份的 3 月 21 日到复活节之间的天数
  
  返回指定年份的 3 月 21 日到复活节之间的天数，如果没有指定年份，默认是当年。
  
  此函数可以用来代替 <strong>easter_date()</strong> 来计算超出 Unix  时间戳范围（比如 1970 年以前或 2037 年以后）的年
  份的复活节日期。
  
  复活节的日期是由尼西亚议会在公元 325 年确定的为每年春分月圆后的第一个星期日。春分一般是在 3 月 21
  日，这就简化为只要计算满月的日期和紧挨的星期日的日期。这里所用的算法是在 532 年由 Dionysius
  Exiguus 引入。在 1753 年以前用儒略历计算，一个简单的 19 年周期用于追踪月相。在 1753 年之后公历（由
  Clavius 和 Lilius 设计，1582 年 10 月由教皇 Gregory 十三世引入，并于 1752 年 9 月进入英国及其当时
  的殖民地）添加了两个校正因子以使周期更准确。

<comment>Param:</comment>
  <info>int|null</info>  <strong>$year</strong>  年份为正整数。如果省略或为 <info>null</info>, 默认为本地时间的当前年份。
  <info>int</info>       <strong>$mode</strong>  当设置为 <info>CAL_EASTER_ROMAN</info> 时，允许用公历来计算 1582 年至 1752 年之间的复活节日
                   期。更多有效常量参考 calendar 常量。

<comment>Return:</comment>
  <info>int</info>  根据指定参数 <strong>$year</strong> 而返回 3 月 21 日至复活节的天数。

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


id: echo
type: function
doc:
<comment>Description:</comment>
  输出一个或多个字符串
  
  输出一个或多个表达式，没有额外的换行符或者空格。
  
  <return>echo</return> 不是函数，而是语言结构。它的参数是表达式列表，跟在 <return>echo</return> 关键字后面，用逗号分隔，不用括号分
  隔。与其它的返回结构不同，<return>echo</return> 没有返回值，因为不能在表达式的上下文中使用。
  
  <return>echo</return> 也有快捷语法，可以在开始标记后直接跟等号。即使禁用了 short_open_tag 配置，此语法也可用。
  foo.
  ]]>
  
  跟 <strong>print()</strong> 的主要区别是 <return>echo</return> 接受多个参数且没有返回值。

<comment>Param:</comment>
  <info>string</info>  <strong>$expressions</strong>  要输出的一个或多个字符串表达式，用逗号分隔。即使启用 <return>strict_types</return> 指令，非字
                        符串值也会强制转换为字符串。

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

<comment>See Also:</comment>
   * <strong>print()</strong>
   * <strong>printf()</strong>
   * <strong>flush()</strong>
   * 指定文本字符串的方式


id: eio_busy
type: function
doc:
<comment>Description:</comment>
  Artificially increase load. Could be useful in tests,
    benchmarking
  
  <strong>eio_busy()</strong> artificially increases load taking <strong>$delay</strong> seconds to execute. May be used for
  debugging, or benchmarking.

<comment>Param:</comment>
  <info>int</info>       <strong>$delay</strong>     Delay in seconds
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  This callback is called when all the group requests are done.
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_busy()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_cancel
type: function
doc:
<comment>Description:</comment>
  Cancels a request
  
  <strong>eio_cancel()</strong> cancels a request specified by <strong>$req</strong>

<comment>Param:</comment>
  <info>resource</info>  <strong>$req</strong>       The request resource
  <info></info>          <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info></info>          <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info></info>          <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info>resource</info>  <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info></info>          <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

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

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


id: eio_chmod
type: function
doc:
<comment>Description:</comment>
  Change file/directory permissions
  
  <strong>eio_chmod()</strong> changes file, or directory permissions. The new permissions are specified by <strong>$mode</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Path to the target file or directory 避免相对路径。
                       
                       避免相对路径。
  <info>int</info>       <strong>$mode</strong>      The new permissions. E.g. <info>0644</info>.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_chmod()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_chown
type: function
doc:
<comment>Description:</comment>
  Change file/directory permissions
  
  Changes file, or directory permissions.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Path to file or directory. 避免相对路径。
                       
                       避免相对路径。
  <info>int</info>       <strong>$uid</strong>       User ID. Is ignored when equal to -1.
  <info>int</info>       <strong>$gid</strong>       Group ID. Is ignored when equal to -1.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_chown()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_close
type: function
doc:
<comment>Description:</comment>
  Close file
  
  <strong>eio_close()</strong> closes file specified by <strong>$fd</strong>.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_close()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_custom
type: function
doc:
<comment>Description:</comment>
  Execute custom request like any other eio_* call
  
  <strong>eio_custom()</strong> executes custom function specified by <strong>$execute</strong> processing it just like any other
  eio_* call.

<comment>Param:</comment>
  <info>callable</info>  <strong>$execute</strong>   Specifies the request function that should match the following prototype:
                         <strong>$callback</strong> is event completion callback that should match the following
                       prototype:
                        <strong>$data</strong> is the data passed to <strong>$execute</strong> via <strong>$data</strong> argument without
                       modifications <strong>$result</strong> value returned by <strong>$execute</strong>
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_custom()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_dup2
type: function
doc:
<comment>Description:</comment>
  Duplicate a file descriptor
  
  <strong>eio_dup2()</strong> duplicates file descriptor.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Source stream, Socket resource, or numeric file descriptor
  <info>mixed</info>     <strong>$fd2</strong>       Target stream, Socket resource, or numeric file descriptor
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_dup2()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_event_loop
type: function
doc:
<comment>Description:</comment>
  Polls libeio until all requests proceeded
  
  <strong>eio_event_loop()</strong> polls libeio until all requests proceeded.

<comment>Return:</comment>
  <info>bool</info>  <strong>eio_event_loop()</strong> returns <info>true</info> on success, 或者在失败时返回 <info>false</info>.

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


id: eio_fallocate
type: function
doc:
<comment>Description:</comment>
  Allows the caller to directly manipulate the allocated disk
    space for a file
  
  <strong>eio_fallocate()</strong> allows the caller to directly manipulate the allocated disk space for the file
  specified by <strong>$fd</strong> file descriptor for the byte range starting at <strong>$offset</strong> and continuing for <strong>$length</strong>
  bytes.
  
  <info>EIO_O_CREAT</info> should be logically OR'd with <info>EIO_O_WRONLY</info>, or <info>EIO_O_RDWR</info>

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor, e.g. returned by
                       <strong>eio_open()</strong>.
  <info>int</info>       <strong>$mode</strong>      Currently only one flag is supported for mode: <info>EIO_FALLOC_FL_KEEP_SIZE</info> (the
                       same as POSIX constant <info>FALLOC_FL_KEEP_SIZE</info>).
  <info>int</info>       <strong>$offset</strong>    Specifies start of the byte range.
  <info>int</info>       <strong>$length</strong>    Specifies length the byte range.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_fallocate()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_fchmod
type: function
doc:
<comment>Description:</comment>
  Change file permissions
  
  <strong>eio_fchmod()</strong> changes permissions for the file specified by <strong>$fd</strong> file descriptor.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor, e.g. returned by
                       <strong>eio_open()</strong>.
  <info>int</info>       <strong>$mode</strong>      The new permissions. E.g. 0644.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_fchmod()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_fchown
type: function
doc:
<comment>Description:</comment>
  Change file ownership
  
  <strong>eio_fchown()</strong> changes ownership of the file specified by <strong>$fd</strong> file descriptor.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor.
  <info>int</info>       <strong>$uid</strong>       User ID. Is ignored when equal to -1.
  <info>int</info>       <strong>$gid</strong>       Group ID. Is ignored when equal to -1.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_chmod()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_fdatasync
type: function
doc:
<comment>Description:</comment>
  Synchronize a file's in-core state with storage device
  
  <strong>eio_fdatasync()</strong> synchronizes a file's in-core state with storage device.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor, e.g. returned by
                       <strong>eio_open()</strong>.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_fdatasync()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_fstat
type: function
doc:
<comment>Description:</comment>
  Get file status
  
  <strong>eio_fstat()</strong> returns file status information in <strong>$result</strong> argument of <strong>$callback</strong>

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_busy()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>eio_lstat()</strong>
   * <strong>eio_stat()</strong>


id: eio_fstatvfs
type: function
doc:
<comment>Description:</comment>
  Get file system statistics
  
  <strong>eio_fstatvfs()</strong> returns file system statistics in <strong>$result</strong> of <strong>$callback</strong>.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        A file descriptor of a file within the mounted file system.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_fstatvfs()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_fsync
type: function
doc:
<comment>Description:</comment>
  Synchronize a file's in-core state with storage device
  
  Synchronize a file's in-core state with storage device

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_fsync()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_ftruncate
type: function
doc:
<comment>Description:</comment>
  Truncate a file
  
  <strong>eio_ftruncate()</strong> causes a regular file referenced by <strong>$fd</strong> file descriptor to be truncated to
  precisely <strong>$length</strong> bytes.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor.
  <info>int</info>       <strong>$offset</strong>    Offset from beginning of the file
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_ftruncate()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_futime
type: function
doc:
<comment>Description:</comment>
  Change file last access and modification times
  
  <strong>eio_futime()</strong> changes file last access and modification times.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor, e.g. returned by
                       <strong>eio_open()</strong>
  <info>float</info>     <strong>$atime</strong>     Access time
  <info>float</info>     <strong>$mtime</strong>     Modification time
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_futime()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_get_event_stream
type: function
doc:
<comment>Description:</comment>
  Get stream representing a variable used in internal communications with libeio
  
  <strong>eio_get_event_stream()</strong> acquires stream representing a variable used in internal communications
  with libeio. Could be used to bind with some event loop provided by other PECL extension, for
  example libevent.

<comment>Return:</comment>
  <info>mixed</info>  <strong>eio_get_event_stream()</strong> returns stream on success; otherwise, <info>null</info>


id: eio_get_last_error
type: function
doc:
<comment>Description:</comment>
  Returns string describing the last error associated with a request resource
  
  <strong>eio_get_last_error()</strong> returns string describing the last error associated with <strong>$req</strong>.

<comment>Param:</comment>
  <info>resource</info>  <strong>$req</strong>  The request resource

<comment>Return:</comment>
  <info>string</info>  <strong>eio_get_last_error()</strong> returns string describing the last error associated with the request
          resource specified by <strong>$req</strong>.
          
          此函数是实验性的。此函数的表象，包括名称及其相关文档都可能在未来的
          PHP 发布版本中未通知就被修改。使用本函数风险自担。


id: eio_grp
type: function
doc:
<comment>Description:</comment>
  Creates a request group
  
  <strong>eio_grp()</strong> creates a request group.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>string</info>    <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>string</info>    <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_grp()</strong> returns request group resource on success, 或者在失败时返回 <info>false</info>.

<comment>See Also:</comment>
   * <strong>eio_grp_cancel()</strong>
   * <strong>eio_grp_add()</strong>


id: eio_grp_add
type: function
doc:
<comment>Description:</comment>
  Adds a request to the request group
  
  <strong>eio_grp_add()</strong> adds a request to the request group.

<comment>Param:</comment>
  <info>resource</info>  <strong>$grp</strong>  The request group resource returned by <strong>eio_grp()</strong>
  <info>resource</info>  <strong>$req</strong>  The request resource

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

<comment>See Also:</comment>
   * <strong>eio_grp()</strong>
   * <strong>eio_grp_cancel()</strong>
   * <strong>eio_grp_limit()</strong>


id: eio_grp_cancel
type: function
doc:
<comment>Description:</comment>
  Cancels a request group
  
  <strong>eio_grp_cancel()</strong> cancels a group request specified by <strong>$grp</strong> request group resource.

<comment>Param:</comment>
  <info>resource</info>  <strong>$grp</strong>  The request group resource returned by <strong>eio_grp()</strong>.

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

<comment>See Also:</comment>
   * <strong>eio_grp()</strong>
   * <strong>eio_grp_add()</strong>


id: eio_grp_limit
type: function
doc:
<comment>Description:</comment>
  Set group limit
  
  Limit number of requests in the request group.

<comment>Param:</comment>
  <info>resource</info>  <strong>$grp</strong>    The request group resource.
  <info>int</info>       <strong>$limit</strong>  Number of requests in the group.

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

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


id: eio_init
type: function
doc:
<comment>Description:</comment>
  (Re-)initialize Eio
  
  <strong>eio_init()</strong> (re-)initializes Eio. It allocates memory for internal structures of libeio and Eio
  itself. You may call <strong>eio_init()</strong> before using Eio functions. Otherwise it will be called internally
  first time you invoke an Eio function in a process.
  
  This function was removed in version 3.0.0RC1 of the eio extension for PHP version 8 and higher.

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


id: eio_link
type: function
doc:
<comment>Description:</comment>
  Create a hardlink for file
  
  <strong>eio_link()</strong> creates a hardlink <strong>$new_path</strong> for a file specified by <strong>$path</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Source file path.
  <info>string</info>    <strong>$new_path</strong>  Target file path.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

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

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


id: eio_lstat
type: function
doc:
<comment>Description:</comment>
  Get file status
  
  <strong>eio_lstat()</strong> returns file status information in <strong>$result</strong> argument of <strong>$callback</strong>

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      The file path
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_lstat()</strong> returns request resource on success or <info>false</info> on error.

<comment>See Also:</comment>
   * <strong>eio_stat()</strong>
   * <strong>eio_fstat()</strong>


id: eio_mkdir
type: function
doc:
<comment>Description:</comment>
  Create directory
  
  <strong>eio_mkdir()</strong> creates directory with specified access <strong>$mode</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Path for the new directory.
  <info>int</info>       <strong>$mode</strong>      Access mode, e.g. 0755
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_mkdir()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_mknod
type: function
doc:
<comment>Description:</comment>
  Create a special or ordinary file
  
  <strong>eio_mknod()</strong> creates ordinary or special(often) file.
  
  本函数还未编写文档，仅有参数列表。

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Path for the new node(file).
  <info>int</info>       <strong>$mode</strong>      Specifies both the permissions to use and the type of node to be created. It
                       should be a combination (using bitwise OR) of one of the file types listed
                       below and the permissions for the new node(e.g. 0640).
                        Possible file types are: <info>EIO_S_IFREG</info>(regular file), <info>EIO_S_IFCHR</info>(character
                       file), <info>EIO_S_IFBLK</info>(block special file), <info>EIO_S_IFIFO</info>(FIFO - named pipe) and
                       <info>EIO_S_IFSOCK</info>(UNIX domain socket).
                        To specify permissions EIO_S_I* constants could be used.
  <info>int</info>       <strong>$dev</strong>       If  the  file type is <info>EIO_S_IFCHR</info> or <info>EIO_S_IFBLK</info> then dev specifies the major
                       and minor numbers of the newly created device special file. Otherwise <strong>$dev</strong>
                       ignored. See mknod(2) man page for details.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_mknod()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_nop
type: function
doc:
<comment>Description:</comment>
  Does nothing, except go through the whole request cycle
  
  <strong>eio_nop()</strong> does nothing, except go through the whole request cycle. Could be useful in debugging.

<comment>Param:</comment>
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_nop()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_npending
type: function
doc:
<comment>Description:</comment>
  Returns number of finished, but unhandled requests
  
  <strong>eio_npending()</strong> returns number of finished, but unhandled requests

<comment>Return:</comment>
  <info>int</info>  <strong>eio_npending()</strong> returns number of finished, but unhandled requests.

<comment>See Also:</comment>
   * <strong>eio_nreqs()</strong>
   * <strong>eio_nready()</strong>
   * <strong>eio_nthreads()</strong>


id: eio_nready
type: function
doc:
<comment>Description:</comment>
  Returns number of not-yet handled requests

<comment>Return:</comment>
  <info>int</info>  <strong>eio_nready()</strong> returns number of not-yet handled requests

<comment>See Also:</comment>
   * <strong>eio_nreqs()</strong>
   * <strong>eio_nready()</strong>
   * <strong>eio_nthreads()</strong>


id: eio_nreqs
type: function
doc:
<comment>Description:</comment>
  Returns number of requests to be processed
  
  <strong>eio_nreqs()</strong> could be called in a custom loop calling <strong>eio_poll()</strong>.

<comment>Return:</comment>
  <info>int</info>  <strong>eio_nreqs()</strong> returns number of requests to be processed.

<comment>See Also:</comment>
   * <strong>eio_poll()</strong>
   * <strong>eio_nready()</strong>


id: eio_nthreads
type: function
doc:
<comment>Description:</comment>
  Returns number of threads currently in use

<comment>Return:</comment>
  <info>int</info>  <strong>eio_nthreads()</strong> returns number of threads currently in use.

<comment>See Also:</comment>
   * <strong>eio_npending()</strong>
   * <strong>eio_nready()</strong>
   * <strong>eio_nreqs()</strong>
   * <strong>eio_set_max_idle()</strong>
   * <strong>eio_set_max_parallel()</strong>
   * <strong>eio_set_min_parallel()</strong>


id: eio_open
type: function
doc:
<comment>Description:</comment>
  Opens a file
  
  <strong>eio_open()</strong> opens file specified by <strong>$path</strong> in access mode <strong>$mode</strong> with

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Path of the file to be opened.  In some SAPIs(e.g. PHP-FPM) it could fail, if
                       you don't specify full path.
                       
                       In some SAPIs(e.g. PHP-FPM) it could fail, if you don't specify full path.
  <info>int</info>       <strong>$flags</strong>     One of EIO_O_* constants, or their combinations. EIO_O_* constants have the
                       same meaning, as their corresponding O_* counterparts defined in <return>fnctl.h</return> C
                       header file. Default is <info>EIO_O_RDWR</info>.
  <info>int</info>       <strong>$mode</strong>      One of EIO_S_I* constants, or their combination (via bitwise OR operator).
                       The constants have the same meaning as their S_I* counterparts defined in
                       sys/stat.h C header file. Required, if a file is created. Otherwise ignored.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_open()</strong> returns file descriptor in <strong>$result</strong> argument of <strong>$callback</strong> on success;
            otherwise, <strong>$result</strong> is equal to <info>-1</info>.

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


id: eio_poll
type: function
doc:
<comment>Description:</comment>
  Can be to be called whenever there are pending requests that need finishing
  
  <strong>eio_poll()</strong> can be used to implement special event loop. For this <strong>eio_nreqs()</strong> could be used to test
  if there are unprocessed requests.
  
  Applicable only when implementing userspace event loop.

<comment>Return:</comment>
  <info>int</info>  If any request invocation returns a non-zero value, returns that value. Otherwise, it returns
       <info>0</info>.

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


id: eio_read
type: function
doc:
<comment>Description:</comment>
  Read from a file descriptor at given offset
  
  <strong>eio_read()</strong> reads up to <strong>$length</strong> bytes from <strong>$fd</strong> file descriptor at <strong>$offset</strong>. The read bytes are
  stored in <strong>$result</strong> argument of <strong>$callback</strong>.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor
  <info>int</info>       <strong>$length</strong>    Maximum number of bytes to read.
  <info>int</info>       <strong>$offset</strong>    Offset within the file.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_read()</strong> stores read bytes in <strong>$result</strong> argument of <strong>$callback</strong> function.

<comment>See Also:</comment>
   * <strong>eio_open()</strong>
   * <strong>eio_write()</strong>
   * <strong>eio_close()</strong>
   * <strong>eio_event_loop()</strong>


id: eio_readahead
type: function
doc:
<comment>Description:</comment>
  Perform file readahead into page cache
  
  <strong>eio_readahead()</strong> populates the page cache with data from a file so that subsequent reads from that
  file will not block on disk I/O. See <return>READAHEAD(2)</return> man page for details.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor
  <info>int</info>       <strong>$offset</strong>    Starting point from which data is to be read.
  <info>int</info>       <strong>$length</strong>    Number of bytes to be read.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_readahead()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_readdir
type: function
doc:
<comment>Description:</comment>
  Reads through a whole directory
  
  Reads through a whole directory(via the <return>opendir</return>, <return>readdir</return> and <return>closedir</return> system calls) and returns
  either the names or an array in <strong>$result</strong> argument of <strong>$callback</strong> function, depending on the <strong>$flags</strong>
  argument.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Directory path.
  <info>int</info>       <strong>$flags</strong>     Combination of EIO_READDIR_* constants.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>string</info>    <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>string</info>    <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_readdir()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.  Sets <strong>$result</strong>
            argument of <strong>$callback</strong> function according to <strong>$flags</strong>:
            
            <info>EIO_READDIR_DENTS</info> (<info>int</info>) <strong>eio_readdir()</strong> flag. If specified, the result argument of the
            callback becomes an array with the following keys: <return>'names'</return> - array of directory names
            <return>'dents'</return> - array of <return>struct eio_dirent</return>-like arrays having the following keys each: <return>'name'</return>
            - the directory name; <return>'type'</return> - one of EIO_DT_* constants; <return>'inode'</return> - the inode number, if
            available, otherwise unspecified; <info>EIO_READDIR_DIRS_FIRST</info> (<info>int</info>)  When this flag is
            specified, the names will be returned in an order where likely directories come first,
            in optimal stat order. <info>EIO_READDIR_STAT_ORDER</info> (<info>int</info>)  When this flag is specified, then
            the names will be returned in an order suitable for <return>stat</return>'ing each one. When planning to
            <strong>stat()</strong> all files in the given directory, the returned order will likely be fastest.
            <info>EIO_READDIR_FOUND_UNKNOWN</info> (<info>int</info>)
             
            
            <strong>eio_readdir()</strong> flag. If specified, the result argument of the callback becomes an array
            with the following keys: <return>'names'</return> - array of directory names <return>'dents'</return> - array of <return>struct
            eio_dirent</return>-like arrays having the following keys each: <return>'name'</return> - the directory name;
            <return>'type'</return> - one of EIO_DT_* constants; <return>'inode'</return> - the inode number, if available, otherwise
            unspecified;
            
            When this flag is specified, the names will be returned in an order where likely
            directories come first, in optimal stat order.
            
            When this flag is specified, then the names will be returned in an order suitable for
            <return>stat</return>'ing each one. When planning to <strong>stat()</strong> all files in the given directory, the
            returned order will likely be fastest.
            
            Node types: <info>EIO_DT_UNKNOWN</info> (<info>int</info>)  Unknown node type(very common). Further <strong>stat()</strong> needed.
            <info>EIO_DT_FIFO</info> (<info>int</info>)  FIFO node type <info>EIO_DT_CHR</info> (<info>int</info>)  Node type <info>EIO_DT_MPC</info> (<info>int</info>)
            Multiplexed char device (v7+coherent) node type <info>EIO_DT_DIR</info> (<info>int</info>)  Directory node type
            <info>EIO_DT_NAM</info> (<info>int</info>)  Xenix special named file node type <info>EIO_DT_BLK</info> (<info>int</info>)  Node type
            <info>EIO_DT_MPB</info> (<info>int</info>)  Multiplexed block device (v7+coherent) <info>EIO_DT_REG</info> (<info>int</info>)  Node type
            <info>EIO_DT_NWK</info> (<info>int</info>)  <info>EIO_DT_CMP</info> (<info>int</info>)  HP-UX network special node type <info>EIO_DT_LNK</info> (<info>int</info>)
            Link node type <info>EIO_DT_SOCK</info> (<info>int</info>)  Socket node type <info>EIO_DT_DOOR</info> (<info>int</info>)  Solaris door node
            type <info>EIO_DT_WHT</info> (<info>int</info>)  Node type <info>EIO_DT_MAX</info> (<info>int</info>)  Highest node type value
            
            Unknown node type(very common). Further <strong>stat()</strong> needed.
            
            FIFO node type
            
            Node type
            
            Multiplexed char device (v7+coherent) node type
            
            Directory node type
            
            Xenix special named file node type
            
            Node type
            
            Multiplexed block device (v7+coherent)
            
            Node type
            
            HP-UX network special node type
            
            Link node type
            
            Socket node type
            
            Solaris door node type
            
            Node type
            
            Highest node type value


id: eio_readlink
type: function
doc:
<comment>Description:</comment>
  Read value of a symbolic link

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Source symbolic link path
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_readlink()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_realpath
type: function
doc:
<comment>Description:</comment>
  Get the canonicalized absolute pathname
  
  <strong>eio_realpath()</strong> returns the canonicalized absolute pathname in <strong>$result</strong> argument of <strong>$callback</strong>
  function.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Short pathname
  <info>int</info>       <strong>$pri</strong>       
  <info>callable</info>  <strong>$callback</strong>  
  <info>string</info>    <strong>$data</strong>      

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


id: eio_rename
type: function
doc:
<comment>Description:</comment>
  Change the name or location of a file
  
  <strong>eio_rename()</strong> renames or moves a file to new location.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Source path
  <info>string</info>    <strong>$new_path</strong>  Target path
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_rename()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_rmdir
type: function
doc:
<comment>Description:</comment>
  Remove a directory
  
  <strong>eio_rmdir()</strong> removes a directory.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Directory path
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_rmdir()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_seek
type: function
doc:
<comment>Description:</comment>
  Repositions the offset of the open file associated with the fd argument to the argument offset
  according to the directive whence
  
  <strong>eio_seek()</strong> repositions the offset of the open file associated with  stream, Socket resource, or
  file descriptor specified by <strong>$fd</strong> to the argument <strong>$offset</strong> according to the directive <strong>$whence</strong> as
  follows: <info>EIO_SEEK_SET</info> - Set position equal to <strong>$offset</strong> bytes.<info>EIO_SEEK_CUR</info> - Set position to current
  location plus <strong>$offset</strong>.<info>EIO_SEEK_END</info> - Set position to end-of-file plus <strong>$offset</strong>.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor
  <info>int</info>       <strong>$offset</strong>    Starting point from which data is to be read.
  <info></info>          <strong>$length</strong>    Number of bytes to be read.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_seek()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_sendfile
type: function
doc:
<comment>Description:</comment>
  Transfer data between file descriptors
  
  <strong>eio_sendfile()</strong> copies  data between one file descriptor and another. See <return>SENDFILE(2)</return> man page for
  details.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$out_fd</strong>    Output stream, Socket resource, or file descriptor. Should be opened for
                       writing.
  <info>mixed</info>     <strong>$in_fd</strong>     Input stream, Socket resource, or file descriptor. Should be opened for
                       reading.
  <info>int</info>       <strong>$offset</strong>    Offset within the source file.
  <info>int</info>       <strong>$length</strong>    Number of bytes to copy.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>string</info>    <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>string</info>    <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_sendfile()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_set_max_idle
type: function
doc:
<comment>Description:</comment>
  Set maximum number of idle threads

<comment>Param:</comment>
  <info>int</info>  <strong>$nthreads</strong>  Number of idle threads.

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

<comment>See Also:</comment>
   * <strong>eio_nthreads()</strong>
   * <strong>eio_set_min_parallel()</strong>
   * <strong>eio_set_max_parallel()</strong>


id: eio_set_max_parallel
type: function
doc:
<comment>Description:</comment>
  Set maximum parallel threads

<comment>Param:</comment>
  <info>int</info>  <strong>$nthreads</strong>  Number of parallel threads

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

<comment>See Also:</comment>
   * <strong>eio_nthreads()</strong>
   * <strong>eio_set_max_idle()</strong>
   * <strong>eio_set_min_parallel()</strong>


id: eio_set_max_poll_reqs
type: function
doc:
<comment>Description:</comment>
  Set maximum number of requests processed in a poll

<comment>Param:</comment>
  <info>int</info>  <strong>$nreqs</strong>  Number of requests

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


id: eio_set_max_poll_time
type: function
doc:
<comment>Description:</comment>
  Set maximum poll time
  
  Polling stops, if poll took longer than <strong>$nseconds</strong> seconds.

<comment>Param:</comment>
  <info>float</info>  <strong>$nseconds</strong>  Number of seconds

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


id: eio_set_min_parallel
type: function
doc:
<comment>Description:</comment>
  Set minimum parallel thread number

<comment>Param:</comment>
  <info>string</info>  <strong>$nthreads</strong>  Number of parallel threads.

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

<comment>See Also:</comment>
   * <strong>eio_nthreads()</strong>
   * <strong>eio_set_max_idle()</strong>
   * <strong>eio_set_max_parallel()</strong>


id: eio_stat
type: function
doc:
<comment>Description:</comment>
  Get file status
  
  <strong>eio_stat()</strong> returns file status information in <strong>$result</strong> argument of <strong>$callback</strong>

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      The file path
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_stat()</strong> returns request resource on success or <info>false</info> on error. On success assigns
            <strong>$result</strong> argument of <strong>$callback</strong> to an array.

<comment>See Also:</comment>
   * <strong>eio_lstat()</strong>
   * <strong>eio_fstat()</strong>


id: eio_statvfs
type: function
doc:
<comment>Description:</comment>
  Get file system statistics
  
  <strong>eio_statvfs()</strong> returns file system statistics information in <strong>$result</strong> argument of <strong>$callback</strong>

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Pathname of any file within the mounted file system
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_statvfs()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.  On success
            assigns <strong>$result</strong> argument of <strong>$callback</strong> to an array.


id: eio_symlink
type: function
doc:
<comment>Description:</comment>
  Create a symbolic link
  
  <strong>eio_symlink()</strong> creates a symbolic link <strong>$new_path</strong> to <strong>$path</strong>.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Source path
  <info>string</info>    <strong>$new_path</strong>  Target path
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_symlink()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_sync
type: function
doc:
<comment>Description:</comment>
  Commit buffer cache to disk

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_sync()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_sync_file_range
type: function
doc:
<comment>Description:</comment>
  Sync a file segment with disk
  
  <strong>eio_sync_file_range()</strong> permits fine control when synchronizing the open file referred to by the
  file descriptor <strong>$fd</strong> with disk.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        File descriptor
  <info>int</info>       <strong>$offset</strong>    The starting byte of the file range to be synchronized
  <info>int</info>       <strong>$nbytes</strong>    Specifies the length of the range to be synchronized, in bytes. If <strong>$nbytes</strong> is
                       zero, then all bytes from <strong>$offset</strong> through to the end of file are
                       synchronized.
  <info>int</info>       <strong>$flags</strong>     A bit-mask. Can include any of the following values:
                       <info>EIO_SYNC_FILE_RANGE_WAIT_BEFORE</info>, <info>EIO_SYNC_FILE_RANGE_WRITE</info>,
                       <info>EIO_SYNC_FILE_RANGE_WAIT_AFTER</info>. These flags have the same meaning as their
                       SYNC_FILE_RANGE_* counterparts(see <return>SYNC_FILE_RANGE(2)</return> man page).
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_sync_file_range()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_syncfs
type: function
doc:
<comment>Description:</comment>
  Calls Linux' syncfs syscall, if available

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        File descriptor
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_syncfs()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_truncate
type: function
doc:
<comment>Description:</comment>
  Truncate a file
  
  <strong>eio_truncate()</strong> causes the regular file named by <strong>$path</strong> to be truncated to a size of precisely
  <strong>$length</strong> bytes

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      File path
  <info>int</info>       <strong>$offset</strong>    Offset from beginning of the file.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_busy()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_unlink
type: function
doc:
<comment>Description:</comment>
  Delete a name and possibly the file it refers to
  
  <strong>eio_unlink()</strong> deletes  a  name from the file system.

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Path to file
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_unlink()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.


id: eio_utime
type: function
doc:
<comment>Description:</comment>
  Change file last access and modification times

<comment>Param:</comment>
  <info>string</info>    <strong>$path</strong>      Path to the file.
  <info>float</info>     <strong>$atime</strong>     Access time
  <info>float</info>     <strong>$mtime</strong>     Modification time
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_utime()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: eio_write
type: function
doc:
<comment>Description:</comment>
  Write to file
  
  <strong>eio_write()</strong> writes up to <strong>$length</strong> bytes from <strong>$str</strong> at <strong>$offset</strong> offset from the beginning of the file.

<comment>Param:</comment>
  <info>mixed</info>     <strong>$fd</strong>        Stream, Socket resource, or numeric file descriptor, e.g. returned by
                       <strong>eio_open()</strong>
  <info>string</info>    <strong>$str</strong>       Source string
  <info>int</info>       <strong>$length</strong>    Maximum number of bytes to write.
  <info>int</info>       <strong>$offset</strong>    Offset from the beginning of file.
  <info>int</info>       <strong>$pri</strong>       请求的优先级：<info>EIO_PRI_DEFAULT</info>，<info>EIO_PRI_MIN</info>，<info>EIO_PRI_MAX</info> 或 <info>null</info>。如果是
                       <info>null</info>，<strong>$pri</strong> 将设为
                       <info>EIO_PRI_DEFAULT</info>。
  <info>callable</info>  <strong>$callback</strong>  <strong>$callback</strong>
                       函数在请求完成时被调用。其应匹配一下原型：
                       <strong>$data</strong>传递给请求的用户数据。<strong>$result</strong>针对请求的结果的值。通常是相应的系统调用返
                       回的值。<strong>$req</strong>可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
                       
                       传递给请求的用户数据。
                       
                       针对请求的结果的值。通常是相应的系统调用返回的值。
                       
                       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      传递给请求的用户数据。
  <info></info>          <strong>$result</strong>    针对请求的结果的值。通常是相应的系统调用返回的值。
  <info></info>          <strong>$req</strong>       可选的请求资源，可被 <strong>eio_get_last_error()</strong> 之类的函数使用。
  <info>mixed</info>     <strong>$data</strong>      Arbitrary variable passed to <strong>$callback</strong>.

<comment>Return:</comment>
  <info>resource</info>  <strong>eio_write()</strong> returns request resource on success, 或者在失败时返回 <info>false</info>.

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


id: empty
type: function
doc:
<comment>Description:</comment>
  检查变量是否为空
  
  判断变量是否为是空。当变量不存在或者它的值等于 <info>false</info>，那么视为空。如果变量不存在，<strong>empty()</strong> 不会产生
  警告。

<comment>Param:</comment>
  <info>mixed</info>  <strong>$var</strong>  待检查的变量
               
               没有警告会产生，哪怕变量并不存在。这意味着 <strong>empty()</strong> 本质上与 !isset($var) || $var ==
               false 等价。

<comment>Return:</comment>
  <info>bool</info>  当 <strong>$var</strong> 不存在、值为空、等于 0、为 false 时，返回 <info>true</info>。参阅 转换为 boolean。否则返回
        <info>false</info>。 否则返回 <info>true</info>。

<comment>See Also:</comment>
   * <strong>isset()</strong>
   * __isset()
   * <strong>unset()</strong>
   * <strong>array_key_exists()</strong>
   * <strong>count()</strong>
   * <strong>strlen()</strong>
   * 类型比较表


id: enchant_broker_describe
type: function
doc:
<comment>Description:</comment>
  Enumerates the Enchant providers
  
  Enumerates the Enchant providers and tells you some rudimentary information about them. The same
  info is provided through phpinfo().

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

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


id: enchant_broker_dict_exists
type: function
doc:
<comment>Description:</comment>
  Whether a dictionary exists or not. Using non-empty tag
  
  Tells if a dictionary exists or not, using a non-empty tags

<comment>Param:</comment>
  <info>EnchantBroker</info>  <strong>$broker</strong>  An Enchant broker returned by <strong>enchant_broker_init()</strong>.
  <info>string</info>         <strong>$tag</strong>     non-empty tag in the LOCALE format, ex: us_US, ch_DE, etc.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> when the tag exist or <info>false</info> when not.

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


id: enchant_broker_free
type: function
doc:
<comment>Description:</comment>
  Free the broker resource and its dictionaries
  
  Free a broker with all its dictionaries. As of PHP 8.0.0, it is recommended to unset the object
  instead of calling this function.

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

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

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


id: enchant_broker_free_dict
type: function
doc:
<comment>Description:</comment>
  Free a dictionary resource
  
  Free a dictionary. As of PHP 8.0.0, it is recommended to unset the object instead of calling this
  function.

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

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

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


