# php_manual

id: IntlCalendar::set
type: function
doc:
<comment>Description:</comment>
  Set a time field or several common fields at once
  
  Object-oriented style
  
  Procedural style
  
  Sets either a specific field to the given value, or sets at once several common fields. The range
  of values that are accepted depend on whether the calendar is using the lenient mode.
  
  For fields that conflict, the fields that are set later have priority.
  
  This method cannot be called with exactly four arguments.

<comment>Param:</comment>
  <info>IntlCalendar</info>  <strong>$cal</strong>         An <class>IntlCalendar</class> instance.
  <info>int</info>           <strong>$field</strong>       One of the <class>IntlCalendar</class> date/time field constants. These are integer
                             values between <return>0</return> and <info>IntlCalendar::FIELD_COUNT</info>.
  <info>int</info>           <strong>$value</strong>       The new value of the given field.
  <info>int</info>           <strong>$year</strong>        The new value for <info>IntlCalendar::FIELD_YEAR</info>.
  <info>int</info>           <strong>$month</strong>       The new value for <info>IntlCalendar::FIELD_MONTH</info>. The month sequence is
                             zero-based, i.e., January is represented by 0, February by 1, …,
                             December is 11 and Undecember (if the calendar has it) is 12.
  <info>int</info>           <strong>$dayOfMonth</strong>  The new value for <info>IntlCalendar::FIELD_DAY_OF_MONTH</info>.
  <info>int</info>           <strong>$hour</strong>        The new value for <info>IntlCalendar::FIELD_HOUR_OF_DAY</info>.
  <info>int</info>           <strong>$minute</strong>      The new value for <info>IntlCalendar::FIELD_MINUTE</info>.
  <info>int</info>           <strong>$second</strong>      The new value for <info>IntlCalendar::FIELD_SECOND</info>.

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

<comment>See Also:</comment>
   * IntlCalendar::get
   * IntlCalendar::add
   * IntlCalendar::roll


id: IntlCalendar::setDate
type: function
doc:
<comment>Description:</comment>
  Set a date fields
  
  Sets a date fields to the given value.

<comment>Param:</comment>
  <info>int</info>  <strong>$year</strong>        The new value for <info>IntlCalendar::FIELD_YEAR</info>.
  <info>int</info>  <strong>$month</strong>       The new value for <info>IntlCalendar::FIELD_MONTH</info>. The month sequence is zero-based,
                    i.e., January is represented by 0, February by 1, …, December is 11 and
                    Undecember (if the calendar has it) is 12.
  <info>int</info>  <strong>$dayOfMonth</strong>  The new value for <info>IntlCalendar::FIELD_DAY_OF_MONTH</info>.

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


id: IntlCalendar::setDateTime
type: function
doc:
<comment>Description:</comment>
  Set a date and time fields
  
  Sets a date and time fields to the given value.

<comment>Param:</comment>
  <info>int</info>  <strong>$year</strong>        The new value for <info>IntlCalendar::FIELD_YEAR</info>.
  <info>int</info>  <strong>$month</strong>       The new value for <info>IntlCalendar::FIELD_MONTH</info>. The month sequence is zero-based,
                    i.e., January is represented by 0, February by 1, …, December is 11 and
                    Undecember (if the calendar has it) is 12.
  <info>int</info>  <strong>$dayOfMonth</strong>  The new value for <info>IntlCalendar::FIELD_DAY_OF_MONTH</info>.
  <info>int</info>  <strong>$hour</strong>        The new value for <info>IntlCalendar::FIELD_HOUR_OF_DAY</info>.
  <info>int</info>  <strong>$minute</strong>      The new value for <info>IntlCalendar::FIELD_MINUTE</info>.
  <info>int</info>  <strong>$second</strong>      The new value for <info>IntlCalendar::FIELD_SECOND</info>.

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


id: IntlCalendar::setFirstDayOfWeek
type: function
doc:
<comment>Description:</comment>
  Set the day on which the week is deemed to start
  
  Object-oriented style
  
  Procedural style
  
  Defines the day of week deemed to start the week. This affects the behavior of fields that depend
  on the concept of week start and end such as <info>IntlCalendar::FIELD_WEEK_OF_YEAR</info> and
  <info>IntlCalendar::FIELD_YEAR_WOY</info>.

<comment>Param:</comment>
  <info>IntlCalendar</info>  <strong>$calendar</strong>   An <class>IntlCalendar</class> instance.
  <info>int</info>           <strong>$dayOfWeek</strong>  One of the constants <info>IntlCalendar::DOW_SUNDAY</info>, <info>IntlCalendar::DOW_MONDAY</info>,
                            …, <info>IntlCalendar::DOW_SATURDAY</info>.

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


id: IntlCalendar::setLenient
type: function
doc:
<comment>Description:</comment>
  Set whether date/time interpretation is to be lenient
  
  Object-oriented style
  
  Procedural style
  
  Defines whether the calendar is ‘lenient mode’. In such a mode, some of out-of-bounds values for
  some fields are accepted, the behavior being similar to that of <strong>IntlCalendar::add()</strong> (i.e., the
  value wraps around, carrying into more significant fields each time). If the lenient mode is off,
  then such values will generate an error.

<comment>Param:</comment>
  <info>IntlCalendar</info>  <strong>$calendar</strong>  An <class>IntlCalendar</class> instance.
  <info>bool</info>          <strong>$lenient</strong>   Use <info>true</info> to activate the lenient mode; <info>false</info> otherwise.

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


id: IntlCalendar::setMinimalDaysInFirstWeek
type: function
doc:
<comment>Description:</comment>
  Set minimal number of days the first week in a year or month can have
  
  Object-oriented style
  
  Procedural style
  
  Sets the smallest number of days the first week of a year or month must have in the new year or
  month.  For instance, in the Gregorian calendar, if this value is 1, then the first week of the
  year will necessarily include January 1st, while if this value is 7, then the week with January
  1st will be the first week of the year only if the day of the week for January 1st matches the day
  of the week returned by <strong>IntlCalendar::getFirstDayOfWeek()</strong>; otherwise it will be the previous
  yearʼs last week.

<comment>Param:</comment>
  <info>IntlCalendar</info>  <strong>$calendar</strong>  An <class>IntlCalendar</class> instance.
  <info>int</info>           <strong>$days</strong>      The number of minimal days to set.

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


id: IntlCalendar::setRepeatedWallTimeOption
type: function
doc:
<comment>Description:</comment>
  Set behavior for handling repeating wall times at negative timezone offset transitions
  
  Object-oriented style
  
  Procedural style
  
  Sets the current strategy for dealing with wall times that are repeated whenever the clock is set
  back during dailight saving time end transitions. The default value is <info>IntlCalendar::WALLTIME_LAST</info>
  (take the post-DST instant). The other possible value is <info>IntlCalendar::WALLTIME_FIRST</info> (take the
  instant that occurs during DST).
  
  This function requires ICU 4.9 or later.

<comment>Param:</comment>
  <info>IntlCalendar</info>  <strong>$calendar</strong>  An <class>IntlCalendar</class> instance.
  <info>int</info>           <strong>$option</strong>    One of the constants <info>IntlCalendar::WALLTIME_FIRST</info> or
                           <info>IntlCalendar::WALLTIME_LAST</info>.

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

<comment>See Also:</comment>
   * intlCalendar::getRepeatedWallTimeOption
   * intlCalendar::setSkippedWallTimeOption
   * intlCalendar::getSkippedWallTimeOption


id: IntlCalendar::setSkippedWallTimeOption
type: function
doc:
<comment>Description:</comment>
  Set behavior for handling skipped wall times at positive timezone offset transitions
  
  Object-oriented style
  
  Procedural style
  
  Sets the current strategy for dealing with wall times that are skipped whenever the clock is
  forwarded during dailight saving time start transitions. The default value is
  <info>IntlCalendar::WALLTIME_LAST</info> (take it as being the same instant as the one when the wall time is
  one hour more).  Alternative values are <info>IntlCalendar::WALLTIME_FIRST</info> (same instant as the one with
  a wall time of one hour less) and <info>IntlCalendar::WALLTIME_NEXT_VALID</info> (same instant as when DST
  begins).
  
  This affects only the instant represented by the calendar (as reported by
  <strong>IntlCalendar::getTime()</strong>), the field values will not be rewritten accordingly.
  
  The calendar must be lenient for this option to have any effect, otherwise attempting to set a
  non-existing time will cause an error.
  
  This function requires ICU 4.9 or later.

<comment>Param:</comment>
  <info>IntlCalendar</info>  <strong>$calendar</strong>  An <class>IntlCalendar</class> instance.
  <info>int</info>           <strong>$option</strong>    One of the constants <info>IntlCalendar::WALLTIME_FIRST</info>,
                           <info>IntlCalendar::WALLTIME_LAST</info> or <info>IntlCalendar::WALLTIME_NEXT_VALID</info>.

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

<comment>See Also:</comment>
   * intlCalendar::getSkippedWallTimeOption
   * intlCalendar::setRepeatedWallTimeOption
   * intlCalendar::getRepeatedWallTimeOption


id: IntlCalendar::setTime
type: function
doc:
<comment>Description:</comment>
  Set the calendar time in milliseconds since the epoch
  
  Object-oriented style
  
  Procedural style
  
  Sets the instant represented by this object. The instant is represented by a <info>float</info> whose value
  should be an integer number of milliseconds since the epoch (1 Jan 1970 00:00:00.000 UTC),
  ignoring leap seconds. All the field values will be recalculated accordingly.

<comment>Param:</comment>
  <info>IntlCalendar</info>  <strong>$calendar</strong>   An <class>IntlCalendar</class> instance.
  <info>float</info>         <strong>$timestamp</strong>  An instant represented by the number of number of milliseconds between
                            such instant and the epoch, ignoring leap seconds.

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


id: IntlCalendar::setTimeZone
type: function
doc:
<comment>Description:</comment>
  Set the timezone used by this calendar
  
  Object-oriented style
  
  Procedural style
  
  Defines a new timezone for this calendar. The time represented by the object is preserved to the
  detriment of the field values.

<comment>Param:</comment>
  <info>IntlCalendar</info>                           <strong>$calendar</strong>  An <class>IntlCalendar</class> instance.
  <info>IntlTimeZone|DateTimeZone|string|null</info>  <strong>$timezone</strong>  The new timezone to be used by this calendar. It
                                                    can be specified in the following ways:
                                                    
                                                    <info>null</info>, in which case the default timezone will be
                                                    used, as specified in the ini setting
                                                    date.timezone or through the function
                                                    <strong>date_default_timezone_set()</strong> and as returned by
                                                    <strong>date_default_timezone_get()</strong>.  An <class>IntlTimeZone</class>,
                                                    which will be used directly.  A <class>DateTimeZone</class>.
                                                    Its identifier will be extracted and an ICU
                                                    timezone object will be created; the timezone
                                                    will be backed by ICUʼs database, not PHPʼs.  A
                                                    <info>string</info>, which should be a valid ICU timezone
                                                    identifier. See
                                                    <strong>IntlTimeZone::createTimeZoneIDEnumeration()</strong>. Raw
                                                    offsets such as <return>"GMT+08:30"</return> are also accepted.
                                                    
                                                    <info>null</info>, in which case the default timezone will be
                                                    used, as specified in the ini setting
                                                    date.timezone or through the function
                                                    <strong>date_default_timezone_set()</strong> and as returned by
                                                    <strong>date_default_timezone_get()</strong>.
                                                    
                                                    An <class>IntlTimeZone</class>, which will be used directly.
                                                    
                                                    A <class>DateTimeZone</class>. Its identifier will be extracted
                                                    and an ICU timezone object will be created; the
                                                    timezone will be backed by ICUʼs database, not
                                                    PHPʼs.
                                                    
                                                    A <info>string</info>, which should be a valid ICU timezone
                                                    identifier. See
                                                    <strong>IntlTimeZone::createTimeZoneIDEnumeration()</strong>. Raw
                                                    offsets such as <return>"GMT+08:30"</return> are also accepted.

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


id: IntlCalendar::toDateTime
type: function
doc:
<comment>Description:</comment>
  Convert an IntlCalendar into a DateTime object
  
  Object-oriented style
  
  Procedural style
  
  Create a <class>DateTime</class> object that represents the same instant (up to second precision, with a rounding
  error of less than 1 second) and has an analog timezone to this object (the difference being
  <class>DateTime</class>ʼs timezone will be backed by PHPʼs timezone while <class>IntlCalendar</class>ʼs timezone is backed by
  ICUʼs).

<comment>Param:</comment>
  <info>IntlCalendar</info>  <strong>$calendar</strong>  An <class>IntlCalendar</class> instance.

<comment>Return:</comment>
  <info>DateTime|false</info>  A <class>DateTime</class> object with the same timezone as this object (though using PHPʼs
                  database instead of ICUʼs) and the same time, except for the smaller precision
                  (second precision instead of millisecond). Returns <info>false</info> on failure.

<comment>See Also:</comment>
   * IntlCalendar::fromDateTime
   * IntlCalendar::getTime
   * IntlCalendar::createInstance
   * DateTime::__construct


id: IntlChar
type: class
doc:
<comment>Description:</comment>
  <class>IntlChar</class> provides access to a number of utility methods that can be used to access information
  about Unicode characters.
  
  The methods and constants adhere closely to the names and behavior used by the underlying ICU
  library.


id: IntlChar::NO_NUMERIC_VALUE
type: constant
doc:
<comment>Description:</comment>
  Special value that is returned by IntlChar::getNumericValue when no numeric value is defined for a
  code point.


id: IntlChar::charAge
type: function
doc:
<comment>Description:</comment>
  Get the "age" of the code point
  
  Gets the "age" of the code point.
  
  The "age" is the Unicode version when the code point was first designated (as a non-character or
  for Private Use) or assigned a character. This can be useful to avoid emitting code points to
  receiving processes that do not accept newer characters.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>array|null</info>  The Unicode version number, as an <info>array</info>. For example, version 1.3.31.2 would be
              represented as <return>[1, 3, 31, 2]</return>. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::getUnicodeVersion()</strong>
   * <strong>IntlChar::getIntPropertyMinValue()</strong>
   * <strong>IntlChar::getIntPropertyValue()</strong>


id: IntlChar::charDigitValue
type: function
doc:
<comment>Description:</comment>
  Get the decimal digit value of a decimal digit character
  
  Returns the decimal digit value of a decimal digit character.
  
  Such characters have the general category "Nd" (decimal digit numbers) and a Numeric_Type of
  Decimal.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|null</info>  The decimal digit value of <strong>$codepoint</strong>, or <return>-1</return> if it is not a decimal digit character.
            Returns <info>null</info> on failure.

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


id: IntlChar::charDirection
type: function
doc:
<comment>Description:</comment>
  Get bidirectional category value for a code point
  
  Returns the bidirectional category value for the code point, which is used in the Unicode
  bidirectional algorithm (UAX #9).
  
  Some unassigned code points have bidi values of R or AL because they are in blocks that are
  reserved for Right-To-Left scripts.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|null</info>  The bidirectional category value; one of the following constants:
            <info>IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT</info><info>IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT</info><info>IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER</info><info>IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR</info><info>IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR</info><info>IntlChar::CHAR_DIRECTION_ARABIC_NUMBER</info><info>IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR</info><info>IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR</info><info>IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR</info><info>IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL</info><info>IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL</info><info>IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING</info><info>IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE</info><info>IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC</info><info>IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING</info><info>IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE</info><info>IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT</info><info>IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK</info><info>IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL</info><info>IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE</info><info>IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE</info><info>IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE</info><info>IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE</info><info>IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT</info>
             Returns <info>null</info> on failure.


id: IntlChar::charFromName
type: function
doc:
<comment>Description:</comment>
  Find Unicode character by name and return its code point value
  
  Finds a Unicode character by its name and returns its code point value.
  
  The name is matched exactly and completely. If the name does not correspond to a code point, <info>null</info>
  is returned.
  
  A Unicode 1.0 name is matched only if it differs from the modern name. Unicode names are all
  uppercase. Extended names are lowercase followed by an uppercase hexadecimal number, and within
  angle brackets.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Full name of the Unicode character.
  <info>int</info>     <strong>$type</strong>  Which set of names to use for the lookup. Can be any of these constants:
                 <info>IntlChar::UNICODE_CHAR_NAME</info>
                 (default)<info>IntlChar::UNICODE_10_CHAR_NAME</info><info>IntlChar::EXTENDED_CHAR_NAME</info><info>IntlChar::CHAR_NAME_ALIAS</info><info>IntlChar::CHAR_NAME_CHOICE_COUNT</info>

<comment>Return:</comment>
  <info>int|null</info>  The Unicode value of the code point with the given name (as an <info>int</info>), or <info>null</info> if there is
            no such code point.

<comment>See Also:</comment>
   * <strong>IntlChar::charName()</strong>
   * <strong>IntlChar::enumCharNames()</strong>


id: IntlChar::charMirror
type: function
doc:
<comment>Description:</comment>
  Get the "mirror-image" character for a code point
  
  Maps the specified character to a "mirror-image" character.
  
  For characters with the Bidi_Mirrored property, implementations sometimes need a "poor man's"
  mapping to another Unicode character (code point) such that the default glyph may serve as the
  mirror-image of the default glyph of the specified character. This is useful for text conversion
  to and from codepages with visual order, and for displays without glyph selection capabilities.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|string|null</info>  Returns another Unicode code point that may serve as a mirror-image substitute,
                   or <strong>$codepoint</strong> itself if there is no such mapping or <strong>$codepoint</strong> does not have the
                   Bidi_Mirrored property.
                   
                   The return type is <info>int</info> unless the code point was passed as a UTF-8 <info>string</info>, in
                   which case a <info>string</info> is returned. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isMirrored()</strong>
   * <info>IntlChar::PROPERTY_BIDI_MIRRORED</info>


id: IntlChar::charName
type: function
doc:
<comment>Description:</comment>
  Retrieve the name of a Unicode character
  
  Retrieves the name of a Unicode character.
  
  Depending on <strong>$type</strong>, the resulting character name is the "modern" name or the name that was defined
  in Unicode version 1.0. The name contains only "invariant" characters like A-Z, 0-9, space, and
  '-'. Unicode 1.0 names are only retrieved if they are different from the modern names and if ICU
  contains the data for them.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)
  <info>int</info>         <strong>$type</strong>       Which set of names to use for the lookup. Can be any of these constants:
                          <info>IntlChar::UNICODE_CHAR_NAME</info>
                          (default)<info>IntlChar::UNICODE_10_CHAR_NAME</info><info>IntlChar::EXTENDED_CHAR_NAME</info><info>IntlChar::CHAR_NAME_ALIAS</info><info>IntlChar::CHAR_NAME_CHOICE_COUNT</info>

<comment>Return:</comment>
  <info>string|null</info>  The corresponding name, or an empty string if there is no name for this character, or
               <info>null</info> if there is no such code point.

<comment>See Also:</comment>
   * <strong>IntlChar::charFromName()</strong>
   * <strong>IntlChar::enumCharNames()</strong>


id: IntlChar::charType
type: function
doc:
<comment>Description:</comment>
  Get the general category value for a code point
  
  Returns the general category value for the code point.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|null</info>  Returns the general category type, which may be one of the following constants:
            <info>IntlChar::CHAR_CATEGORY_UNASSIGNED</info><info>IntlChar::CHAR_CATEGORY_GENERAL_OTHER_TYPES</info><info>IntlChar::CHAR_CATEGORY_UPPERCASE_LETTER</info><info>IntlChar::CHAR_CATEGORY_LOWERCASE_LETTER</info><info>IntlChar::CHAR_CATEGORY_TITLECASE_LETTER</info><info>IntlChar::CHAR_CATEGORY_MODIFIER_LETTER</info><info>IntlChar::CHAR_CATEGORY_OTHER_LETTER</info><info>IntlChar::CHAR_CATEGORY_NON_SPACING_MARK</info><info>IntlChar::CHAR_CATEGORY_ENCLOSING_MARK</info><info>IntlChar::CHAR_CATEGORY_COMBINING_SPACING_MARK</info><info>IntlChar::CHAR_CATEGORY_DECIMAL_DIGIT_NUMBER</info><info>IntlChar::CHAR_CATEGORY_LETTER_NUMBER</info><info>IntlChar::CHAR_CATEGORY_OTHER_NUMBER</info><info>IntlChar::CHAR_CATEGORY_SPACE_SEPARATOR</info><info>IntlChar::CHAR_CATEGORY_LINE_SEPARATOR</info><info>IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR</info><info>IntlChar::CHAR_CATEGORY_CONTROL_CHAR</info><info>IntlChar::CHAR_CATEGORY_FORMAT_CHAR</info><info>IntlChar::CHAR_CATEGORY_PRIVATE_USE_CHAR</info><info>IntlChar::CHAR_CATEGORY_SURROGATE</info><info>IntlChar::CHAR_CATEGORY_DASH_PUNCTUATION</info><info>IntlChar::CHAR_CATEGORY_START_PUNCTUATION</info><info>IntlChar::CHAR_CATEGORY_END_PUNCTUATION</info><info>IntlChar::CHAR_CATEGORY_CONNECTOR_PUNCTUATION</info><info>IntlChar::CHAR_CATEGORY_OTHER_PUNCTUATION</info><info>IntlChar::CHAR_CATEGORY_MATH_SYMBOL</info><info>IntlChar::CHAR_CATEGORY_CURRENCY_SYMBOL</info><info>IntlChar::CHAR_CATEGORY_MODIFIER_SYMBOL</info><info>IntlChar::CHAR_CATEGORY_OTHER_SYMBOL</info><info>IntlChar::CHAR_CATEGORY_INITIAL_PUNCTUATION</info><info>IntlChar::CHAR_CATEGORY_FINAL_PUNCTUATION</info><info>IntlChar::CHAR_CATEGORY_CHAR_CATEGORY_COUNT</info>


id: IntlChar::chr
type: function
doc:
<comment>Description:</comment>
  Return Unicode character by code point value
  
  Returns a string containing the character specified by the Unicode code point value.
  
  This function complements <strong>IntlChar::ord()</strong>.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>string|null</info>  A string containing the single character specified by the Unicode code point value,
               or <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::ord()</strong>
   * <strong>mb_chr()</strong>
   * <strong>chr()</strong>


id: IntlChar::digit
type: function
doc:
<comment>Description:</comment>
  Get the decimal digit value of a code point for a given radix
  
  Returns the decimal digit value of the code point in the specified radix.
  
  If the radix is not in the range <return>2\<=radix\<=36</return> or if the value of <strong>$codepoint</strong> is not a valid digit in the specified radix, <info>false</info> is returned. A character is a valid digit if at least one of the following is true: The character has a decimal digit value. Such characters have the general category "Nd" (decimal digit numbers) and a Numeric_Type of Decimal. In this case the value is the character's decimal digit value.The character is one of the uppercase Latin letters 'A' through 'Z'. In this case the value is c-'A'+10.The character is one of the lowercase Latin letters 'a' through 'z'. In this case the value is ch-'a'+10.Latin letters from both the ASCII range (0061..007A, 0041..005A) as well as from the Fullwidth ASCII range (FF41..FF5A, FF21..FF3A) are recognized.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)
  <info>int</info>         <strong>$base</strong>       The radix (defaults to <return>10</return>).

<comment>Return:</comment>
  <info>int|false|null</info>  Returns the numeric value represented by the character in the specified radix, or
                  <info>false</info> if there is no value or if the value exceeds the radix. Returns <info>null</info> on
                  failure.
                  
                  This function may
                  return Boolean <info>false</info>, but may also return a non-Boolean value which
                  evaluates to <info>false</info>. Please read the section on Booleans for more
                  information. Use the ===
                  operator for testing the return value of this
                  function.

<comment>See Also:</comment>
   * <strong>IntlChar::forDigit()</strong>
   * <strong>IntlChar::charDigitValue()</strong>
   * <strong>IntlChar::isdigit()</strong>
   * <info>IntlChar::PROPERTY_NUMERIC_TYPE</info>


id: IntlChar::enumCharNames
type: function
doc:
<comment>Description:</comment>
  Enumerate all assigned Unicode characters within a range
  
  Enumerate all assigned Unicode characters between the start and limit code points (start
  inclusive, limit exclusive) and call a function for each, passing the code point value and the
  character name.
  
  For Unicode 1.0 names, only those are enumerated that differ from the modern names.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$start</strong>     The first code point in the enumeration range.
  <info>int|string</info>  <strong>$end</strong>       One more than the last code point in the enumeration range (the first one
                         after the range).
  <info>callable</info>    <strong>$callback</strong>  The function that is to be called for each character name.  The following
                         three arguments will be passed into it: <info>int</info><return>$codepoint</return> - The numeric code
                         point value<info>int</info><return>$nameChoice</return> - The same value as the <strong>$type</strong> parameter
                         below<info>string</info><return>$name</return> - The name of the character
  <info>int</info>         <strong>$type</strong>      Selector for which kind of names to enumerate.  Can be any of these
                         constants: <info>IntlChar::UNICODE_CHAR_NAME</info>
                         (default)<info>IntlChar::UNICODE_10_CHAR_NAME</info><info>IntlChar::EXTENDED_CHAR_NAME</info><info>IntlChar::CHAR_NAME_ALIAS</info><info>IntlChar::CHAR_NAME_CHOICE_COUNT</info>

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

<comment>See Also:</comment>
   * <strong>IntlChar::charName()</strong>
   * <strong>IntlChar::charFromName()</strong>


id: IntlChar::enumCharTypes
type: function
doc:
<comment>Description:</comment>
  Enumerate all code points with their Unicode general categories
  
  Enumerates efficiently all code points with their Unicode general categories. This is useful for
  building data structures, for enumerating all assigned code points, etc.
  
  For each contiguous range of code points with a given general category ("character type"), the
  <strong>$callback</strong> function is called. Adjacent ranges have different types. The Unicode Standard
  guarantees that the numeric value of the type is 0..31.

<comment>Param:</comment>
  <info>callable</info>  <strong>$callback</strong>  The function that is to be called for each contiguous range of code points
                       with the same general category. The following three arguments will be passed
                       into it: <info>int</info><return>$start</return> - The starting code point of the range<info>int</info><return>$end</return> - The ending
                       code point of the range<info>int</info><return>$name</return> - The category type (one of the
                       <return>IntlChar::CHAR_CATEGORY_*</return> constants)

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


id: IntlChar::foldCase
type: function
doc:
<comment>Description:</comment>
  Perform case folding on a code point
  
  The given character is mapped to its case folding equivalent; if the character has no case folding
  equivalent, the character itself is returned.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)
  <info>int</info>         <strong>$options</strong>    Either <info>IntlChar::FOLD_CASE_DEFAULT</info> (default) or
                          <info>IntlChar::FOLD_CASE_EXCLUDE_SPECIAL_I</info>.

<comment>Return:</comment>
  <info>int|string|null</info>  Returns the Simple_Case_Folding of the code point, if any; otherwise the code
                   point itself on success, or <info>null</info> on failure.


id: IntlChar::forDigit
type: function
doc:
<comment>Description:</comment>
  Get character representation for a given digit and radix
  
  Determines the character representation for a specific digit in the specified radix.
  
  If the value of radix is not a valid radix, or the value of digit is not a valid digit in the
  specified radix, the null character (<return>U+0000</return>) is returned.
  
  The radix argument is valid if it is greater than or equal to <return>2</return> and less than or equal to <return>36</return>. The
  digit argument is valid if <return>0 \<= digit \< radix</return>.
  
  If the digit is less than <return>10</return>, then '0' + digit is returned. Otherwise, the value 'a' + digit - 10
  is returned.

<comment>Param:</comment>
  <info>int</info>  <strong>$digit</strong>  The number to convert to a character.
  <info>int</info>  <strong>$base</strong>   The radix (defaults to <return>10</return>).

<comment>Return:</comment>
  <info>int</info>  The character representation (as a <info>string</info>) of the specified digit in the specified radix.

<comment>See Also:</comment>
   * <strong>IntlChar::digit()</strong>
   * <strong>IntlChar::charDigitValue()</strong>
   * <strong>IntlChar::isdigit()</strong>
   * <info>IntlChar::PROPERTY_NUMERIC_TYPE</info>


id: IntlChar::getBidiPairedBracket
type: function
doc:
<comment>Description:</comment>
  Get the paired bracket character for a code point
  
  Maps the specified character to its paired bracket character.
  
  For <return>Bidi_Paired_Bracket_Type!=None</return>, this is the same as <strong>IntlChar::charMirror()</strong>. Otherwise
  <strong>$codepoint</strong> itself is returned.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|string|null</info>  Returns the paired bracket code point, or <strong>$codepoint</strong> itself if there is no such
                   mapping. Returns <info>null</info> on failure.
                   
                   The return type is <info>int</info> unless the code point was passed as a UTF-8 <info>string</info>, in
                   which case a <info>string</info> is returned. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::charMirror()</strong>
   * <info>IntlChar::PROPERTY_BIDI_PAIRED_BRACKET</info>
   * <info>IntlChar::PROPERTY_BIDI_PAIRED_BRACKET_TYPE</info>


id: IntlChar::getBlockCode
type: function
doc:
<comment>Description:</comment>
  Get the Unicode allocation block containing a code point
  
  Returns the Unicode allocation block that contains the character.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|null</info>  Returns the block value for <strong>$codepoint</strong>. See the <return>IntlChar::BLOCK_CODE_*</return> constants for
            possible return values. Returns <info>null</info> on failure.


id: IntlChar::getCombiningClass
type: function
doc:
<comment>Description:</comment>
  Get the combining class of a code point
  
  Returns the combining class of the code point.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|null</info>  Returns the combining class of the character. Returns <info>null</info> on failure.


id: IntlChar::getFC_NFKC_Closure
type: function
doc:
<comment>Description:</comment>
  Get the FC_NFKC_Closure property for a code point
  
  Gets the FC_NFKC_Closure property string for a character.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>string|false|null</info>  Returns the FC_NFKC_Closure property string for the <strong>$codepoint</strong>, or an empty
                     string if there is none. Returns <info>null</info> or <info>false</info> on failure.


id: IntlChar::getIntPropertyMaxValue
type: function
doc:
<comment>Description:</comment>
  Get the max value for a Unicode property
  
  Gets the maximum value for an enumerated/integer/binary Unicode property.

<comment>Param:</comment>
  <info>int</info>  <strong>$property</strong>  The Unicode property to lookup (see the <return>IntlChar::PROPERTY_*</return> constants).

<comment>Return:</comment>
  <info>int</info>  The maximum value returned by <strong>IntlChar::getIntPropertyValue()</strong> for a Unicode property. <return>\<=0</return> if the property selector is out of range.

<comment>See Also:</comment>
   * <strong>IntlChar::hasBinaryProperty()</strong>
   * <strong>IntlChar::getIntPropertyMinValue()</strong>
   * <strong>IntlChar::getIntPropertyValue()</strong>
   * <strong>IntlChar::getUnicodeVersion()</strong>


id: IntlChar::getIntPropertyMinValue
type: function
doc:
<comment>Description:</comment>
  Get the min value for a Unicode property
  
  Gets the minimum value for an enumerated/integer/binary Unicode property.

<comment>Param:</comment>
  <info>int</info>  <strong>$property</strong>  The Unicode property to lookup (see the <return>IntlChar::PROPERTY_*</return> constants).

<comment>Return:</comment>
  <info>int</info>  The minimum value returned by <strong>IntlChar::getIntPropertyValue()</strong> for a Unicode property. <return>0</return> if
       the property selector is out of range.

<comment>See Also:</comment>
   * <strong>IntlChar::hasBinaryProperty()</strong>
   * <strong>IntlChar::getIntPropertyMaxValue()</strong>
   * <strong>IntlChar::getIntPropertyValue()</strong>
   * <strong>IntlChar::getUnicodeVersion()</strong>


id: IntlChar::getIntPropertyValue
type: function
doc:
<comment>Description:</comment>
  Get the value for a Unicode property for a code point
  
  Gets the property value for an enumerated or integer Unicode property for a code point. Also
  returns binary and mask property values.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)
  <info>int</info>         <strong>$property</strong>   The Unicode property to lookup (see the <return>IntlChar::PROPERTY_*</return> constants).

<comment>Return:</comment>
  <info>int|null</info>  Returns the numeric value that is directly the property value or, for enumerated
            properties, corresponds to the numeric value of the enumerated constant of the
            respective property value enumeration type. Returns <info>null</info> on failure.
            
            Returns <return>0</return> or <return>1</return> (for <info>false</info>/<info>true</info>) for binary Unicode properties.
            
            Returns a bit-mask for mask properties.
            
            Returns <return>0</return> if <strong>$property</strong> is out of bounds or if the Unicode version does not have data for
            the property at all, or not for this code point.

<comment>See Also:</comment>
   * <strong>IntlChar::hasBinaryProperty()</strong>
   * <strong>IntlChar::getIntPropertyMinValue()</strong>
   * <strong>IntlChar::getIntPropertyMaxValue()</strong>
   * <strong>IntlChar::getUnicodeVersion()</strong>


id: IntlChar::getNumericValue
type: function
doc:
<comment>Description:</comment>
  Get the numeric value for a Unicode code point
  
  Gets the numeric value for a Unicode code point as defined in the Unicode Character Database.
  
  For characters without any numeric values in the Unicode Character Database, this function will
  return <info>IntlChar::NO_NUMERIC_VALUE</info>.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>float|null</info>  Numeric value of <strong>$codepoint</strong>, or <info>IntlChar::NO_NUMERIC_VALUE</info> if none is defined. This
              constant was added in PHP 7.0.6, prior to this version the literal value
              (<info>float</info>)<return>-123456789</return> may be used instead. Returns <info>null</info> on failure.


id: IntlChar::getPropertyEnum
type: function
doc:
<comment>Description:</comment>
  Get the property constant value for a given property name
  
  Returns the property constant value for a given property name, as specified in the Unicode
  database file PropertyAliases.txt. Short, long, and any other variants are recognized.
  
  In addition, this function maps the synthetic names "gcm" / "General_Category_Mask" to the
  property <info>IntlChar::PROPERTY_GENERAL_CATEGORY_MASK</info>. These names are not in PropertyAliases.txt.
  
  This function complements <strong>IntlChar::getPropertyName()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$alias</strong>  The property name to be matched. The name is compared using "loose matching" as
                  described in PropertyAliases.txt.

<comment>Return:</comment>
  <info>int</info>  Returns an <return>IntlChar::PROPERTY_</return> constant value, or <info>IntlChar::PROPERTY_INVALID_CODE</info> if the
       given name does not match any property.

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


id: IntlChar::getPropertyName
type: function
doc:
<comment>Description:</comment>
  Get the Unicode name for a property
  
  Returns the Unicode name for a given property, as given in the Unicode database file
  PropertyAliases.txt.
  
  In addition, this function maps the property <info>IntlChar::PROPERTY_GENERAL_CATEGORY_MASK</info> to the
  synthetic names "gcm" / "General_Category_Mask". These names are not in PropertyAliases.txt.
  
  This function complements <strong>IntlChar::getPropertyEnum()</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$property</strong>  The Unicode property to lookup (see the <return>IntlChar::PROPERTY_*</return> constants).
                  
                  <info>IntlChar::PROPERTY_INVALID_CODE</info> should not be used. Also, if <strong>$property</strong> is out of
                  range, <info>false</info> is returned.
  <info>int</info>  <strong>$type</strong>      Selector for which name to get. If out of range, <info>false</info> is returned.
                  
                  All properties have a long name. Most have a short name, but some do not. Unicode
                  allows for additional names; if present these will be returned by adding 1, 2,
                  etc. to <info>IntlChar::LONG_PROPERTY_NAME</info>.

<comment>Return:</comment>
  <info>string|false</info>  Returns the name, or <info>false</info> if either the <strong>$property</strong> or the <strong>$type</strong> is out of range.
                
                If a given <strong>$type</strong> returns <info>false</info>, then all larger values of <strong>$type</strong> will return <info>false</info>,
                with one exception: if <info>false</info> is returned for <info>IntlChar::SHORT_PROPERTY_NAME</info>, then
                <info>IntlChar::LONG_PROPERTY_NAME</info> (and higher) may still return a non-<info>false</info> value.

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


id: IntlChar::getPropertyValueEnum
type: function
doc:
<comment>Description:</comment>
  Get the property value for a given value name
  
  Returns the property value integer for a given value name, as specified in the Unicode database
  file PropertyValueAliases.txt. Short, long, and any other variants are recognized.
  
  Some of the names in PropertyValueAliases.txt will only be recognized with
  <info>IntlChar::PROPERTY_GENERAL_CATEGORY_MASK</info>, not <info>IntlChar::PROPERTY_GENERAL_CATEGORY</info>. These include:
  "C" / "Other""L" / "Letter""LC" / "Cased_Letter""M" / "Mark""N" / "Number""P" / "Punctuation""S" /
  "Symbol" "Z" / "Separator"

<comment>Param:</comment>
  <info>int</info>     <strong>$property</strong>  The Unicode property to lookup (see the <return>IntlChar::PROPERTY_*</return> constants).
                     
                     If out of range, or this method doesn't work with the given value,
                     <info>IntlChar::PROPERTY_INVALID_CODE</info> is returned.
  <info>string</info>  <strong>$name</strong>      The value name to be matched.  The name is compared using "loose matching" as
                     described in PropertyValueAliases.txt.

<comment>Return:</comment>
  <info>int</info>  Returns the corresponding value integer, or <info>IntlChar::PROPERTY_INVALID_CODE</info> if the given name
       does not match any value of the given property, or if the property is invalid.


id: IntlChar::getPropertyValueName
type: function
doc:
<comment>Description:</comment>
  Get the Unicode name for a property value
  
  Returns the Unicode name for a given property value, as given in the Unicode database file
  PropertyValueAliases.txt.
  
  Some of the names in PropertyValueAliases.txt can only be retrieved using
  <info>IntlChar::PROPERTY_GENERAL_CATEGORY_MASK</info>, not <info>IntlChar::PROPERTY_GENERAL_CATEGORY</info>. These include:
  "C" / "Other""L" / "Letter""LC" / "Cased_Letter""M" / "Mark""N" / "Number""P" / "Punctuation""S" /
  "Symbol" "Z" / "Separator"

<comment>Param:</comment>
  <info>int</info>  <strong>$property</strong>  The Unicode property to lookup (see the <return>IntlChar::PROPERTY_*</return> constants).
                  
                  If out of range, or this method doesn't work with the given value, <info>false</info> is
                  returned.
  <info>int</info>  <strong>$value</strong>     Selector for a value for the given property. If out of range, <info>false</info> is returned.
                  
                  In general, valid values range from <return>0</return> up to some maximum. There are a couple
                  exceptions: <info>IntlChar::PROPERTY_BLOCK</info> values begin at the non-zero value
                  <info>IntlChar::BLOCK_CODE_BASIC_LATIN</info> <info>IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS</info>
                  values are not contiguous and range from 0..240.
  <info>int</info>  <strong>$type</strong>      Selector for which name to get. If out of range, <info>false</info> is returned.
                  
                  All values have a long name. Most have a short name, but some do not. Unicode
                  allows for additional names; if present these will be returned by adding 1, 2,
                  etc. to <info>IntlChar::LONG_PROPERTY_NAME</info>.

<comment>Return:</comment>
  <info>string|false</info>  Returns the name, or <info>false</info> if either the <strong>$property</strong> or the <strong>$type</strong> is out of range.
                Returns <info>null</info> on failure.
                
                If a given <strong>$type</strong> returns <info>false</info>, then all larger values of <strong>$type</strong> will return <info>false</info>,
                with one exception: if <info>false</info> is returned for <info>IntlChar::SHORT_PROPERTY_NAME</info>, then
                <info>IntlChar::LONG_PROPERTY_NAME</info> (and higher) may still return a non-<info>false</info> value.


id: IntlChar::getUnicodeVersion
type: function
doc:
<comment>Description:</comment>
  Get the Unicode version
  
  Gets the Unicode version information.
  
  The version array is filled in with the version information for the Unicode standard that is
  currently used by ICU. For example, Unicode version 3.1.1 is represented as an array with the
  values <return>[3, 1, 1, 0]</return>.

<comment>Return:</comment>
  <info>array</info>  An array containing the Unicode version number.

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


id: IntlChar::hasBinaryProperty
type: function
doc:
<comment>Description:</comment>
  Check a binary Unicode property for a code point
  
  Checks a binary Unicode property for a code point.
  
  Unicode, especially in version 3.2, defines many more properties than the original set in
  UnicodeData.txt.
  
  The properties APIs are intended to reflect Unicode properties as defined in the Unicode Character
  Database (UCD) and Unicode Technical Reports (UTR). For details about the properties see
  http://www.unicode.org/ucd/. For names of Unicode properties see the UCD file PropertyAliases.txt.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)
  <info>int</info>         <strong>$property</strong>   The Unicode property to lookup (see the <return>IntlChar::PROPERTY_*</return> constants).

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> or <info>false</info> according to the binary Unicode property value for <strong>$codepoint</strong>.
             Also <info>false</info> if <strong>$property</strong> is out of bounds or if the Unicode version does not have data
             for the property at all, or not for this code point. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::getIntPropertyValue()</strong>
   * <strong>IntlChar::getUnicodeVersion()</strong>


id: IntlChar::isIDIgnorable
type: function
doc:
<comment>Description:</comment>
  Check if code point is an ignorable character
  
  Determines if the specified character should be regarded as an ignorable character in an
  identifier.
  
  <info>true</info> for characters with general category "Cf" (format controls) as well as non-whitespace ISO
  controls (U+0000..U+0008, U+000E..U+001B, U+007F..U+009F).
  
  Note that Unicode just recommends to ignore Cf (format controls).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is ignorable in identifiers, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isIDStart()</strong>
   * <strong>IntlChar::isIDPart()</strong>
   * <info>IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT</info>


id: IntlChar::isIDPart
type: function
doc:
<comment>Description:</comment>
  Check if code point is permissible in an identifier
  
  Determines if the specified character is permissible in an identifier.
  
  <info>true</info> for characters with general categories "L" (letters), "Nl" (letter numbers), "Nd" (decimal
  digits), "Mc" and "Mn" (combining marks), "Pc" (connecting punctuation), and u_isIDIgnorable(c).
  
  This is almost the same as Unicode's ID_Continue (<info>IntlChar::PROPERTY_ID_CONTINUE</info>) except that
  Unicode recommends to ignore Cf which is less than <strong>IntlChar::isIDIgnorable()</strong>.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is the code point may occur in an identifier, <info>false</info> if not.
             Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isIDIgnorable()</strong>
   * <strong>IntlChar::isIDStart()</strong>
   * <info>IntlChar::PROPERTY_ID_CONTINUE</info>


id: IntlChar::isIDStart
type: function
doc:
<comment>Description:</comment>
  Check if code point is permissible as the first character in an identifier
  
  Determines if the specified character is permissible as the first character in an identifier
  according to Unicode (The Unicode Standard, Version 3.0, chapter 5.16 Identifiers).
  
  <info>true</info> for characters with general categories "L" (letters) and "Nl" (letter numbers).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> may start an identifier, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isalpha()</strong>
   * <strong>IntlChar::isIDPart()</strong>
   * <info>IntlChar::PROPERTY_ID_START</info>


id: IntlChar::isISOControl
type: function
doc:
<comment>Description:</comment>
  Check if code point is an ISO control code
  
  Determines whether the specified code point is an ISO control code.
  
  <info>true</info> for U+0000..U+001f and U+007f..U+009f (general category "Cc").

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is an ISO control code, <info>false</info> if not. Returns <info>null</info> on
             failure.

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


id: IntlChar::isJavaIDPart
type: function
doc:
<comment>Description:</comment>
  Check if code point is permissible in a Java identifier
  
  Determines if the specified character is permissible in a Java identifier.
  
  In addition to <strong>IntlChar::isIDPart()</strong>, <info>true</info> for characters with general category "Sc" (currency
  symbols).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> may occur in a Java identifier, <info>false</info> if not. Returns <info>null</info>
             on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isIDIgnorable()</strong>
   * <strong>IntlChar::isIDPart()</strong>
   * <strong>IntlChar::isJavaIDStart()</strong>
   * <strong>IntlChar::isalpha()</strong>
   * <strong>IntlChar::isdigit()</strong>


id: IntlChar::isJavaIDStart
type: function
doc:
<comment>Description:</comment>
  Check if code point is permissible as the first character in a Java identifier
  
  Determines if the specified character is permissible as the start of a Java identifier.
  
  In addition to <strong>IntlChar::isIDStart()</strong>, <info>true</info> for characters with general categories "Sc" (currency
  symbols) and "Pc" (connecting punctuation).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> may start a Java identifier, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isIDStart()</strong>
   * <strong>IntlChar::isJavaIDPart()</strong>
   * <strong>IntlChar::isalpha()</strong>


id: IntlChar::isJavaSpaceChar
type: function
doc:
<comment>Description:</comment>
  Check if code point is a space character according to Java
  
  Determine if the specified code point is a space character according to Java.
  
  <info>true</info> for characters with general categories "Z" (separators), which does not include control codes
  (e.g., TAB or Line Feed).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a space character according to Java, <info>false</info> if not.
             Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isspace()</strong>
   * <strong>IntlChar::isWhitespace()</strong>
   * <strong>IntlChar::isUWhiteSpace()</strong>


id: IntlChar::isMirrored
type: function
doc:
<comment>Description:</comment>
  Check if code point has the Bidi_Mirrored property
  
  Determines whether the code point has the Bidi_Mirrored property.
  
  This property is set for characters that are commonly used in Right-To-Left contexts and need to
  be displayed with a "mirrored" glyph.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> has the Bidi_Mirrored property, <info>false</info> if not. Returns <info>null</info>
             on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::charMirror()</strong>
   * <info>IntlChar::PROPERTY_BIDI_MIRRORED</info>


id: IntlChar::isUAlphabetic
type: function
doc:
<comment>Description:</comment>
  Check if code point has the Alphabetic Unicode property
  
  Check if a code point has the Alphabetic Unicode property.
  
  This is the same as <return>IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_ALPHABETIC)</return>

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> has the Alphabetic Unicode property, <info>false</info> if not. Returns
             <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isalpha()</strong>
   * <strong>IntlChar::hasBinaryProperty()</strong>
   * <info>IntlChar::PROPERTY_ALPHABETIC</info>


id: IntlChar::isULowercase
type: function
doc:
<comment>Description:</comment>
  Check if code point has the Lowercase Unicode property
  
  Check if a code point has the Lowercase Unicode property.
  
  This is the same as <return>IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_LOWERCASE)</return>
  
  This is different than <strong>IntlChar::islower()</strong> and will return <info>true</info> for more characters.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> has the Lowercase Unicode property, <info>false</info> if not. Returns
             <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::islower()</strong>
   * <strong>IntlChar::hasBinaryProperty()</strong>
   * <info>IntlChar::PROPERTY_LOWERCASE</info>


id: IntlChar::isUUppercase
type: function
doc:
<comment>Description:</comment>
  Check if code point has the Uppercase Unicode property
  
  Check if a code point has the Uppercase Unicode property.
  
  This is the same as <return>IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_UPPERCASE)</return>
  
  This is different than <strong>IntlChar::isupper()</strong> and will return <info>true</info> for more characters.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> has the Uppercase Unicode property, <info>false</info> if not. Returns
             <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isupper()</strong>
   * <strong>IntlChar::hasBinaryProperty()</strong>
   * <info>IntlChar::PROPERTY_UPPERCASE</info>


id: IntlChar::isUWhiteSpace
type: function
doc:
<comment>Description:</comment>
  Check if code point has the White_Space Unicode property
  
  Check if a code point has the White_Space Unicode property.
  
  This is the same as <return>IntlChar::hasBinaryProperty($codepoint, IntlChar::PROPERTY_WHITE_SPACE)</return>
  
  This is different from both <strong>IntlChar::isspace()</strong> and <strong>IntlChar::isWhitespace()</strong>.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> has the White_Space Unicode property, <info>false</info> if not. Returns
             <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isspace()</strong>
   * <strong>IntlChar::isWhitespace()</strong>
   * <strong>IntlChar::isJavaSpaceChar()</strong>
   * <strong>IntlChar::hasBinaryProperty()</strong>
   * <info>IntlChar::PROPERTY_WHITE_SPACE</info>


id: IntlChar::isWhitespace
type: function
doc:
<comment>Description:</comment>
  Check if code point is a whitespace character according to ICU
  
  Determines if the specified code point is a whitespace character according to ICU.
  
  A character is considered to be a ICU whitespace character if and only if it satisfies one of the
  following criteria: It is a Unicode Separator character (categories "Z" = "Zs" or "Zl" or "Zp"),
  but is not also a non-breaking space (U+00A0 NBSP or U+2007 Figure Space or U+202F Narrow NBSP).It
  is U+0009 HORIZONTAL TABULATION.It is U+000A LINE FEED.It is U+000B VERTICAL TABULATION.It is
  U+000C FORM FEED.It is U+000D CARRIAGE RETURN.It is U+001C FILE SEPARATOR.It is U+001D GROUP
  SEPARATOR.It is U+001E RECORD SEPARATOR.It is U+001F UNIT SEPARATOR.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a whitespace character according to ICU, <info>false</info> if not.
             Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isspace()</strong>
   * <strong>IntlChar::isJavaSpaceChar()</strong>
   * <strong>IntlChar::isUWhiteSpace()</strong>


id: IntlChar::isalnum
type: function
doc:
<comment>Description:</comment>
  Check if code point is an alphanumeric character
  
  Determines whether the specified code point is an alphanumeric character (letter or digit).  <info>true</info>
  for characters with general categories "L" (letters) and "Nd" (decimal digit numbers).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is an alphanumeric character, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isalpha()</strong>
   * <strong>IntlChar::isdigit()</strong>
   * <strong>ctype_alnum()</strong>


id: IntlChar::isalpha
type: function
doc:
<comment>Description:</comment>
  Check if code point is a letter character
  
  Determines whether the specified code point is a letter character.  <info>true</info> for general categories
  "L" (letters).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a letter character, <info>false</info> if not. Returns <info>null</info> on
             failure.

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


id: IntlChar::isbase
type: function
doc:
<comment>Description:</comment>
  Check if code point is a base character
  
  Determines whether the specified code point is a base character.  <info>true</info> for general categories "L"
  (letters), "N" (numbers), "Mc" (spacing combining marks), and "Me" (enclosing marks).
  
  This is different from the Unicode definition in chapter 3.5, conformance clause D13, which
  defines base characters to be all characters (not Cn) that do not graphically combine with
  preceding characters (M) and that are neither control (Cc) or format (Cf) characters.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a base character, <info>false</info> if not. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isalpha()</strong>
   * <strong>IntlChar::isdigit()</strong>


id: IntlChar::isblank
type: function
doc:
<comment>Description:</comment>
  Check if code point is a "blank" or "horizontal space" character
  
  Determines whether the specified code point is a "blank" or "horizontal space", a character that
  visibly separates words on a line.
  
  The following are equivalent definitions: <info>true</info> for Unicode White_Space characters except for
  "vertical space controls" where "vertical space controls" are the following characters: U+000A
  (LF) U+000B (VT) U+000C (FF) U+000D (CR) U+0085 (NEL) U+2028 (LS) U+2029 (PS) <info>true</info> for U+0009
  (TAB) and characters with general category "Zs" (space separators) except Zero Width Space (ZWSP,
  U+200B).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is either a "blank" or "horizontal space" character, <info>false</info>
             if not. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isspace()</strong>
   * <strong>IntlChar::isJavaSpaceChar()</strong>
   * <strong>IntlChar::isUWhiteSpace()</strong>
   * <strong>IntlChar::isWhitespace()</strong>


id: IntlChar::iscntrl
type: function
doc:
<comment>Description:</comment>
  Check if code point is a control character
  
  Determines whether the specified code point is a control character.
  
  A control character is one of the following: ISO 8-bit control character (U+0000..U+001f and
  U+007f..U+009f)<info>IntlChar::CHAR_CATEGORY_CONTROL_CHAR</info> (Cc)<info>IntlChar::CHAR_CATEGORY_FORMAT_CHAR</info>
  (Cf)<info>IntlChar::CHAR_CATEGORY_LINE_SEPARATOR</info> (Zl)<info>IntlChar::CHAR_CATEGORY_PARAGRAPH_SEPARATOR</info> (Zp)

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a control character, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isprint()</strong>
   * <info>IntlChar::PROPERTY_DEFAULT_IGNORABLE_CODE_POINT</info>
   * <strong>ctype_cntrl()</strong>


id: IntlChar::isdefined
type: function
doc:
<comment>Description:</comment>
  Check whether the code point is defined
  
  Determines whether the specified code point is "defined", which usually means that it is assigned
  a character.
  
  <info>true</info> for general categories other than "Cn" (other, not assigned).
  
  Note that non-character code points (e.g., U+FDD0) are not "defined" (they are Cn), but surrogate
  code points are "defined" (Cs).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a defined character, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isdigit()</strong>
   * <strong>IntlChar::isalpha()</strong>
   * <strong>IntlChar::isalnum()</strong>
   * <strong>IntlChar::isupper()</strong>
   * <strong>IntlChar::islower()</strong>
   * <strong>IntlChar::istitle()</strong>


id: IntlChar::isdigit
type: function
doc:
<comment>Description:</comment>
  Check if code point is a digit character
  
  Determines whether the specified code point is a digit character.
  
  <info>true</info> for characters with general category "Nd" (decimal digit numbers). Beginning with Unicode 4,
  this is the same as testing for the Numeric_Type of Decimal.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a digit character, <info>false</info> if not. Returns <info>null</info> on failure.

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


id: IntlChar::isgraph
type: function
doc:
<comment>Description:</comment>
  Check if code point is a graphic character
  
  Determines whether the specified code point is a "graphic" character (printable, excluding
  spaces).
  
  <info>true</info> for all characters except those with general categories "Cc" (control codes), "Cf" (format
  controls), "Cs" (surrogates), "Cn" (unassigned), and "Z" (separators).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a "graphic" character, <info>false</info> if not. Returns <info>null</info> on
             failure.

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


id: IntlChar::islower
type: function
doc:
<comment>Description:</comment>
  Check if code point is a lowercase letter
  
  Determines whether the specified code point has the general category "Ll" (lowercase letter).
  
  This misses some characters that are also lowercase but have a different general category value.
  In order to include those, use <strong>IntlChar::isULowercase()</strong>.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is an Ll lowercase letter, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isupper()</strong>
   * <strong>IntlChar::istitle()</strong>
   * <strong>IntlChar::tolower()</strong>
   * <strong>IntlChar::toupper()</strong>
   * <info>IntlChar::PROPERTY_LOWERCASE</info>
   * <strong>ctype_lower()</strong>


id: IntlChar::isprint
type: function
doc:
<comment>Description:</comment>
  Check if code point is a printable character
  
  Determines whether the specified code point is a printable character.
  
  <info>true</info> for general categories other than "C" (controls).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a printable character, <info>false</info> if not. Returns <info>null</info> on
             failure.

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


id: IntlChar::ispunct
type: function
doc:
<comment>Description:</comment>
  Check if code point is punctuation character
  
  Determines whether the specified code point is a punctuation character.
  
  <info>true</info> for characters with general categories "P" (punctuation).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a punctuation character, <info>false</info> if not. Returns <info>null</info> on
             failure.

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


id: IntlChar::isspace
type: function
doc:
<comment>Description:</comment>
  Check if code point is a space character
  
  Determines if the specified character is a space character or not.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a space character, <info>false</info> if not. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isJavaSpaceChar()</strong>
   * <strong>IntlChar::isWhitespace()</strong>
   * <strong>IntlChar::isUWhiteSpace()</strong>
   * <strong>ctype_space()</strong>


id: IntlChar::istitle
type: function
doc:
<comment>Description:</comment>
  Check if code point is a titlecase letter
  
  Determines whether the specified code point is a titlecase letter.
  
  <info>true</info> for general category "Lt" (titlecase letter).

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a titlecase letter, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isupper()</strong>
   * <strong>IntlChar::islower()</strong>
   * <strong>IntlChar::totitle()</strong>


id: IntlChar::isupper
type: function
doc:
<comment>Description:</comment>
  Check if code point has the general category "Lu" (uppercase letter)
  
  Determines whether the specified code point has the general category "Lu" (uppercase letter).
  
  This misses some characters that are also uppercase but have a different general category value.
  In order to include those, use <strong>IntlChar::isUUppercase()</strong>.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is an Lu uppercase letter, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::islower()</strong>
   * <strong>IntlChar::istitle()</strong>
   * <strong>IntlChar::tolower()</strong>
   * <strong>IntlChar::toupper()</strong>
   * <info>IntlChar::PROPERTY_UPPERCASE</info>
   * <strong>ctype_upper()</strong>


id: IntlChar::isxdigit
type: function
doc:
<comment>Description:</comment>
  Check if code point is a hexadecimal digit
  
  Determines whether the specified code point is a hexadecimal digit.
  
  <info>true</info> for characters with general category "Nd" (decimal digit numbers) as well as Latin letters
  a-f and A-F in both ASCII and Fullwidth ASCII. (That is, for letters with code points 0041..0046,
  0061..0066, FF21..FF26, FF41..FF46.)
  
  This is equivalent to <return>IntlChar::digit($codepoint, 16) &gt;= 0</return>.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> if <strong>$codepoint</strong> is a hexadecimal character, <info>false</info> if not. Returns <info>null</info> on
             failure.

<comment>See Also:</comment>
   * <strong>IntlChar::isdigit()</strong>
   * <strong>ctype_xdigit()</strong>


id: IntlChar::ord
type: function
doc:
<comment>Description:</comment>
  Return Unicode code point value of character
  
  Returns the Unicode code point value of the given character.
  
  This function complements <strong>IntlChar::chr()</strong>.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$character</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|null</info>  Returns the Unicode code point value as an integer.

<comment>See Also:</comment>
   * <strong>IntlChar::chr()</strong>
   * <strong>mb_ord()</strong>
   * <strong>ord()</strong>


id: IntlChar::tolower
type: function
doc:
<comment>Description:</comment>
  Make Unicode character lowercase
  
  The given character is mapped to its lowercase equivalent. If the character has no lowercase
  equivalent, the original character itself is returned.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|string|null</info>  Returns the Simple_Lowercase_Mapping of the code point, if any; otherwise the
                   code point itself. Returns <info>null</info> on failure.
                   
                   The return type is <info>int</info> unless the code point was passed as a UTF-8 <info>string</info>, in
                   which case a <info>string</info> is returned. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::totitle()</strong>
   * <strong>IntlChar::toupper()</strong>
   * <strong>mb_strtolower()</strong>


id: IntlChar::totitle
type: function
doc:
<comment>Description:</comment>
  Make Unicode character titlecase
  
  The given character is mapped to its titlecase equivalent. If the character has no titlecase
  equivalent, the original character itself is returned.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|string|null</info>  Returns the Simple_Titlecase_Mapping of the code point, if any; otherwise the
                   code point itself. Returns <info>null</info> on failure.
                   
                   The return type is <info>int</info> unless the code point was passed as a UTF-8 <info>string</info>, in
                   which case a <info>string</info> is returned. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::tolower()</strong>
   * <strong>IntlChar::toupper()</strong>
   * <strong>mb_convert_case()</strong>


id: IntlChar::toupper
type: function
doc:
<comment>Description:</comment>
  Make Unicode character uppercase
  
  The given character is mapped to its uppercase equivalent. If the character has no uppercase
  equivalent, the character itself is returned.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$codepoint</strong>  The <info>int</info> codepoint value (e.g. <return>0x2603</return> for U+2603 SNOWMAN), or the character
                          encoded as a UTF-8 <info>string</info> (e.g. <return>"\u{2603}"</return>)

<comment>Return:</comment>
  <info>int|string|null</info>  Returns the Simple_Uppercase_Mapping of the code point, if any; otherwise the
                   code point itself.
                   
                   The return type is <info>int</info> unless the code point was passed as a UTF-8 <info>string</info>, in
                   which case a <info>string</info> is returned. Returns <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlChar::tolower()</strong>
   * <strong>IntlChar::totitle()</strong>
   * <strong>mb_strtoupper()</strong>


id: IntlCodePointBreakIterator
type: class
doc:
<comment>Description:</comment>
  This break iterator identifies the boundaries between UTF-8 code points.


id: IntlCodePointBreakIterator::getLastCodePoint
type: function
doc:
<comment>Description:</comment>
  Get last code point passed over after advancing or receding the iterator
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlDateFormatter
type: class
doc:
<comment>Description:</comment>
  Date Formatter is a concrete class that enables locale-dependent formatting/parsing  of dates
  using pattern strings and/or canned patterns.
  
  This class represents the ICU date formatting functionality.  It allows users to display dates in
  a localized format or to parse strings  into PHP date values using pattern strings and/or canned
  patterns.


id: IntlDateFormatter::FULL
type: constant
doc:
<comment>Description:</comment>
  Completely specified style (Tuesday, April 12, 1952 AD or 3:30:42pm PST)


id: IntlDateFormatter::RELATIVE_FULL
type: constant
doc:
<comment>Description:</comment>
  The same as <info>IntlDateFormatter::FULL</info>, but yesterday, today, and tomorrow show as <return>yesterday</return>, <return>today</return>,
  and <return>tomorrow</return>, respectively.  Available as of PHP 8.0.0, for <strong>$dateType</strong> only.


id: IntlDateFormatter::RELATIVE_LONG
type: constant
doc:
<comment>Description:</comment>
  The same as <info>IntlDateFormatter::LONG</info>, but yesterday, today, and tomorrow show as <return>yesterday</return>, <return>today</return>,
  and <return>tomorrow</return>, respectively.  Available as of PHP 8.0.0, for <strong>$dateType</strong> only.


id: IntlDateFormatter::RELATIVE_MEDIUM
type: constant
doc:
<comment>Description:</comment>
  The same as <info>IntlDateFormatter::MEDIUM</info>, but yesterday, today, and tomorrow show as <return>yesterday</return>,
  <return>today</return>, and <return>tomorrow</return>, respectively.  Available as of PHP 8.0.0, for <strong>$dateType</strong> only.


id: IntlDateFormatter::RELATIVE_SHORT
type: constant
doc:
<comment>Description:</comment>
  The same as <info>IntlDateFormatter::SHORT</info>, but yesterday, today, and tomorrow show as <return>yesterday</return>, <return>today</return>,
  and <return>tomorrow</return>, respectively.  Available as of PHP 8.0.0, for <strong>$dateType</strong> only.


id: IntlDateFormatter::__construct
type: function
doc:
<comment>Description:</comment>
  Create a date formatter
  
  Object-oriented style
  
  Object-oriented style (constructor)
  
  Procedural style
  
  Create a date formatter.

<comment>Param:</comment>
  <info>string|null</info>                            <strong>$locale</strong>    Locale to use when formatting or parsing or <info>null</info>
                                                    to use the value specified in the ini setting
                                                    intl.default_locale.
  <info>int</info>                                    <strong>$dateType</strong>  Format of the date determined by one of the
                                                    IntlDateFormatter constants. The default value
                                                    is <info>IntlDateFormatter::FULL</info>.
  <info>int</info>                                    <strong>$timeType</strong>  Format of the time determined by one of the
                                                    IntlDateFormatter constants. The default value
                                                    is <info>IntlDateFormatter::FULL</info>.
  <info>IntlTimeZone|DateTimeZone|string|null</info>  <strong>$timezone</strong>  Time zone ID. The default (and the one used if
                                                    <info>null</info> is given) is the one returned by
                                                    <strong>date_default_timezone_get()</strong> or, if applicable,
                                                    that of the <class>IntlCalendar</class> object passed for the
                                                    <strong>$calendar</strong> parameter. This ID must be a valid
                                                    identifier on ICUʼs database or an ID
                                                    representing an explicit offset, such as
                                                    <return>GMT-05:30</return>.
                                                    
                                                    This can also be an <class>IntlTimeZone</class> or a
                                                    <class>DateTimeZone</class> object.
  <info>IntlCalendar|int|null</info>                  <strong>$calendar</strong>  Calendar to use for formatting or parsing. The
                                                    default value is <info>null</info>, which corresponds to
                                                    <info>IntlDateFormatter::GREGORIAN</info>. This can either be
                                                    one of the IntlDateFormatter calendar constants
                                                    or an <class>IntlCalendar</class>. Any <class>IntlCalendar</class> object
                                                    passed will be clone; it will not be changed by
                                                    the <class>IntlDateFormatter</class>. This will determine the
                                                    calendar type used (gregorian, islamic, persian,
                                                    etc.) and, if <info>null</info> is given for the <strong>$timezone</strong>
                                                    parameter, also the timezone used.
  <info>string|null</info>                            <strong>$pattern</strong>   Optional pattern to use when formatting or
                                                    parsing. Possible patterns are documented at
                                                    https://unicode-org.github.io/icu/userguide/format_parse/datetime/.

<comment>Return:</comment>
  <info>IntlDateFormatter|null</info>  The created <class>IntlDateFormatter</class> or <info>null</info> in case of failure.

<comment>See Also:</comment>
   * <strong>datefmt_format()</strong>
   * <strong>datefmt_parse()</strong>
   * <strong>datefmt_get_error_code()</strong>
   * <strong>datefmt_get_error_message()</strong>


id: IntlDateFormatter::format
type: function
doc:
<comment>Description:</comment>
  Format the date/time value as a string
  
  Object-oriented style
  
  Procedural style
  
  Formats the time value as a string.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>                                      <strong>$formatter</strong>  The date formatter resource.
  <info>IntlCalendar|DateTimeInterface|array|string|int|float</info>  <strong>$datetime</strong>   Value to format. This may be a
                                                                     <class>DateTimeInterface</class> object, an
                                                                     <class>IntlCalendar</class> object, a <info>numeric</info>
                                                                     type representing a (possibly
                                                                     fractional) number of seconds
                                                                     since epoch or an <info>array</info> in the
                                                                     format output by <strong>localtime()</strong>.
                                                                     
                                                                     If a <class>DateTime</class> or an
                                                                     <class>IntlCalendar</class> object is passed,
                                                                     its timezone is not considered.
                                                                     The object will be formatted
                                                                     using the formaterʼs configured
                                                                     timezone. If one wants to use
                                                                     the timezone of the object to
                                                                     be formatted,
                                                                     <strong>IntlDateFormatter::setTimeZone()</strong>
                                                                     must be called before with the
                                                                     objectʼs timezone.
                                                                     Alternatively, the static
                                                                     function
                                                                     <strong>IntlDateFormatter::formatObject()</strong>
                                                                     may be used instead.

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

<comment>See Also:</comment>
   * <strong>datefmt_create()</strong>
   * <strong>datefmt_parse()</strong>
   * <strong>datefmt_get_error_code()</strong>
   * <strong>datefmt_get_error_message()</strong>
   * <strong>datefmt_format_object()</strong>


id: IntlDateFormatter::formatObject
type: function
doc:
<comment>Description:</comment>
  Formats an object
  
  Object-oriented style
  
  Procedural style
  
  This function allows formatting an <class>IntlCalendar</class> or <class>DateTime</class> object without first explicitly
  creating a <class>IntlDateFormatter</class> object.
  
  The temporary <class>IntlDateFormatter</class> that will be created will take the timezone from the passed in
  object. The timezone database bundled with PHP will not be used – ICU's will be used instead. The
  timezone identifier used in <class>DateTime</class> objects must therefore also exist in ICU's database.

<comment>Param:</comment>
  <info>IntlCalendar|DateTimeInterface</info>  <strong>$datetime</strong>  An object of type <class>IntlCalendar</class> or <class>DateTime</class>. The
                                             timezone information in the object will be used.
  <info>array|int|string|null</info>           <strong>$format</strong>    How to format the date/time. This can either be an
                                             <info>array</info> with two elements (first the date style, then the
                                             time style, these being one of the constants
                                             <info>IntlDateFormatter::NONE</info>, <info>IntlDateFormatter::SHORT</info>,
                                             <info>IntlDateFormatter::MEDIUM</info>, <info>IntlDateFormatter::LONG</info>,
                                             <info>IntlDateFormatter::FULL</info>), an <info>int</info> with the value of one
                                             of these constants (in which case it will be used both
                                             for the time and the date) or a <info>string</info> with the format
                                             described in the ICU documentation. If <info>null</info>, the
                                             default style will be used.
  <info>string|null</info>                     <strong>$locale</strong>    The locale to use, or <info>null</info> to use the default one.

<comment>Return:</comment>
  <info>string|false</info>  A string with result or <info>false</info> on failure.


id: IntlDateFormatter::getCalendar
type: function
doc:
<comment>Description:</comment>
  Get the calendar type used for the IntlDateFormatter
  
  Object-oriented style
  
  Procedural style

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource

<comment>Return:</comment>
  <info>int|false</info>  The calendar type being used by the formatter. Either <info>IntlDateFormatter::TRADITIONAL</info> or
             <info>IntlDateFormatter::GREGORIAN</info>. Returns <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>datefmt_get_calendar_object()</strong>
   * <strong>datefmt_set_calendar()</strong>
   * <strong>datefmt_create()</strong>


id: IntlDateFormatter::getCalendarObject
type: function
doc:
<comment>Description:</comment>
  Get copy of formatterʼs calendar object
  
  Object-oriented style
  
  Procedural style
  
  Obtain a copy of the calendar object used internally by this formatter. This calendar will have a
  type (as in gregorian, japanese, buddhist, roc, persian, islamic, etc.) and a timezone that match
  the type and timezone used by the formatter. The date/time of the object is unspecified.

<comment>Return:</comment>
  <info>IntlCalendar|false|null</info>  A copy of the internal calendar object used by this formatter, or <info>null</info> if
                           none has been set,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlDateFormatter::getCalendar()</strong>
   * <strong>IntlDateFormatter::setCalendar()</strong>
   * <class>IntlCalendar</class>


id: IntlDateFormatter::getDateType
type: function
doc:
<comment>Description:</comment>
  Get the datetype used for the IntlDateFormatter
  
  Object-oriented style
  
  Procedural style
  
  Returns date type used by the formatter.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource.

<comment>Return:</comment>
  <info>int|false</info>  The current date type value of the formatter, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>datefmt_get_timetype()</strong>
   * <strong>datefmt_create()</strong>


id: IntlDateFormatter::getErrorCode
type: function
doc:
<comment>Description:</comment>
  Get the error code from last operation
  
  Object-oriented style
  
  Procedural style
  
  Get the error code from last operation. Returns error code from the last number formatting
  operation.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource.

<comment>Return:</comment>
  <info>int</info>  The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.

<comment>See Also:</comment>
   * <strong>datefmt_get_error_message()</strong>
   * <strong>intl_get_error_code()</strong>
   * <strong>intl_is_failure()</strong>


id: IntlDateFormatter::getErrorMessage
type: function
doc:
<comment>Description:</comment>
  Get the error text from the last operation
  
  Object-oriented style
  
  Procedural style
  
  Get the error text from the last operation.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource.

<comment>Return:</comment>
  <info>string</info>  Description of the last error.

<comment>See Also:</comment>
   * <strong>datefmt_get_error_code()</strong>
   * <strong>intl_get_error_code()</strong>
   * <strong>intl_is_failure()</strong>


id: IntlDateFormatter::getLocale
type: function
doc:
<comment>Description:</comment>
  Get the locale used by formatter
  
  Object-oriented style
  
  Procedural style
  
  Get locale used by the formatter.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource
  <info>int</info>                <strong>$type</strong>       You can choose between valid and actual locale (
                                 <info>Locale::VALID_LOCALE</info>, <info>Locale::ACTUAL_LOCALE</info>, respectively). The
                                 default is the actual locale.

<comment>Return:</comment>
  <info>string|false</info>  The locale of this formatter,  or <info>false</info> on failure.

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


id: IntlDateFormatter::getPattern
type: function
doc:
<comment>Description:</comment>
  Get the pattern used for the IntlDateFormatter
  
  Object-oriented style
  
  Procedural style
  
  Get pattern used by the formatter.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource.

<comment>Return:</comment>
  <info>string|false</info>  The pattern string being used to format/parse,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>datefmt_set_pattern()</strong>
   * <strong>datefmt_create()</strong>


id: IntlDateFormatter::getTimeType
type: function
doc:
<comment>Description:</comment>
  Get the timetype used for the IntlDateFormatter
  
  Object-oriented style
  
  Procedural style
  
  Return time type used by the formatter.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource.

<comment>Return:</comment>
  <info>int|false</info>  The current date type value of the formatter, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>datefmt_get_datetype()</strong>
   * <strong>datefmt_create()</strong>


id: IntlDateFormatter::getTimeZone
type: function
doc:
<comment>Description:</comment>
  Get formatterʼs timezone
  
  Object-oriented style
  
  Procedural style
  
  Returns an <class>IntlTimeZone</class> object representing the timezone that will be used by this object to
  format dates and times. When formatting <class>IntlCalendar</class> and <class>DateTime</class> objects with this
  <class>IntlDateFormatter</class>, the timezone used will be the one returned by this method, not the one
  associated with the objects being formatted.

<comment>Return:</comment>
  <info>IntlTimeZone|false</info>  The associated <class>IntlTimeZone</class> object or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlDateFormatter::getTimeZoneId()</strong>
   * <strong>IntlDateFormatter::setTimeZone()</strong>
   * <class>IntlTimeZone</class>


id: IntlDateFormatter::getTimeZoneId
type: function
doc:
<comment>Description:</comment>
  Get the timezone-id used for the IntlDateFormatter
  
  Object-oriented style
  
  Procedural style
  
  Get the timezone-id used for the IntlDateFormatter.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource.

<comment>Return:</comment>
  <info>string|false</info>  ID string for the time zone used by this formatter,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>datefmt_set_timezone()</strong>
   * <strong>datefmt_create()</strong>


id: IntlDateFormatter::isLenient
type: function
doc:
<comment>Description:</comment>
  Get the lenient used for the IntlDateFormatter
  
  Object-oriented style
  
  Procedural style
  
  Check if the parser is strict or lenient in interpreting inputs that do not match the pattern
  exactly.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource.

<comment>Return:</comment>
  <info>bool</info>  <info>true</info> if parser is lenient, <info>false</info> if parser is strict. By default the parser is lenient.

<comment>See Also:</comment>
   * <strong>datefmt_set_lenient()</strong>
   * <strong>datefmt_create()</strong>


id: IntlDateFormatter::localtime
type: function
doc:
<comment>Description:</comment>
  Parse string to a field-based time value
  
  Object-oriented style
  
  Procedural style
  
  Converts string $value to a field-based time value ( an array of various fields), starting at
  $parse_pos and consuming as much of the input value as possible.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource
  <info>string</info>             <strong>$string</strong>     string to convert to a time
  <info>int</info>                <strong>$offset</strong>     Position at which to start the parsing in $value (zero-based). If
                                 no error occurs before $value is consumed, $parse_pos will contain
                                 -1 otherwise it will contain the position at which parsing ended .
                                 If $parse_pos &gt; strlen($value), the parse fails immediately.

<comment>Return:</comment>
  <info>array|false</info>  Localtime compatible array of integers  : contains 24 hour clock value in tm_hour
               field, or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>datefmt_create()</strong>
   * <strong>datefmt_format()</strong>
   * <strong>datefmt_parse()</strong>
   * <strong>datefmt_get_error_code()</strong>
   * <strong>datefmt_get_error_message()</strong>


id: IntlDateFormatter::parse
type: function
doc:
<comment>Description:</comment>
  Parse string to a timestamp value
  
  Object-oriented style
  
  Procedural style
  
  Converts <strong>$string</strong> to an incremental time value, starting at  <strong>$offset</strong> and consuming as much of the
  input value as possible.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource
  <info>string</info>             <strong>$string</strong>     string to convert to a time
  <info>int</info>                <strong>$offset</strong>     Position at which to start the parsing in <strong>$string</strong> (zero-based). If
                                 no error occurs before <strong>$string</strong> is consumed, <strong>$offset</strong> will contain -1
                                 otherwise it will contain the position at which parsing ended (and
                                 the error occurred). This variable will contain the end position if
                                 the parse fails. If <strong>$offset</strong> &gt; strlen($string), the parse fails
                                 immediately.

<comment>Return:</comment>
  <info>int|float|false</info>  Timestamp of parsed value, or <info>false</info> if value cannot be parsed.

<comment>See Also:</comment>
   * <strong>datefmt_create()</strong>
   * <strong>datefmt_format()</strong>
   * <strong>datefmt_localtime()</strong>
   * <strong>datefmt_get_error_code()</strong>
   * <strong>datefmt_get_error_message()</strong>


id: IntlDateFormatter::setCalendar
type: function
doc:
<comment>Description:</comment>
  Sets the calendar type used by the formatter
  
  Object-oriented style
  
  Procedural style
  
  Sets the calendar or calendar type used by the formatter.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>      <strong>$formatter</strong>  The formatter resource.
  <info>IntlCalendar|int|null</info>  <strong>$calendar</strong>   This can either be: the calendar type to use (default is
                                     <info>IntlDateFormatter::GREGORIAN</info>, which is also used if <info>null</info> is
                                     specified) or an <class>IntlCalendar</class> object.
                                     
                                     Any <class>IntlCalendar</class> object passed in will be cloned; no
                                     modifications will be made to the argument object.
                                     
                                     The timezone of the formatter will only be kept if an
                                     <class>IntlCalendar</class> object is not passed, otherwise the new timezone
                                     will be that of the passed object.

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

<comment>See Also:</comment>
   * <strong>datefmt_get_calendar()</strong>
   * <strong>datefmt_get_calendar_object()</strong>
   * <strong>datefmt_create()</strong>


id: IntlDateFormatter::setLenient
type: function
doc:
<comment>Description:</comment>
  Set the leniency of the parser
  
  Object-oriented style
  
  Procedural style
  
  Define if the parser is strict or lenient in interpreting inputs that do not match the pattern
  exactly. Enabling lenient parsing allows the parser to accept otherwise flawed date or  time
  patterns, parsing as much as possible to obtain a value. Extra space, unrecognized tokens, or
  invalid values ("February 30th") are not accepted.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource
  <info>bool</info>               <strong>$lenient</strong>    Sets whether the parser is lenient or not, default is <info>true</info>
                                 (lenient).

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

<comment>See Also:</comment>
   * <strong>datefmt_is_lenient()</strong>
   * <strong>datefmt_create()</strong>


id: IntlDateFormatter::setPattern
type: function
doc:
<comment>Description:</comment>
  Set the pattern used for the IntlDateFormatter
  
  Object-oriented style
  
  Procedural style
  
  Set the pattern used for the IntlDateFormatter.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>  <strong>$formatter</strong>  The formatter resource.
  <info>string</info>             <strong>$pattern</strong>    New pattern string to use. Possible patterns are documented at
                                 https://unicode-org.github.io/icu/userguide/format_parse/datetime/.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Bad formatstrings are usually the cause of the
        failure.

<comment>See Also:</comment>
   * <strong>datefmt_get_pattern()</strong>
   * <strong>datefmt_create()</strong>


id: IntlDateFormatter::setTimeZone
type: function
doc:
<comment>Description:</comment>
  Sets formatterʼs timezone
  
  Object-oriented style
  
  Procedural style
  
  Sets the timezone used for the IntlDateFormatter. object.

<comment>Param:</comment>
  <info>IntlDateFormatter</info>                      <strong>$formatter</strong>  The formatter resource.
  <info>IntlTimeZone|DateTimeZone|string|null</info>  <strong>$timezone</strong>   The timezone to use for this formatter. This
                                                     can be specified in the following forms:
                                                     
                                                     <info>null</info>, in which case the default timezone will
                                                     be used, as specified in the ini setting
                                                     date.timezone or through the function
                                                     <strong>date_default_timezone_set()</strong> and as returned by
                                                     <strong>date_default_timezone_get()</strong>.
                                                     
                                                     An <class>IntlTimeZone</class>, which will be used directly.
                                                     
                                                     A <class>DateTimeZone</class>. Its identifier will be
                                                     extracted and an ICU timezone object will be
                                                     created; the timezone will be backed by ICUʼs
                                                     database, not PHPʼs.
                                                     
                                                     A <info>string</info>, which should be a valid ICU timezone
                                                     identifier. See
                                                     <strong>IntlTimeZone::createTimeZoneIDEnumeration()</strong>.
                                                     Raw offsets such as <return>"GMT+08:30"</return> are also
                                                     accepted.

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>null</info> on success and <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>IntlDateFormatter::getTimeZone()</strong>


id: IntlDatePatternGenerator
type: class
doc:
<comment>Description:</comment>
  Generates localized date and/or time format pattern strings suitable for use in <class>IntlDateFormatter</class>.


id: IntlDatePatternGenerator::__construct
type: function
doc:
<comment>Description:</comment>
  Creates a new IntlDatePatternGenerator instance
  
  Creates a new <class>IntlDatePatternGenerator</class> instance.

<comment>Param:</comment>
  <info>string|null</info>  <strong>$locale</strong>  The locale. If <info>null</info> is passed, uses the ini setting intl.default_locale.

<comment>Return:</comment>
  <info>IntlDatePatternGenerator|null</info>  Returns an <class>IntlDatePatternGenerator</class> instance on success, or <info>null</info> on
                                 failure.


id: IntlDatePatternGenerator::getBestPattern
type: function
doc:
<comment>Description:</comment>
  Determines the most suitable date/time format
  
  Determines which date/time format is most suitable for a particular locale.

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

<comment>Return:</comment>
  <info>string|false</info>  Returns a format, accepted by DateTimeInterface::format on success,  or <info>false</info> on
                failure.


id: IntlGregorianCalendar::__construct
type: function
doc:
<comment>Description:</comment>
  Create the Gregorian Calendar class
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>IntlTimeZone</info>  <strong>$tz</strong>              
  <info>string</info>        <strong>$locale</strong>          
  <info>int</info>           <strong>$timeZoneOrYear</strong>  
  <info>int</info>           <strong>$localeOrMonth</strong>   
  <info>int</info>           <strong>$dayOfMonth</strong>      
  <info>int</info>           <strong>$hour</strong>            
  <info>int</info>           <strong>$minute</strong>          
  <info>int</info>           <strong>$second</strong>          


id: IntlGregorianCalendar::createFromDate
type: function
doc:
<comment>Description:</comment>
  Create a new IntlGregorianCalendar instance from date
  
  Creates a new <class>IntlGregorianCalendar</class> instance from date.

<comment>Param:</comment>
  <info>int</info>  <strong>$year</strong>        The new value for <info>IntlGregorianCalendar::FIELD_YEAR</info>.
  <info>int</info>  <strong>$month</strong>       The new value for <info>IntlGregorianCalendar::FIELD_MONTH</info>. The month sequence is
                    zero-based, i.e., January is represented by 0, February by 1, …, December is 11
                    and Undecember (if the calendar has it) is 12.
  <info>int</info>  <strong>$dayOfMonth</strong>  The new value for <info>IntlGregorianCalendar::FIELD_DAY_OF_MONTH</info>.

<comment>Return:</comment>
  <info>static</info>  Returns a new <class>IntlGregorianCalendar</class> instance.

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


id: IntlGregorianCalendar::createFromDateTime
type: function
doc:
<comment>Description:</comment>
  Create a new IntlGregorianCalendar instance from date and time
  
  Creates a new <class>IntlGregorianCalendar</class> instance from date and time.

<comment>Param:</comment>
  <info>int</info>  <strong>$year</strong>        The new value for <info>IntlGregorianCalendar::FIELD_YEAR</info>.
  <info>int</info>  <strong>$month</strong>       The new value for <info>IntlGregorianCalendar::FIELD_MONTH</info>. The month sequence is
                    zero-based, i.e., January is represented by 0, February by 1, …, December is 11
                    and Undecember (if the calendar has it) is 12.
  <info>int</info>  <strong>$dayOfMonth</strong>  The new value for <info>IntlGregorianCalendar::FIELD_DAY_OF_MONTH</info>.
  <info>int</info>  <strong>$hour</strong>        The new value for <info>IntlGregorianCalendar::FIELD_HOUR_OF_DAY</info>.
  <info>int</info>  <strong>$minute</strong>      The new value for <info>IntlGregorianCalendar::FIELD_MINUTE</info>.
  <info>int</info>  <strong>$second</strong>      The new value for <info>IntlGregorianCalendar::FIELD_SECOND</info>.

<comment>Return:</comment>
  <info>static</info>  Returns a new <class>IntlGregorianCalendar</class> instance.

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


id: IntlGregorianCalendar::getGregorianChange
type: function
doc:
<comment>Description:</comment>
  Get the Gregorian Calendar change date
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>float</info>  Returns the change date.


id: IntlGregorianCalendar::isLeapYear
type: function
doc:
<comment>Description:</comment>
  Determine if the given year is a leap year
  
  This function is
  currently not documented; only its argument list is available.

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

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> for leap years, <info>false</info> otherwise and on failure.


id: IntlGregorianCalendar::setGregorianChange
type: function
doc:
<comment>Description:</comment>
  Set the Gregorian Calendar the change date
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>float</info>  <strong>$timestamp</strong>  

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


id: IntlIterator
type: class
doc:
<comment>Description:</comment>
  This class represents iterator objects throughout the intl extension whenever the iterator cannot
  be identified with any other object provided by the extension. The distinct iterator object used
  internally by the <return>foreach</return> construct can only be obtained (in the relevant part here) from objects,
  so objects of this class serve the purpose of providing the hook through which this internal
  object can be obtained. As a convenience, this class also implements the <class>Iterator</class> interface,
  allowing the collection of values to be navigated using the methods defined in that interface.
  Both these methods and the internal iterator objects provided to <return>foreach</return> are backed by the same
  state (e.g. the position of the iterator and its current value).
  
  Subclasses may provide richer functionality.


id: IntlIterator::current
type: function
doc:
<comment>Description:</comment>
  Get the current element
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlIterator::key
type: function
doc:
<comment>Description:</comment>
  Get the current key
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlIterator::next
type: function
doc:
<comment>Description:</comment>
  Move forward to the next element
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Rewind the iterator to the first element
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlIterator::valid
type: function
doc:
<comment>Description:</comment>
  Check if current position is valid
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlPartsIterator
type: class
doc:
<comment>Description:</comment>
  Objects of this class can be obtained from <class>IntlBreakIterator</class> objects. While the break iterators
  provide a sequence of boundary positions when iterated, <class>IntlPartsIterator</class> objects provide, as a
  convenience, the text fragments comprehended between two successive boundaries.
  
  The keys may represent the offset of the left boundary, right boundary, or they may just the
  sequence of non-negative integers. See <strong>IntlBreakIterator::getPartsIterator()</strong>.


id: IntlPartsIterator::getBreakIterator
type: function
doc:
<comment>Description:</comment>
  Get IntlBreakIterator backing this parts iterator
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>IntlBreakIterator</info>  


id: IntlRuleBasedBreakIterator
type: class
doc:
<comment>Description:</comment>
  A subclass of <class>IntlBreakIterator</class> that encapsulates ICU break iterators whose behavior is specified
  using a set of rules. This is the most common kind of break iterators.
  
  These rules are described in the ICU Boundary Analysis User Guide.


id: IntlRuleBasedBreakIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Create iterator from ruleset
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>string</info>  <strong>$rules</strong>     
  <info>bool</info>    <strong>$compiled</strong>  


id: IntlRuleBasedBreakIterator::getBinaryRules
type: function
doc:
<comment>Description:</comment>
  Get the binary form of compiled rules
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlRuleBasedBreakIterator::getRuleStatus
type: function
doc:
<comment>Description:</comment>
  Get the largest status value from the break rules that determined the current break position
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlRuleBasedBreakIterator::getRuleStatusVec
type: function
doc:
<comment>Description:</comment>
  Get the status values from the break rules that determined the current break position
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlRuleBasedBreakIterator::getRules
type: function
doc:
<comment>Description:</comment>
  Get the rule set used to create this object
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlTimeZone::countEquivalentIDs
type: function
doc:
<comment>Description:</comment>
  Get the number of IDs in the equivalency group that includes the given ID
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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

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


id: IntlTimeZone::createDefault
type: function
doc:
<comment>Description:</comment>
  Create a new copy of the default timezone for this host
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>IntlTimeZone</info>  


id: IntlTimeZone::createEnumeration
type: function
doc:
<comment>Description:</comment>
  Get an enumeration over time zone IDs associated with the
    given country or offset
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>IntlTimeZone|string|int|float|null</info>  <strong>$countryOrRawOffset</strong>  

<comment>Return:</comment>
  <info>IntlIterator|false</info>  


id: IntlTimeZone::createTimeZone
type: function
doc:
<comment>Description:</comment>
  Create a timezone object for the given ID
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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

<comment>Return:</comment>
  <info>IntlTimeZone|null</info>  


id: IntlTimeZone::createTimeZoneIDEnumeration
type: function
doc:
<comment>Description:</comment>
  Get an enumeration over system time zone IDs with the given filter conditions
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>int</info>          <strong>$type</strong>       
  <info>string|null</info>  <strong>$region</strong>     
  <info>int|null</info>     <strong>$rawOffset</strong>  

<comment>Return:</comment>
  <info>IntlIterator|false</info>  Returns <class>IntlIterator</class> or <info>false</info> on failure.


id: IntlTimeZone::fromDateTimeZone
type: function
doc:
<comment>Description:</comment>
  Create a timezone object from DateTimeZone
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>DateTimeZone</info>  <strong>$timezone</strong>  

<comment>Return:</comment>
  <info>IntlTimeZone|null</info>  


id: IntlTimeZone::getCanonicalID
type: function
doc:
<comment>Description:</comment>
  Get the canonical system timezone ID or the normalized custom time zone ID for the given time zone
  ID
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>string</info>  <strong>$timezoneId</strong>  
  <info>bool</info>    <strong>$isSystemId</strong>  

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


id: IntlTimeZone::getDSTSavings
type: function
doc:
<comment>Description:</comment>
  Get the amount of time to be added to local standard time to get local wall clock time
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlTimeZone::getDisplayName
type: function
doc:
<comment>Description:</comment>
  Get a name of this time zone suitable for presentation to the user
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>bool</info>         <strong>$dst</strong>     
  <info>int</info>          <strong>$style</strong>   
  <info>string|null</info>  <strong>$locale</strong>  

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


id: IntlTimeZone::getEquivalentID
type: function
doc:
<comment>Description:</comment>
  Get an ID in the equivalency group that includes the given ID
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>string</info>  <strong>$timezoneId</strong>  
  <info>int</info>     <strong>$offset</strong>      

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


id: IntlTimeZone::getErrorCode
type: function
doc:
<comment>Description:</comment>
  Get last error code on the object
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlTimeZone::getErrorMessage
type: function
doc:
<comment>Description:</comment>
  Get last error message on the object
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlTimeZone::getGMT
type: function
doc:
<comment>Description:</comment>
  Create GMT (UTC) timezone
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>IntlTimeZone</info>  


id: IntlTimeZone::getID
type: function
doc:
<comment>Description:</comment>
  Get timezone ID
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlTimeZone::getIDForWindowsID
type: function
doc:
<comment>Description:</comment>
  Translate a Windows timezone into a system timezone
  
  Object-oriented style (method):
  
  Procedural style:
  
  Translates a Windows timezone (e.g. "Pacific Standard Time") into a system timezone (e.g.
  "America/Los_Angeles").
  
  This function requires ICU version ≥ 52.
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>string</info>       <strong>$timezoneId</strong>  
  <info>string|null</info>  <strong>$region</strong>      

<comment>Return:</comment>
  <info>string|false</info>  Returns the system timezone or <info>false</info> on failure.

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


id: IntlTimeZone::getOffset
type: function
doc:
<comment>Description:</comment>
  Get the time zone raw and GMT offset for the given moment in time
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>float</info>  <strong>$timestamp</strong>  
  <info>bool</info>   <strong>$local</strong>      
  <info>int</info>    <strong>$rawOffset</strong>  
  <info>int</info>    <strong>$dstOffset</strong>  

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


id: IntlTimeZone::getRawOffset
type: function
doc:
<comment>Description:</comment>
  Get the raw GMT offset (before taking daylight savings time into account
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlTimeZone::getRegion
type: function
doc:
<comment>Description:</comment>
  Get the region code associated with the given system time zone ID
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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

<comment>Return:</comment>
  <info>string|false</info>  Return region or <info>false</info> on failure.


id: IntlTimeZone::getTZDataVersion
type: function
doc:
<comment>Description:</comment>
  Get the timezone data version currently used by ICU
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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


id: IntlTimeZone::getUnknown
type: function
doc:
<comment>Description:</comment>
  Get the "unknown" time zone
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>IntlTimeZone</info>  Returns <class>IntlTimeZone</class> or <info>null</info> on failure.


id: IntlTimeZone::getWindowsID
type: function
doc:
<comment>Description:</comment>
  Translate a system timezone into a Windows timezone
  
  Object-oriented style (method):
  
  Procedural style:
  
  Translates a system timezone (e.g. "America/Los_Angeles") into a Windows timezone (e.g. "Pacific
  Standard Time").
  
  This function requires ICU version ≥ 52.
  
  This function is
  currently not documented; only its argument list is available.

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

<comment>Return:</comment>
  <info>string|false</info>  Returns the Windows timezone or <info>false</info> on failure.

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


id: IntlTimeZone::hasSameRules
type: function
doc:
<comment>Description:</comment>
  Check if this zone has the same rules and offset as another zone
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>IntlTimeZone</info>  <strong>$other</strong>  

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


id: IntlTimeZone::toDateTimeZone
type: function
doc:
<comment>Description:</comment>
  Convert to DateTimeZone object
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>DateTimeZone|false</info>  


id: IntlTimeZone::useDaylightTime
type: function
doc:
<comment>Description:</comment>
  Check if this time zone uses daylight savings time
  
  Object-oriented style (method):
  
  Procedural style:
  
  This function is
  currently not documented; only its argument list is available.

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


id: Iterator
type: class
doc:
<comment>Description:</comment>
  Interface for external iterators or objects that can be iterated themselves internally.


id: Iterator::current
type: function
doc:
<comment>Description:</comment>
  Return the current element
  
  Returns the current element.

<comment>Return:</comment>
  <info>mixed</info>  Can return any type.


id: Iterator::key
type: function
doc:
<comment>Description:</comment>
  Return the key of the current element
  
  Returns the key of the current element.

<comment>Return:</comment>
  <info>mixed</info>  Returns <info>scalar</info> on success, or <info>null</info> on failure.


id: Iterator::next
type: function
doc:
<comment>Description:</comment>
  Move forward to next element
  
  Moves the current position to the next element.
  
  This method is called after each foreach loop.

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


id: Iterator::rewind
type: function
doc:
<comment>Description:</comment>
  Rewind the Iterator to the first element
  
  Rewinds back to the first element of the Iterator.
  
  This is the first method called when starting a foreach loop. It will not be executed after
  foreach loops.

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


id: Iterator::valid
type: function
doc:
<comment>Description:</comment>
  Checks if current position is valid
  
  This method is called after Iterator::rewind and Iterator::next to check if the current position
  is valid.

<comment>Return:</comment>
  <info>bool</info>  The return value will be casted to <info>bool</info> and then evaluated. Returns <info>true</info> on success or <info>false</info>
        on failure.


id: IteratorAggregate::getIterator
type: function
doc:
<comment>Description:</comment>
  Retrieve an external iterator
  
  Returns an external iterator.

<comment>Return:</comment>
  <info>Traversable</info>  An instance of an object implementing <class>Iterator</class> or <class>Traversable</class>


id: IteratorIterator
type: class
doc:
<comment>Description:</comment>
  This iterator wrapper allows the conversion of anything that is Traversable into an Iterator. It
  is important to understand that most classes that do not implement Iterators have reasons as most
  likely they do not allow the full Iterator feature set. If so, techniques should be provided to
  prevent misuse, otherwise expect exceptions or fatal errors.


id: IteratorIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Create an iterator from anything that is traversable
  
  Creates an iterator from anything that is traversable.

<comment>Param:</comment>
  <info>Traversable</info>  <strong>$iterator</strong>  The traversable iterator.
  <info>string|null</info>  <strong>$class</strong>     The class name to use for the inner iterator. It allows to specify a
                          different iterator class to wrap the provided iterator. By default, it
                          will use the IteratorIterator class itself.

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


id: IteratorIterator::current
type: function
doc:
<comment>Description:</comment>
  Get the current value
  
  Get the value of the current element.

<comment>Return:</comment>
  <info>mixed</info>  The value of the current element.

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


id: IteratorIterator::getInnerIterator
type: function
doc:
<comment>Description:</comment>
  Get the inner iterator
  
  Get the inner iterator.

<comment>Return:</comment>
  <info>Iterator|null</info>  The inner iterator as passed to IteratorIterator::__construct, or <info>null</info> when there
                 is no inner iterator.

<comment>See Also:</comment>
   * <class>Iterator</class>
   * <class>OuterIterator</class>


id: IteratorIterator::key
type: function
doc:
<comment>Description:</comment>
  Get the key of the current element
  
  Get the key of the current element.

<comment>Return:</comment>
  <info>mixed</info>  The key of the current element.

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


id: IteratorIterator::next
type: function
doc:
<comment>Description:</comment>
  Forward to the next element
  
  Forward to the next element.

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

<comment>See Also:</comment>
   * IteratorIterator::rewind
   * IteratorIterator::valid


id: IteratorIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Rewind to the first element
  
  Rewinds to the first element.

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

<comment>See Also:</comment>
   * IteratorIterator::next
   * IteratorIterator::valid


id: IteratorIterator::valid
type: function
doc:
<comment>Description:</comment>
  Checks if the iterator is valid
  
  Checks if the iterator is valid.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the iterator is valid, otherwise <info>false</info>

<comment>See Also:</comment>
   * <strong>iterator_count()</strong>
   * IteratorIterator::current


id: JSON_ERROR_INF_OR_NAN
type: constant
doc:
<comment>Description:</comment>
  The value passed to <strong>json_encode()</strong> includes either <info>NAN</info> or <info>INF</info>. If the <info>JSON_PARTIAL_OUTPUT_ON_ERROR</info>
  option was given, <return>0</return> will be encoded in the place of these special numbers.


id: JSON_ERROR_INVALID_PROPERTY_NAME
type: constant
doc:
<comment>Description:</comment>
  A key starting with \u0000 character was in the string passed to <strong>json_decode()</strong> when decoding a
  JSON object into a PHP object.


id: JSON_ERROR_RECURSION
type: constant
doc:
<comment>Description:</comment>
  The object or array passed to <strong>json_encode()</strong> include recursive references and cannot be encoded. If
  the <info>JSON_PARTIAL_OUTPUT_ON_ERROR</info> option was given, <info>null</info> will be encoded in the place of the
  recursive reference.


id: JSON_ERROR_UNSUPPORTED_TYPE
type: constant
doc:
<comment>Description:</comment>
  A value of an unsupported type was given to <strong>json_encode()</strong>, such as a resource. If the
  <info>JSON_PARTIAL_OUTPUT_ON_ERROR</info> option was given, <info>null</info> will be encoded in the place of the
  unsupported value.


id: JSON_ERROR_UTF16
type: constant
doc:
<comment>Description:</comment>
  Single unpaired UTF-16 surrogate in unicode escape contained in the JSON string passed to
  <strong>json_decode()</strong>.


id: JSON_FORCE_OBJECT
type: constant
doc:
<comment>Description:</comment>
  Outputs an object rather than an array when a non-associative array is used. Especially useful
  when the recipient of the output is expecting an object and the array is empty.


id: JSON_INVALID_UTF8_SUBSTITUTE
type: constant
doc:
<comment>Description:</comment>
  Convert invalid UTF-8 characters to \0xfffd (Unicode Character 'REPLACEMENT CHARACTER') Available
  as of PHP 7.2.0.


id: JSON_OBJECT_AS_ARRAY
type: constant
doc:
<comment>Description:</comment>
  Decodes JSON objects as PHP array. This option can be added automatically by calling <strong>json_decode()</strong>
  with the second parameter equal to <info>true</info>.


id: JSON_PRESERVE_ZERO_FRACTION
type: constant
doc:
<comment>Description:</comment>
  Ensures that <info>float</info> values are always encoded as a float value.


id: JSON_THROW_ON_ERROR
type: constant
doc:
<comment>Description:</comment>
  Throws <class>JsonException</class> if an error occurs instead  of setting the global error state that is
  retrieved with <strong>json_last_error()</strong> and <strong>json_last_error_msg()</strong>.  <info>JSON_PARTIAL_OUTPUT_ON_ERROR</info> takes
  precedence over <info>JSON_THROW_ON_ERROR</info>. Available as of PHP 7.3.0.


id: JSON_UNESCAPED_LINE_TERMINATORS
type: constant
doc:
<comment>Description:</comment>
  The line terminators are kept unescaped when <info>JSON_UNESCAPED_UNICODE</info> is supplied. It uses the same
  behaviour as it was before PHP 7.1 without this constant. Available as of PHP 7.1.0.


id: JSON_UNESCAPED_UNICODE
type: constant
doc:
<comment>Description:</comment>
  Encode multibyte Unicode characters literally (default is to escape as \uXXXX).


id: JsonSerializable
type: class
doc:
<comment>Description:</comment>
  Objects implementing JsonSerializable can customize their JSON representation when encoded with
  <strong>json_encode()</strong>.


id: JsonSerializable::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Specify data which should be serialized to JSON
  
  Serializes the object to a value that can be serialized natively by <strong>json_encode()</strong>.

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong>, which is a value of any type other
         than a resource.


id: LATT_NOINFERIORS
type: constant
doc:
<comment>Description:</comment>
  This mailbox has no "children" (there are no mailboxes below this one).


id: LDAP\Connection
type: class
doc:
<comment>Description:</comment>
  A fully opaque class which replaces a <return>ldap</return> resource as of PHP 8.1.0.


id: LDAP\Result
type: class
doc:
<comment>Description:</comment>
  A fully opaque class which replaces a <return>ldap result</return> resource as of PHP 8.1.0.


id: LDAP\ResultEntry
type: class
doc:
<comment>Description:</comment>
  A fully opaque class which replaces a <return>ldap result entry</return> resource as of PHP 8.1.0.


id: LDAP_CONTROL_ASSERT
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Assertion (RFC 4528). Available as of PHP 7.3.0.


id: LDAP_CONTROL_AUTHZID_REQUEST
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Authorization Identity Request (RFC 3829). Available as of PHP 7.3.0.


id: LDAP_CONTROL_AUTHZID_RESPONSE
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Authorization Identity Response (RFC 3829). Available as of PHP 7.3.0.


id: LDAP_CONTROL_DONTUSECOPY
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Don't Use Copy (RFC 6171). Available as of PHP 7.3.0.


id: LDAP_CONTROL_MANAGEDSAIT
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Manage DSA IT (RFC 3296). Available as of PHP 7.3.0.


id: LDAP_CONTROL_PAGEDRESULTS
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Paged results (RFC 2696). Available as of PHP 7.3.0.


id: LDAP_CONTROL_PASSWORDPOLICYREQUEST
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Password Policy Request. Available as of PHP 7.3.0.


id: LDAP_CONTROL_PASSWORDPOLICYRESPONSE
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Password Policy Response. Available as of PHP 7.3.0.


id: LDAP_CONTROL_POST_READ
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Post read (RFC 4527). Available as of PHP 7.3.0.


id: LDAP_CONTROL_PRE_READ
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Pre read (RFC 4527). Available as of PHP 7.3.0.


id: LDAP_CONTROL_PROXY_AUTHZ
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Proxied Authorization (RFC 4370). Available as of PHP 7.3.0.


id: LDAP_CONTROL_SORTREQUEST
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Sort request (RFC 2891). Available as of PHP 7.3.0.


id: LDAP_CONTROL_SORTRESPONSE
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Sort response (RFC 2891). Available as of PHP 7.3.0.


id: LDAP_CONTROL_SUBENTRIES
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Subentries (RFC 3672). Available as of PHP 7.3.0.


id: LDAP_CONTROL_SYNC
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Content Synchronization Operation (RFC 4533). Available as of PHP 7.3.0.


id: LDAP_CONTROL_SYNC_DONE
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Content Synchronization Operation Done (RFC 4533). Available as of PHP 7.3.0.


id: LDAP_CONTROL_SYNC_STATE
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Content Synchronization Operation State (RFC 4533). Available as of PHP 7.3.0.


id: LDAP_CONTROL_VALUESRETURNFILTER
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Filter returned values (RFC 3876). Available as of PHP 7.3.0.


id: LDAP_CONTROL_VLVREQUEST
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Virtual List View Request. Available as of PHP 7.3.0.


id: LDAP_CONTROL_VLVRESPONSE
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Virtual List View Response. Available as of PHP 7.3.0.


id: LDAP_CONTROL_X_DOMAIN_SCOPE
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Active Directory Domain Scope. Available as of PHP 7.3.0.


id: LDAP_CONTROL_X_EXTENDED_DN
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Active Directory Extended DN. Available as of PHP 7.3.0.


id: LDAP_CONTROL_X_INCREMENTAL_VALUES
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Active Directory Incremental Values. Available as of PHP 7.3.0.


id: LDAP_CONTROL_X_PERMISSIVE_MODIFY
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Active Directory Permissive Modify. Available as of PHP 7.3.0.


id: LDAP_CONTROL_X_SEARCH_OPTIONS
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Active Directory Search Options. Available as of PHP 7.3.0.


id: LDAP_CONTROL_X_TREE_DELETE
type: constant
doc:
<comment>Description:</comment>
  Control Constant - Active Directory Tree Delete. Available as of PHP 7.3.0.


id: LDAP_OPT_CLIENT_CONTROLS
type: constant
doc:
<comment>Description:</comment>
  Specifies a default list of client controls to be processed with each request.


id: LDAP_OPT_NETWORK_TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  Option for <strong>ldap_set_option()</strong> to allow setting network timeout. (Available as of PHP 5.3.0)


id: LDAP_OPT_REFERRALS
type: constant
doc:
<comment>Description:</comment>
  Specifies whether to automatically follow referrals returned by the LDAP server.


id: LDAP_OPT_RESTART
type: constant
doc:
<comment>Description:</comment>
  Determines whether or not the connection should be implicitly restarted.


id: LDAP_OPT_SERVER_CONTROLS
type: constant
doc:
<comment>Description:</comment>
  Specifies a default list of server controls to be sent with each request.


id: LDAP_OPT_SIZELIMIT
type: constant
doc:
<comment>Description:</comment>
  Specifies the maximum number of entries that can be returned on a search operation.
  
  The actual size limit for operations is also bounded by the server's configured maximum number of
  return entries. The lesser of these two settings is the actual size limit.


id: LDAP_OPT_TIMELIMIT
type: constant
doc:
<comment>Description:</comment>
  Specifies the number of seconds to wait for search results.
  
  The actual time limit for operations is also bounded by the server's configured maximum time. The
  lesser of these two settings is the actual time limit.


id: LDAP_OPT_X_KEEPALIVE_IDLE
type: constant
doc:
<comment>Description:</comment>
  Specifies the number of seconds a connection needs to remain idle before TCP starts sending
  keepalive probes.


id: LDAP_OPT_X_KEEPALIVE_INTERVAL
type: constant
doc:
<comment>Description:</comment>
  Specifies the interval in seconds between individual keepalive probes.


id: LDAP_OPT_X_KEEPALIVE_PROBES
type: constant
doc:
<comment>Description:</comment>
  Specifies the maximum number of keepalive probes TCP should send before dropping the connection.


id: LDAP_OPT_X_TLS_CRLCHECK
type: constant
doc:
<comment>Description:</comment>
  Specifies the CRL evaluation strategy. This must be one of:
  <info>LDAP_OPT_X_TLS_CRL_NONE</info>,<info>LDAP_OPT_X_TLS_CRL_PEER</info>, <info>LDAP_OPT_X_TLS_CRL_ALL</info>.
  
  This option is only valid for OpenSSL.


id: LDAP_OPT_X_TLS_CRLFILE
type: constant
doc:
<comment>Description:</comment>
  Specifies the full-path of the CRL file.
  
  This option is only valid for GnuTLS.


id: LDAP_OPT_X_TLS_DHFILE
type: constant
doc:
<comment>Description:</comment>
  Specifies the full-path  of the file containing the parameters for Diffie-Hellman ephemeral key
  exchange.
  
  This option is ignored by GnuTLS and Mozilla NSS.


id: LDAP_OPT_X_TLS_PROTOCOL_MIN
type: constant
doc:
<comment>Description:</comment>
  Specifies the minimum protocol version. This can be one of:
  <info>LDAP_OPT_X_TLS_PROTOCOL_SSL2</info>,<info>LDAP_OPT_X_TLS_PROTOCOL_SSL3</info>, <info>LDAP_OPT_X_TLS_PROTOCOL_TLS1_0</info>,
  <info>LDAP_OPT_X_TLS_PROTOCOL_TLS1_1</info>, <info>LDAP_OPT_X_TLS_PROTOCOL_TLS1_2</info>


id: LDAP_OPT_X_TLS_RANDOM_FILE
type: constant
doc:
<comment>Description:</comment>
  Sets/gets the random file when one of the system default ones are not available.


id: LDAP_OPT_X_TLS_REQUIRE_CERT
type: constant
doc:
<comment>Description:</comment>
  Specifies the certificate checking strategy. This must be one of:
  <info>LDAP_OPT_X_TLS_NEVER</info>,<info>LDAP_OPT_X_TLS_HARD</info>, <info>LDAP_OPT_X_TLS_DEMAND</info>,
  <info>LDAP_OPT_X_TLS_ALLOW</info>, <info>LDAP_OPT_X_TLS_TRY</info>. (Available as of PHP 7.0.0)


id: LIBXML_BIGLINES
type: constant
doc:
<comment>Description:</comment>
  Allows line numbers greater than 65535 to be reported correctly.
  
  Only available as of PHP 7.0.0 with Libxml &gt;= 2.9.0


id: LIBXML_COMPACT
type: constant
doc:
<comment>Description:</comment>
  Activate small nodes allocation optimization. This may speed up your application without needing
  to change the code.
  
  Only available in Libxml &gt;= 2.6.21


id: LIBXML_DTDVALID
type: constant
doc:
<comment>Description:</comment>
  Validate with the DTD
  
  Enabling validating the DTD may facilitate XML External Entity (XXE) attacks.


id: LIBXML_HTML_NODEFDTD
type: constant
doc:
<comment>Description:</comment>
  Sets HTML_PARSE_NODEFDTD flag, which prevents a default doctype being added when one is not found.
  
  Only available in Libxml &gt;= 2.7.8 (as of PHP &gt;= 5.4.0)


id: LIBXML_HTML_NOIMPLIED
type: constant
doc:
<comment>Description:</comment>
  Sets HTML_PARSE_NOIMPLIED flag, which turns off the automatic adding of implied html/body...
  elements.
  
  Only available in Libxml &gt;= 2.7.7 (as of PHP &gt;= 5.4.0)


id: LIBXML_NOEMPTYTAG
type: constant
doc:
<comment>Description:</comment>
  Expand empty tags (e.g. <return>\<br/&gt;</return> to <return>\<br&gt;\</br&gt;</return>)
  
  This option is currently just available in the  and  functions.


id: LIBXML_NOENT
type: constant
doc:
<comment>Description:</comment>
  Substitute entities
  
  Enabling entity substitution may facilitate XML External Entity (XXE) attacks.


id: LIBXML_NOXMLDECL
type: constant
doc:
<comment>Description:</comment>
  Drop the XML declaration when saving a document
  
  Only available in Libxml &gt;= 2.6.21


id: LIBXML_PARSEHUGE
type: constant
doc:
<comment>Description:</comment>
  Sets XML_PARSE_HUGE flag, which relaxes any hardcoded limit from the parser. This affects  limits
  like maximum depth of a document or the entity recursion, as well as limits of the  size of text
  nodes.
  
  Only available in Libxml &gt;= 2.7.0 (as of PHP &gt;= 5.3.2 and PHP &gt;= 5.2.12)


id: LIBXML_PEDANTIC
type: constant
doc:
<comment>Description:</comment>
  Sets XML_PARSE_PEDANTIC flag, which enables pedantic error reporting.
  
  Available as of PHP &gt;= 5.4.0


id: LIBXML_SCHEMA_CREATE
type: constant
doc:
<comment>Description:</comment>
  Create default/fixed value nodes during XSD schema validation
  
  Only available in Libxml &gt;= 2.6.14 (as of PHP &gt;= 5.5.2)


id: LOG_AUTH
type: constant
doc:
<comment>Description:</comment>
  security/authorization messages (use <info>LOG_AUTHPRIV</info> instead in systems where that constant is
  defined)


id: LOG_CONS
type: constant
doc:
<comment>Description:</comment>
  if there is an error while sending data to the system logger, write directly to the system console


id: LOG_ODELAY
type: constant
doc:
<comment>Description:</comment>
  (default) delay opening the connection until the first message is logged


id: LimitIterator
type: class
doc:
<comment>Description:</comment>
  The <class>LimitIterator</class> class allows iteration over  a limited subset of items in an <class>Iterator</class>.


id: LimitIterator::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a LimitIterator
  
  Constructs a new <class>LimitIterator</class> from an  <strong>$iterator</strong> with a given starting  <strong>$offset</strong> and maximum
  <strong>$limit</strong>.

<comment>Param:</comment>
  <info>Iterator</info>  <strong>$iterator</strong>  The <class>Iterator</class> to limit.
  <info>int</info>       <strong>$offset</strong>    Optional offset of the limit.
  <info>int</info>       <strong>$limit</strong>     Optional count of the limit.

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


id: LimitIterator::current
type: function
doc:
<comment>Description:</comment>
  Get current element
  
  Gets the current element of the inner <class>Iterator</class>.

<comment>Return:</comment>
  <info>mixed</info>  Returns the current element or <info>null</info> if there is none.

<comment>See Also:</comment>
   * LimitIterator::key
   * LimitIterator::next
   * LimitIterator::rewind
   * LimitIterator::seek
   * LimitIterator::valid


id: LimitIterator::getPosition
type: function
doc:
<comment>Description:</comment>
  Return the current position
  
  Gets the current zero-based position of the inner <class>Iterator</class>.

<comment>Return:</comment>
  <info>int</info>  The current position.

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


id: LimitIterator::key
type: function
doc:
<comment>Description:</comment>
  Get current key
  
  Gets the key for the current item in the inner <class>Iterator</class>.

<comment>Return:</comment>
  <info>mixed</info>  Returns the key for the current item.

<comment>See Also:</comment>
   * LimitIterator::getPosition
   * LimitIterator::current
   * LimitIterator::next
   * LimitIterator::rewind
   * LimitIterator::seek
   * LimitIterator::valid


id: LimitIterator::next
type: function
doc:
<comment>Description:</comment>
  Move the iterator forward
  
  Moves the iterator forward.

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

<comment>See Also:</comment>
   * LimitIterator::current
   * LimitIterator::key
   * LimitIterator::rewind
   * LimitIterator::seek
   * LimitIterator::valid


id: LimitIterator::rewind
type: function
doc:
<comment>Description:</comment>
  Rewind the iterator to the specified starting offset
  
  Rewinds the iterator to the starting offset specified in LimitIterator::__construct.

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

<comment>See Also:</comment>
   * LimitIterator::current
   * LimitIterator::key
   * LimitIterator::next
   * LimitIterator::seek
   * LimitIterator::valid


id: LimitIterator::seek
type: function
doc:
<comment>Description:</comment>
  Seek to the given position
  
  Moves the iterator to the offset specified by <strong>$offset</strong>.

<comment>Param:</comment>
  <info>int</info>  <strong>$offset</strong>  The position to seek to.

<comment>Return:</comment>
  <info>int</info>  Returns the offset position after seeking.

<comment>See Also:</comment>
   * LimitIterator::current
   * LimitIterator::key
   * LimitIterator::rewind
   * LimitIterator::next
   * LimitIterator::valid


id: LimitIterator::valid
type: function
doc:
<comment>Description:</comment>
  Check whether the current element is valid
  
  Checks whether the current element is valid.

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

<comment>See Also:</comment>
   * LimitIterator::current
   * LimitIterator::key
   * LimitIterator::rewind
   * LimitIterator::next
   * LimitIterator::seek


id: Locale
type: class
doc:
<comment>Description:</comment>
  A "Locale" is an identifier used to get language, culture, or regionally-specific behavior from an
  API. PHP locales are organized and identified the same way that the CLDR locales used by ICU (and
  many vendors of Unix-like operating systems, the Mac, Java, and so forth) use. Locales are
  identified using RFC 4646 language tags (which use hyphen, not underscore) in addition to the more
  traditional underscore-using identifiers. Unless otherwise noted the functions in this class are
  tolerant of both formats.
  
  Examples of identifiers include: en-US (English, United States)zh-Hant-TW (Chinese, Traditional
  Script, Taiwan)fr-CA, fr-FR (French for Canada and France respectively)
  
  The Locale class (and related procedural functions) are used to interact with locale
  identifiers--to verify that an ID is well-formed, valid, etc. The extensions used by CLDR in UAX
  #35 (and inherited by ICU) are valid and used wherever they would be in ICU normally.
  
  Locales cannot be instantiated as objects. All of the functions/methods provided are static.
  
  The null or empty string obtains the "root" locale. The "root" locale is equivalent to
  "en_US_POSIX" in CLDR. Language tags (and thus locale identifiers) are case insensitive. There
  exists a canonicalization function to make case match the specification.


id: Locale::DEFAULT_LOCALE
type: constant
doc:
<comment>Description:</comment>
  Used as locale parameter with the methods of the various locale affected classes, such as
  NumberFormatter. This constant would make the methods to use default locale.


id: Locale::acceptFromHttp
type: function
doc:
<comment>Description:</comment>
  Tries to find out best available locale based on HTTP "Accept-Language" header
  
  Object-oriented style
  
  Procedural style
  
  Tries to find locale that can satisfy the language list that is requested by the HTTP
  "Accept-Language" header.

<comment>Param:</comment>
  <info>string</info>  <strong>$header</strong>  The string containing the "Accept-Language" header according to format in RFC
                   2616.

<comment>Return:</comment>
  <info>string|false</info>  The corresponding locale identifier.
                
                Returns <info>false</info> when the length of <strong>$header</strong> exceeds <info>INTL_MAX_LOCALE_LEN</info>.

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


id: Locale::canonicalize
type: function
doc:
<comment>Description:</comment>
  Canonicalize the locale string
  
  This function is
  currently not documented; only its argument list is available.

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

<comment>Return:</comment>
  <info>string|null</info>  Canonicalized locale string.
               
               Returns <info>null</info> when the length of <strong>$locale</strong> exceeds <info>INTL_MAX_LOCALE_LEN</info>.


id: Locale::composeLocale
type: function
doc:
<comment>Description:</comment>
  Returns a correctly ordered and delimited locale ID
  
  Object-oriented style
  
  Procedural style
  
  Returns a correctly ordered and delimited locale ID the keys identify the particular locale ID
  subtags, and the values are the associated subtag values.

<comment>Param:</comment>
  <info>array</info>  <strong>$subtags</strong>  An <info>array</info> containing a list of key-value pairs, where the keys identify the
                   particular locale ID subtags, and the values are the associated subtag values.
                   The <return>'variant'</return> and <return>'private'</return> subtags can take maximum 15 values whereas <return>'extlang'</return>
                   can take maximum 3 values. For instance, variants are allowed with the suffix
                   ranging from 0-14. Hence the keys for the input array can be <return>variant0</return>, <return>variant1</return>,
                   …,<return>variant14</return>. In the returned locale id, the subtag is ordered by suffix resulting
                   in <return>variant0</return> followed by <return>variant1</return> followed by <return>variant2</return> and so on.  Alternatively,
                   the <return>'variant'</return>, <return>'private'</return> and <return>'extlang'</return> values can be specified as array under
                   specific key (e.g. <return>'variant'</return>). In this case no limits on the number of recognized
                   subtags apply.
                   
                   The <return>'variant'</return> and <return>'private'</return> subtags can take maximum 15 values whereas <return>'extlang'</return>
                   can take maximum 3 values. For instance, variants are allowed with the suffix
                   ranging from 0-14. Hence the keys for the input array can be <return>variant0</return>, <return>variant1</return>,
                   …,<return>variant14</return>. In the returned locale id, the subtag is ordered by suffix resulting
                   in <return>variant0</return> followed by <return>variant1</return> followed by <return>variant2</return> and so on.
                   
                   Alternatively, the <return>'variant'</return>, <return>'private'</return> and <return>'extlang'</return> values can be specified as
                   array under specific key (e.g. <return>'variant'</return>). In this case no limits on the number
                   of recognized subtags apply.

<comment>Return:</comment>
  <info>string|false</info>  The corresponding locale identifier, or <info>false</info> when <strong>$subtags</strong> is empty.

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


id: Locale::filterMatches
type: function
doc:
<comment>Description:</comment>
  Checks if a language tag filter matches with locale
  
  Object-oriented style
  
  Procedural style
  
  Checks if a <strong>$languageTag</strong> filter matches with <strong>$locale</strong> according to RFC 4647's basic filtering
  algorithm

<comment>Param:</comment>
  <info>string</info>  <strong>$languageTag</strong>   The language tag to check
  <info>string</info>  <strong>$locale</strong>        The language range to check against
  <info>bool</info>    <strong>$canonicalize</strong>  If true, the arguments will be converted to canonical form before matching.

<comment>Return:</comment>
  <info>bool|null</info>  <info>true</info> if <strong>$locale</strong> matches <strong>$languageTag</strong> <info>false</info> otherwise.
             
             Returns <info>null</info> when the length of <strong>$locale</strong> exceeds <info>INTL_MAX_LOCALE_LEN</info>.

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


id: Locale::getAllVariants
type: function
doc:
<comment>Description:</comment>
  Gets the variants for the input locale
  
  Object-oriented style
  
  Procedural style
  
  Gets the variants for the input locale

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>  The locale to extract the variants from

<comment>Return:</comment>
  <info>array|null</info>  The <info>array</info> containing the list of all variants subtag for the locale or <info>null</info> if not
              present
              
              Returns <info>null</info> when the length of <strong>$locale</strong> exceeds <info>INTL_MAX_LOCALE_LEN</info>.

<comment>See Also:</comment>
   * <strong>locale_get_primary_language()</strong>
   * <strong>locale_get_script()</strong>
   * <strong>locale_get_region()</strong>


id: Locale::getDefault
type: function
doc:
<comment>Description:</comment>
  Gets the default locale value from the INTL global 'default_locale'
  
  Object-oriented style
  
  Procedural style
  
  Gets the default locale value. At the PHP initialization this value is set to
  'intl.default_locale' value from php.ini if that value exists or  from ICU's function
  uloc_getDefault().

<comment>Return:</comment>
  <info>string</info>  The current runtime locale

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


id: Locale::getDisplayLanguage
type: function
doc:
<comment>Description:</comment>
  Returns an appropriately localized display name for language of the inputlocale
  
  Object-oriented style
  
  Procedural style
  
  Returns an appropriately localized display name for language of the input locale. If is <info>null</info> then
  the default locale is used.

<comment>Param:</comment>
  <info>string</info>       <strong>$locale</strong>         The locale to return a display language for
  <info>string|null</info>  <strong>$displayLocale</strong>  Optional format locale to use to display the language name

<comment>Return:</comment>
  <info>string|false</info>  Display name of the language for the <strong>$locale</strong> in the format appropriate for
                <strong>$displayLocale</strong>,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>locale_get_display_name()</strong>
   * <strong>locale_get_display_script()</strong>
   * <strong>locale_get_display_region()</strong>
   * <strong>locale_get_display_variant()</strong>


id: Locale::getDisplayName
type: function
doc:
<comment>Description:</comment>
  Returns an appropriately localized display name for the input locale
  
  Object-oriented style
  
  Procedural style
  
  Returns an appropriately localized display name for the input locale. If <strong>$locale</strong> is <info>null</info> then the
  default locale is used.

<comment>Param:</comment>
  <info>string</info>       <strong>$locale</strong>         The locale to return a display name for.
  <info>string|null</info>  <strong>$displayLocale</strong>  optional format locale

<comment>Return:</comment>
  <info>string|false</info>  Display name of the locale in the format appropriate for <strong>$displayLocale</strong>,  or <info>false</info>
                on failure.

<comment>See Also:</comment>
   * <strong>locale_get_display_language()</strong>
   * <strong>locale_get_display_script()</strong>
   * <strong>locale_get_display_region()</strong>
   * <strong>locale_get_display_variant()</strong>


id: Locale::getDisplayRegion
type: function
doc:
<comment>Description:</comment>
  Returns an appropriately localized display name for region of the input locale
  
  Object-oriented style
  
  Procedural style
  
  Returns an appropriately localized display name for region of the input locale. If is <info>null</info> then
  the default locale is used.

<comment>Param:</comment>
  <info>string</info>       <strong>$locale</strong>         The locale to return a display region for.
  <info>string|null</info>  <strong>$displayLocale</strong>  Optional format locale to use to display the region name

<comment>Return:</comment>
  <info>string|false</info>  Display name of the region for the <strong>$locale</strong> in the format appropriate for
                <strong>$displayLocale</strong>,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>locale_get_display_name()</strong>
   * <strong>locale_get_display_language()</strong>
   * <strong>locale_get_display_script()</strong>
   * <strong>locale_get_display_variant()</strong>


id: Locale::getDisplayScript
type: function
doc:
<comment>Description:</comment>
  Returns an appropriately localized display name for script of the input locale
  
  Object-oriented style
  
  Procedural style
  
  Returns an appropriately localized display name for script of the input locale. If is <info>null</info> then
  the default locale is used.

<comment>Param:</comment>
  <info>string</info>       <strong>$locale</strong>         The locale to return a display script for
  <info>string|null</info>  <strong>$displayLocale</strong>  Optional format locale to use to display the script name

<comment>Return:</comment>
  <info>string|false</info>  Display name of the script for the <strong>$locale</strong> in the format appropriate for
                <strong>$displayLocale</strong>,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>locale_get_display_name()</strong>
   * <strong>locale_get_display_language()</strong>
   * <strong>locale_get_display_region()</strong>
   * <strong>locale_get_display_variant()</strong>


id: Locale::getDisplayVariant
type: function
doc:
<comment>Description:</comment>
  Returns an appropriately localized display name for variants of the input locale
  
  Object-oriented style
  
  Procedural style
  
  Returns an appropriately localized display name for variants of the input locale. If is <info>null</info> then
  the default locale is used.

<comment>Param:</comment>
  <info>string</info>       <strong>$locale</strong>         The locale to return a display variant for
  <info>string|null</info>  <strong>$displayLocale</strong>  Optional format locale to use to display the variant name

<comment>Return:</comment>
  <info>string|false</info>  Display name of the variant for the <strong>$locale</strong> in the format appropriate for
                <strong>$displayLocale</strong>,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>locale_get_display_name()</strong>
   * <strong>locale_get_display_language()</strong>
   * <strong>locale_get_display_script()</strong>
   * <strong>locale_get_display_region()</strong>


id: Locale::getKeywords
type: function
doc:
<comment>Description:</comment>
  Gets the keywords for the input locale
  
  Object-oriented style
  
  Procedural style
  
  Gets the keywords for the input locale.

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>  The locale to extract the keywords from

<comment>Return:</comment>
  <info>array|false|null</info>  Associative <info>array</info> containing the keyword-value pairs for this locale
                    
                    Returns <info>null</info> when the length of <strong>$locale</strong> exceeds <info>INTL_MAX_LOCALE_LEN</info>.

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


id: Locale::getPrimaryLanguage
type: function
doc:
<comment>Description:</comment>
  Gets the primary language for the input locale
  
  Object-oriented style
  
  Procedural style
  
  Gets the primary language for the input locale

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>  The locale to extract the primary language code from

<comment>Return:</comment>
  <info>string|null</info>  The language code associated with the language.
               
               Returns <info>null</info> when the length of <strong>$locale</strong> exceeds <info>INTL_MAX_LOCALE_LEN</info>.

<comment>See Also:</comment>
   * <strong>locale_get_script()</strong>
   * <strong>locale_get_region()</strong>
   * <strong>locale_get_all_variants()</strong>


id: Locale::getRegion
type: function
doc:
<comment>Description:</comment>
  Gets the region for the input locale
  
  Object-oriented style
  
  Procedural style
  
  Gets the region for the input locale.

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>  The locale to extract the region code from

<comment>Return:</comment>
  <info>string|null</info>  The region subtag for the locale or <info>null</info> if not present
               
               Returns <info>null</info> when the length of <strong>$locale</strong> exceeds <info>INTL_MAX_LOCALE_LEN</info>.

<comment>See Also:</comment>
   * <strong>locale_get_primary_language()</strong>
   * <strong>locale_get_script()</strong>
   * <strong>locale_get_all_variants()</strong>


id: Locale::getScript
type: function
doc:
<comment>Description:</comment>
  Gets the script for the input locale
  
  Object-oriented style
  
  Procedural style
  
  Gets the script for the input locale.

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>  The locale to extract the script code from

<comment>Return:</comment>
  <info>string|null</info>  The script subtag for the locale or <info>null</info> if not present

<comment>See Also:</comment>
   * <strong>locale_get_primary_language()</strong>
   * <strong>locale_get_region()</strong>
   * <strong>locale_get_all_variants()</strong>


id: Locale::lookup
type: function
doc:
<comment>Description:</comment>
  Searches the language tag list for the best match to the language
  
  Object-oriented style
  
  Procedural style
  
  Searches the items in <strong>$languageTag</strong> for the best match to the language range specified in <strong>$locale</strong>
  according to RFC 4647's lookup algorithm.

<comment>Param:</comment>
  <info>array</info>        <strong>$languageTag</strong>    An <info>array</info> containing a list of language tags to compare to <strong>$locale</strong>.
                               Maximum 100 items allowed.
  <info>string</info>       <strong>$locale</strong>         The locale to use as the language range when matching.
  <info>bool</info>         <strong>$canonicalize</strong>   If true, the arguments will be converted to canonical form before
                               matching.
  <info>string|null</info>  <strong>$defaultLocale</strong>  The locale to use if no match is found.

<comment>Return:</comment>
  <info>string|null</info>  The closest matching language tag or default value.
               
               Returns <info>null</info> when the length of <strong>$locale</strong> exceeds <info>INTL_MAX_LOCALE_LEN</info>.

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


id: Locale::parseLocale
type: function
doc:
<comment>Description:</comment>
  Returns a key-value array of locale ID subtag elements
  
  Object-oriented style
  
  Procedural style
  
  Returns a key-value array of locale ID subtag elements.

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>  The locale to extract the subtag array from. Note: The 'variant' and 'private'
                   subtags can take maximum 15 values whereas 'extlang' can take maximum 3 values.

<comment>Return:</comment>
  <info>array|null</info>  Returns an array containing a list of key-value pairs, where the keys identify the
              particular locale ID subtags, and the values are the associated subtag values. The
              array will be ordered as the locale id subtags e.g. in the locale id if variants are
              '-varX-varY-varZ' then the returned array will have variant0=&gt;varX ,
              variant1=&gt;varY , variant2=&gt;varZ
              
              Returns <info>null</info> when the length of <strong>$locale</strong> exceeds <info>INTL_MAX_LOCALE_LEN</info>.

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


id: Locale::setDefault
type: function
doc:
<comment>Description:</comment>
  Sets the default runtime locale
  
  Object-oriented style
  
  Procedural style
  
  Sets the default runtime locale to <strong>$locale</strong>. This changes the value of INTL global 'default_locale'
  locale identifier. UAX #35 extensions are accepted.

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>  Is a BCP 47 compliant language tag.

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

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


id: Lua::__call
type: function
doc:
<comment>Description:</comment>
  Call Lua functions
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>callable</info>  <strong>$lua_func</strong>  Function name in lua
  <info>array</info>     <strong>$args</strong>      Arguments passed to the Lua function
  <info>int</info>       <strong>$use_self</strong>  Whether to use <return>self</return>

<comment>Return:</comment>
  <info>mixed</info>  Returns result of the called function, <info>null</info> for wrong arguments or <info>false</info> on other failure.

<comment>See Also:</comment>
   * __call()


id: Lua::__construct
type: function
doc:
<comment>Description:</comment>
  Lua constructor
  
  This function is
  currently not documented; only its argument list is available.

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


id: Lua::assign
type: function
doc:
<comment>Description:</comment>
  Assign a PHP variable to Lua
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>   
  <info>string</info>  <strong>$value</strong>  

<comment>Return:</comment>
  <info>mixed</info>  Returns $this or <info>null</info> on failure.


id: Lua::eval
type: function
doc:
<comment>Description:</comment>
  Evaluate a string as Lua code
  
  This function is
  currently not documented; only its argument list is available.

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

<comment>Return:</comment>
  <info>mixed</info>  Returns result of evaled code, <info>null</info> for wrong arguments or <info>false</info> on other failure.


id: Lua::getVersion
type: function
doc:
<comment>Description:</comment>
  The getversion purpose
  
  This function is
  currently not documented; only its argument list is available.

<comment>Return:</comment>
  <info>string</info>  Returns Lua::LUA_VERSION.


id: Lua::include
type: function
doc:
<comment>Description:</comment>
  Parse a Lua script file
  
  This function is
  currently not documented; only its argument list is available.

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

<comment>Return:</comment>
  <info>mixed</info>  Returns result of included code, <info>null</info> for wrong arguments or <info>false</info> on other failure.


id: Lua::registerCallback
type: function
doc:
<comment>Description:</comment>
  Register a PHP function to Lua
  
  Register a PHP function to Lua as a function named "$name"

<comment>Param:</comment>
  <info>string</info>    <strong>$name</strong>      
  <info>callable</info>  <strong>$function</strong>  A valid PHP function callback

<comment>Return:</comment>
  <info>mixed</info>  Returns $this, <info>null</info> for wrong arguments or <info>false</info> on other failure.


id: LuaClosure
type: class
doc:
<comment>Description:</comment>
  LuaClosure is a wrapper class for LUA_TFUNCTION which could be return from calling to Lua
  function.


id: LuaClosure::__invoke
type: function
doc:
<comment>Description:</comment>
  Invoke luaclosure
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>mixed</info>  <strong>$args</strong>  

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


id: LuaSandbox
type: class
doc:
<comment>Description:</comment>
  The LuaSandbox class creates a Lua environment and allows for execution of Lua code.


id: LuaSandbox::PERCENT
type: constant
doc:
<comment>Description:</comment>
  Used with LuaSandbox::getProfilerFunctionReport to return timings in percentages of the total.


id: LuaSandbox::SAMPLES
type: constant
doc:
<comment>Description:</comment>
  Used with LuaSandbox::getProfilerFunctionReport to return timings in samples.


id: LuaSandbox::SECONDS
type: constant
doc:
<comment>Description:</comment>
  Used with LuaSandbox::getProfilerFunctionReport to return timings in seconds.


id: LuaSandbox::callFunction
type: function
doc:
<comment>Description:</comment>
  Call a function in a Lua global variable
  
  Calls a function in a Lua global variable.
  
  If the name contains "." characters, the function is located via recursive table accesses, as if
  the name were a Lua expression.
  
  If the variable does not exist, or is not a function, false will be returned and a warning issued.
  
  For more information about calling Lua functions and the return values, see
  LuaSandboxFunction::call.

<comment>Param:</comment>
  <info>string</info>  <strong>$name</strong>  Lua variable name.
  <info>mixed</info>   <strong>$args</strong>  Arguments to the function.

<comment>Return:</comment>
  <info>array|bool</info>  Returns an <info>array</info> of values returned by the Lua function, which may be empty,  or <info>false</info>
              on failure.


id: LuaSandbox::disableProfiler
type: function
doc:
<comment>Description:</comment>
  Disable the profiler
  
  Disables the profiler.

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

<comment>See Also:</comment>
   * LuaSandbox::enableProfiler
   * LuaSandbox::getProfilerFunctionReport


id: LuaSandbox::enableProfiler
type: function
doc:
<comment>Description:</comment>
  Enable the profiler.
  
  Enables the profiler. Profiling will begin when Lua code is entered.
  
  The profiler periodically samples the Lua environment to record the running function. Testing
  indicates that at least on Linux, setting a period less than 1ms will lead to a high overrun count
  but no performance problems.

<comment>Param:</comment>
  <info>float</info>  <strong>$period</strong>  Sampling period in seconds.

<comment>Return:</comment>
  <info>bool</info>  Returns a boolean indicating whether the profiler is enabled.

<comment>See Also:</comment>
   * LuaSandbox::disableProfiler
   * LuaSandbox::getProfilerFunctionReport


id: LuaSandbox::getCPUUsage
type: function
doc:
<comment>Description:</comment>
  Fetch the current CPU time usage of the Lua environment
  
  Fetches the current CPU time usage of the Lua environment.
  
  This includes time spent in PHP callbacks.

<comment>Return:</comment>
  <info>float</info>  Returns the current CPU time usage in seconds.
         
         On Windows, this function always returns zero. On operating systems that do not support
         <info>CLOCK_THREAD_CPUTIME_ID</info>, such as FreeBSD and Mac OS X, this function will return the
         elapsed wall-clock time, not CPU time.

<comment>See Also:</comment>
   * LuaSandbox::getMemoryUsage
   * LuaSandbox::getPeakMemoryUsage
   * LuaSandbox::setCPULimit


id: LuaSandbox::getMemoryUsage
type: function
doc:
<comment>Description:</comment>
  Fetch the current memory usage of the Lua environment
  
  Fetches the current memory usage of the Lua environment.

<comment>Return:</comment>
  <info>int</info>  Returns the current memory usage in bytes.

<comment>See Also:</comment>
   * LuaSandbox::getPeakMemoryUsage
   * LuaSandbox::getCPUUsage
   * LuaSandbox::setMemoryLimit


id: LuaSandbox::getPeakMemoryUsage
type: function
doc:
<comment>Description:</comment>
  Fetch the peak memory usage of the Lua environment
  
  Fetches the peak memory usage of the Lua environment.

<comment>Return:</comment>
  <info>int</info>  Returns the peak memory usage in bytes.

<comment>See Also:</comment>
   * LuaSandbox::getMemoryUsage
   * LuaSandbox::getCPUUsage
   * LuaSandbox::setMemoryLimit


id: LuaSandbox::getProfilerFunctionReport
type: function
doc:
<comment>Description:</comment>
  Fetch profiler data
  
  For a profiling instance previously started by LuaSandbox::enableProfiler, get a report of the
  cost of each function.
  
  The measurement unit used for the cost is determined by the $units parameter:
  
  <info>LuaSandbox::SAMPLES</info>Measure in number of samples.<info>LuaSandbox::SECONDS</info>Measure in seconds of CPU
  time.<info>LuaSandbox::PERCENT</info>Measure percentage of CPU time.
  
  Measure in number of samples.
  
  Measure in seconds of CPU time.
  
  Measure percentage of CPU time.

<comment>Param:</comment>
  <info>int</info>  <strong>$units</strong>  Measurement unit constant.

<comment>Return:</comment>
  <info>array</info>  Returns profiler measurements, sorted in descending order, as an associative <info>array</info>. Keys
         are the Lua function names (with source file and line defined in angle brackets), values
         are the measurements as <info>int</info> or <info>float</info>.
         
         On Windows, this function always returns an empty array. On operating systems that do not
         support <info>CLOCK_THREAD_CPUTIME_ID</info>, such as FreeBSD and Mac OS X, this function will report
         the elapsed wall-clock time, not CPU time.


id: LuaSandbox::getVersionInfo
type: function
doc:
<comment>Description:</comment>
  Return the versions of LuaSandbox and Lua
  
  Returns the versions of LuaSandbox and Lua.

<comment>Return:</comment>
  <info>array</info>  Returns an array with two keys:
         
         elementtypedescriptionLuaSandbox<info>string</info>The version of the LuaSandbox extension.Lua<info>string</info>The
         library name and version as defined by the LUA_RELEASE macro, for example, "Lua 5.1.5".


id: LuaSandbox::loadBinary
type: function
doc:
<comment>Description:</comment>
  Load a precompiled binary chunk into the Lua environment
  
  Loads data generated by LuaSandboxFunction::dump.

<comment>Param:</comment>
  <info>string</info>  <strong>$code</strong>       Data from LuaSandboxFunction::dump.
  <info>string</info>  <strong>$chunkName</strong>  Name for the loaded function.

<comment>Return:</comment>
  <info>LuaSandboxFunction</info>  Returns a <class>LuaSandboxFunction</class>.

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


id: LuaSandbox::loadString
type: function
doc:
<comment>Description:</comment>
  Load Lua code into the Lua environment
  
  Loads Lua code into the Lua environment.
  
  This is the equivalent of standard Lua's <return>loadstring()</return> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$code</strong>       Lua code.
  <info>string</info>  <strong>$chunkName</strong>  Name for the loaded chunk, for use in error traces.

<comment>Return:</comment>
  <info>LuaSandboxFunction</info>  Returns a <class>LuaSandboxFunction</class> which, when executed, will execute the passed
                      $code.

<comment>See Also:</comment>
   * LuaSandbox::registerLibrary
   * LuaSandbox::wrapPhpFunction


id: LuaSandbox::pauseUsageTimer
type: function
doc:
<comment>Description:</comment>
  Pause the CPU usage timer
  
  Pauses the CPU usage timer.
  
  This only has effect when called from within a callback from Lua. When execution returns to Lua,
  the timer will be automatically unpaused. If a new call into Lua is made, the timer will be
  unpaused for the duration of that call.
  
  If a PHP callback calls into Lua again with timer not paused, and then that Lua function calls
  into PHP again, the second PHP call will not be able to pause the timer. The logic is that even
  though the second PHP call would avoid counting the CPU usage against the limit, the first call
  still counts it.

<comment>Return:</comment>
  <info>bool</info>  Returns a <info>bool</info> indicating whether the timer is now paused.

<comment>See Also:</comment>
   * LuaSandbox::setCPULimit
   * LuaSandbox::unpauseUsageTimer


id: LuaSandbox::registerLibrary
type: function
doc:
<comment>Description:</comment>
  Register a set of PHP functions as a Lua library
  
  Registers a set of PHP functions as a Lua library, so that Lua can call the relevant PHP code.
  
  For more information about calling Lua functions and the return values, see
  LuaSandboxFunction::call.

<comment>Param:</comment>
  <info>string</info>  <strong>$libname</strong>    The name of the library. In the Lua state, the global variable of this name
                      will be set to the table of functions. If the table already exists, the new
                      functions will be added to it.
  <info>array</info>   <strong>$functions</strong>  An <info>array</info>, where each key is a function name, and each value is a corresponding
                      PHP <info>callable</info>.

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

<comment>See Also:</comment>
   * LuaSandbox::loadString
   * LuaSandbox::wrapPhpFunction


id: LuaSandbox::setCPULimit
type: function
doc:
<comment>Description:</comment>
  Set the CPU time limit for the Lua environment
  
  Sets the CPU time limit for the Lua environment.
  
  If the total user and system time used by the environment after the call to this method exceeds
  this limit, a <class>LuaSandboxTimeoutError</class> exception is thrown.
  
  Time used in PHP callbacks is included in the limit.
  
  Setting the time limit from a callback while Lua is running causes the timer to be reset, or
  started if it was not already running.
  
  On Windows, the CPU limit will be ignored. On operating systems that do not support
  <info>CLOCK_THREAD_CPUTIME_ID</info>, such as FreeBSD and Mac OS X, wall-clock time rather than CPU time will
  be limited.

<comment>Param:</comment>
  <info>float|bool</info>  <strong>$limit</strong>  Limit as a <info>float</info> in seconds, or <info>false</info> for no limit.

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

<comment>See Also:</comment>
   * LuaSandbox::getCPUUsage
   * LuaSandbox::setMemoryLimit


id: LuaSandbox::setMemoryLimit
type: function
doc:
<comment>Description:</comment>
  Set the memory limit for the Lua environment
  
  Sets the memory limit for the Lua environment.
  
  If this limit is exceeded, a <class>LuaSandboxMemoryError</class> exception is thrown.

<comment>Param:</comment>
  <info>int</info>  <strong>$limit</strong>  Memory limit in bytes.

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

<comment>See Also:</comment>
   * LuaSandbox::getMemoryUsage
   * LuaSandbox::getPeakMemoryUsage
   * LuaSandbox::setCPULimit


id: LuaSandbox::unpauseUsageTimer
type: function
doc:
<comment>Description:</comment>
  Unpause the timer paused by LuaSandbox::pauseUsageTimer
  
  Unpauses the timer paused by LuaSandbox::pauseUsageTimer.

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

<comment>See Also:</comment>
   * LuaSandbox::pauseUsageTimer
   * LuaSandbox::setCPULimit


id: LuaSandbox::wrapPhpFunction
type: function
doc:
<comment>Description:</comment>
  Wrap a PHP callable in a LuaSandboxFunction
  
  Wraps a PHP callable in a <class>LuaSandboxFunction</class>, so it can be passed into Lua as an anonymous
  function.
  
  The function must return either an array of values (which may be empty), or <info>null</info> which is
  equivalent to returning the empty array.
  
  Exceptions will be raised as errors in Lua, however only <class>LuaSandboxRuntimeError</class> exceptions may be
  caught inside Lua with <return>pcall()</return> or <return>xpcall()</return>.
  
  For more information about calling Lua functions and the return values, see
  LuaSandboxFunction::call.

<comment>Param:</comment>
  <info>callable</info>  <strong>$function</strong>  Callable to wrap.

<comment>Return:</comment>
  <info>LuaSandboxFunction</info>  Returns a <class>LuaSandboxFunction</class>.

<comment>See Also:</comment>
   * LuaSandbox::loadString
   * LuaSandbox::registerLibrary


id: LuaSandboxErrorError
type: class
doc:
<comment>Description:</comment>
  Exception thrown when Lua encounters an error inside an error handler.


id: LuaSandboxFatalError
type: class
doc:
<comment>Description:</comment>
  Uncatchable LuaSandbox exceptions.
  
  These may not be caught inside Lua using <return>pcall()</return> or <return>xpcall()</return>.


id: LuaSandboxFunction
type: class
doc:
<comment>Description:</comment>
  Represents a Lua function, allowing it to be called from PHP.
  
  A LuaSandboxFunction may be obtained as a return value from Lua, as a parameter passed to a
  callback from Lua, or by using LuaSandbox::wrapPhpFunction, LuaSandbox::loadString, or
  LuaSandbox::loadBinary.


id: LuaSandboxFunction::__construct
type: function
doc:
<comment>Description:</comment>
  Unused
  
  <class>LuaSandboxFunction</class> are obtained as a return value from Lua, as a parameter passed to a callback
  from Lua, or by using LuaSandbox::wrapPhpFunction, LuaSandbox::loadString, or
  LuaSandbox::loadBinary. They cannot be constructed directly.


id: LuaSandboxFunction::call
type: function
doc:
<comment>Description:</comment>
  Call a Lua function
  
  Calls a Lua function.
  
  Errors considered to be the fault of the PHP code will result in the function returning <info>false</info> and
  <info>E_WARNING</info> being raised, for example, a <info>resource</info> type being used as an argument. Lua errors will
  result in a <class>LuaSandboxRuntimeError</class> exception being thrown.
  
  PHP and Lua types are converted as follows:
  
  PHP <info>null</info> is Lua <return>nil</return>, and vice versa. PHP <info>int</info>s and <info>float</info>s are converted to Lua numbers. Infinity
  and <info>NAN</info> are supported.  Lua numbers without a fractional part between approximately <return>-2**53</return> and
  <return>2**53</return> are converted to PHP <info>int</info>s, with others being converted to PHP <info>float</info>s. PHP <info>bool</info>s are Lua
  booleans, and vice versa.PHP <info>string</info>s are Lua strings, and vice versa. Lua functions are PHP
  <class>LuaSandboxFunction</class> objects, and vice versa. General PHP <info>callable</info>s are not supported.  PHP <info>array</info>s
  are converted to Lua tables, and vice versa.  Note that Lua typically indexes arrays from 1, while
  PHP indexes arrays from 0. No adjustment is made for these differing conventions. Self-referential
  arrays are not supported in either direction.PHP references are dereferenced. Lua <return>__pairs</return> and
  <return>__ipairs</return> are processed. <return>__index</return> is ignored.  When converting from PHP to Lua, integer keys between
  <return>-2**53</return> and <return>2**53</return> are represented as Lua numbers. All other keys are represented as Lua strings.
  When converting from Lua to PHP, keys other than strings and numbers will result in an error, as
  will collisions when converting numbers to strings or vice versa (since PHP considers things like
  <return>$a[0]</return> and <return>$a["0"]</return> as being equivalent).  All other types are unsupported and will raise an
  error/exception, including general PHP <info>object</info>s and Lua userdata and thread types.
  
  PHP <info>null</info> is Lua <return>nil</return>, and vice versa.
  
  PHP <info>int</info>s and <info>float</info>s are converted to Lua numbers. Infinity and <info>NAN</info> are supported.
  
  Lua numbers without a fractional part between approximately <return>-2**53</return> and <return>2**53</return> are converted to PHP
  <info>int</info>s, with others being converted to PHP <info>float</info>s.
  
  PHP <info>bool</info>s are Lua booleans, and vice versa.
  
  PHP <info>string</info>s are Lua strings, and vice versa.
  
  Lua functions are PHP <class>LuaSandboxFunction</class> objects, and vice versa. General PHP <info>callable</info>s are not
  supported.
  
  PHP <info>array</info>s are converted to Lua tables, and vice versa.
  
   Note that Lua typically indexes arrays from 1, while PHP indexes arrays from 0. No adjustment is
  made for these differing conventions. Self-referential arrays are not supported in either
  direction.PHP references are dereferenced. Lua <return>__pairs</return> and <return>__ipairs</return> are processed. <return>__index</return> is
  ignored.  When converting from PHP to Lua, integer keys between <return>-2**53</return> and <return>2**53</return> are represented
  as Lua numbers. All other keys are represented as Lua strings.  When converting from Lua to PHP,
  keys other than strings and numbers will result in an error, as will collisions when converting
  numbers to strings or vice versa (since PHP considers things like <return>$a[0]</return> and <return>$a["0"]</return> as being
  equivalent).
  
  Note that Lua typically indexes arrays from 1, while PHP indexes arrays from 0. No adjustment is
  made for these differing conventions.
  
  Self-referential arrays are not supported in either direction.
  
  PHP references are dereferenced.
  
  Lua <return>__pairs</return> and <return>__ipairs</return> are processed. <return>__index</return> is ignored.
  
  When converting from PHP to Lua, integer keys between <return>-2**53</return> and <return>2**53</return> are represented as Lua
  numbers. All other keys are represented as Lua strings.
  
  When converting from Lua to PHP, keys other than strings and numbers will result in an error, as
  will collisions when converting numbers to strings or vice versa (since PHP considers things like
  <return>$a[0]</return> and <return>$a["0"]</return> as being equivalent).
  
  All other types are unsupported and will raise an error/exception, including general PHP <info>object</info>s
  and Lua userdata and thread types.
  
  Lua functions inherently return a list of results. So on success, this method returns an <info>array</info>
  containing all of the values returned by Lua, with <info>int</info> keys starting from zero. Lua may return no
  results, in which case an empty array is returned.

<comment>Param:</comment>
  <info>string</info>  <strong>$args</strong>  Arguments passed to the function.

<comment>Return:</comment>
  <info>array|bool</info>  Returns an <info>array</info> of values returned by the function, which may be empty, or <info>false</info> on
              failure.


id: LuaSandboxFunction::dump
type: function
doc:
<comment>Description:</comment>
  Dump the function as a binary blob
  
  Dumps the function as a binary blob.

<comment>Return:</comment>
  <info>string</info>  Returns a string that may be passed to LuaSandbox::loadBinary.


id: LuaSandboxRuntimeError
type: class
doc:
<comment>Description:</comment>
  Catchable LuaSandbox runtime exceptions.
  
  These may be caught inside Lua using <return>pcall()</return> or <return>xpcall()</return>.


id: MB_CASE_FOLD
type: constant
doc:
<comment>Description:</comment>
  Performs a full case fold conversion which removes case distinctions present in the string. This
  is used for caseless matching. This may change the length of the string. Available since PHP 7.3.


id: MB_CASE_FOLD_SIMPLE
type: constant
doc:
<comment>Description:</comment>
  Performs a simple case fold conversion which removes case distinctions present in the string. This
  is used for caseless matching. This does not change the length of the string. Used by
  case-insensitive operations internally by the MBString extension. Available as of PHP 7.3.


id: MB_CASE_LOWER
type: constant
doc:
<comment>Description:</comment>
  Performs a full lower-case folding. This may change the length of the string. This is the mode
  used by mb_strtolower().


id: MB_CASE_LOWER_SIMPLE
type: constant
doc:
<comment>Description:</comment>
  Performs a simple lower-case fold conversion. This does not change the length of the string.
  Available as of PHP 7.3.


id: MB_CASE_TITLE
type: constant
doc:
<comment>Description:</comment>
  Performs a full title-case conversion based on the Cased and CaseIgnorable derived Unicode
  properties. In particular this improves handling of quotes and apostrophes. This may change the
  length of the string.


id: MB_CASE_TITLE_SIMPLE
type: constant
doc:
<comment>Description:</comment>
  Performs simple title-case fold conversion. This does not change the length of the string.
  Available as of PHP 7.3.


id: MB_CASE_UPPER
type: constant
doc:
<comment>Description:</comment>
  Performs a full upper-case folding. This may change the length of the string. This is the mode
  used by mb_strtoupper().


id: MB_CASE_UPPER_SIMPLE
type: constant
doc:
<comment>Description:</comment>
  Performs simple upper-case fold conversion. This does not change the length of the string.
  Available as of PHP 7.3.


id: MB_ONIGURUMA_VERSION
type: constant
doc:
<comment>Description:</comment>
  The Oniguruma version, e.g. <return>6.9.4</return>. Available as of PHP 7.4.


id: MK_E_UNAVAILABLE
type: constant
doc:
<comment>Description:</comment>
  -2147221021
  
  iMoniker COM status code, return on errors where the function call  failed due to unavailability.
  
  As of PHP 7.0.0, the value is <return>2147746275</return> on x64.


id: MT_RAND_MT19937
type: constant
doc:
<comment>Description:</comment>
  Indicates that the correct Mt19937 (Mersenne Twister) implementation will be used by the
  algorithm, when creating a <class>Random\Engine\Mt19937</class> instance using
  <strong>Random\Engine\Mt19937::__construct()</strong> or seeding the global Mersenne Twister with <strong>mt_srand()</strong>.


id: MT_RAND_PHP
type: constant
doc:
<comment>Description:</comment>
  Indicates that an incorrect Mersenne Twister implementation will be used by the algorithm, when
  creating a <class>Random\Engine\Mt19937</class> instance using <strong>Random\Engine\Mt19937::__construct()</strong> or seeding
  the global Mersenne Twister with <strong>mt_srand()</strong>.
  
  The incorrect implementation is available for backwards compatibility with <strong>mt_srand()</strong> prior to PHP
  7.1.0.
  
  This feature has been
  DEPRECATED as of PHP 8.3.0. Relying on this feature
  is highly discouraged.


id: MYSQL_ASSOC
type: constant
doc:
<comment>Description:</comment>
  Columns are returned into the array having the fieldname as the array index.


id: MYSQL_BOTH
type: constant
doc:
<comment>Description:</comment>
  Columns are returned into the array having both a numerical index and the fieldname as the array
  index.


id: MYSQL_CLIENT_INTERACTIVE
type: constant
doc:
<comment>Description:</comment>
  Allow interactive_timeout seconds (instead of wait_timeout) of inactivity before closing the
  connection.


id: MYSQL_CLIENT_SSL
type: constant
doc:
<comment>Description:</comment>
  Use SSL encryption. This flag is only available with version 4.x of the MySQL client library or
  newer. Version 3.23.x is bundled both with PHP 4 and Windows binaries of PHP 5.


id: MYSQL_NUM
type: constant
doc:
<comment>Description:</comment>
  Columns are returned into the array having a numerical index to the fields. This index starts with
  0, the first field in the result.


id: Memcache::add
type: function
doc:
<comment>Description:</comment>
  Add an item to the server
  
  <strong>Memcache::add()</strong> stores variable <strong>$var</strong> with <strong>$key</strong> only if such  key doesn't exist at the server yet.
  Also you can use <strong>memcache_add()</strong> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>     The key that will be associated with the item.
  <info>mixed</info>   <strong>$var</strong>     The variable to store. Strings and integers are stored as is, other types are
                   stored serialized.
  <info>int</info>     <strong>$flag</strong>    Use <info>MEMCACHE_COMPRESSED</info> to store the item compressed (uses zlib).
  <info>int</info>     <strong>$expire</strong>  Expiration time of the item. If it's equal to zero, the item will never expire.
                   You can also use Unix timestamp or a number of seconds starting from current
                   time, but in the latter case the number of seconds may not exceed 2592000 (30
                   days).

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Returns <info>false</info> if such key already exist. For
        the rest <strong>Memcache::add()</strong> behaves similarly to <strong>Memcache::set()</strong>.

<comment>See Also:</comment>
   * <strong>Memcache::set()</strong>
   * <strong>Memcache::replace()</strong>


id: Memcache::addServer
type: function
doc:
<comment>Description:</comment>
  Add a memcached server to connection pool
  
  <strong>Memcache::addServer()</strong> adds a server to the connection pool.  You can also use the
  <strong>memcache_add_server()</strong> function.
  
  When using this method (as opposed to <strong>Memcache::connect()</strong> and  <strong>Memcache::pconnect()</strong>) the network
  connection is not established  until actually needed. Thus there is no overhead in adding a large
  number of servers  to the pool, even though they might not all be used.
  
  Failover may occur at any stage in any of the methods, as long as other  servers are available the
  request the user won't notice. Any kind of  socket or Memcached server level errors (except
  out-of-memory) may trigger  the failover. Normal client errors such as adding an existing key will
  not  trigger a failover.
  
  This function has been added to Memcache version 2.0.0.

<comment>Param:</comment>
  <info>string</info>    <strong>$host</strong>              Point to the host where memcached is listening for connections. This
                               parameter may also specify other transports like
                               <return>unix:///path/to/memcached.sock</return> to use UNIX domain sockets, in this
                               case <strong>$port</strong> must also be set to <return>0</return>.
  <info>int</info>       <strong>$port</strong>              Point to the port where memcached is listening for connections. Set
                               this parameter to <return>0</return> when using UNIX domain sockets.
                               
                               Please note: <strong>$port</strong> defaults to memcache.default_port if not
                               specified. For this reason it is wise to specify the port explicitly
                               in this method call.
  <info>bool</info>      <strong>$persistent</strong>        Controls the use of a persistent connection. Default to <info>true</info>.
  <info>int</info>       <strong>$weight</strong>            Number of buckets to create for this server which in turn control its
                               probability of it being selected. The probability is relative to the
                               total weight of all servers.
  <info>int</info>       <strong>$timeout</strong>           Value in seconds which will be used for connecting to the daemon.
                               Think twice before changing the default value of 1 second - you can
                               lose all the advantages of caching if your connection is too slow.
  <info>int</info>       <strong>$retry_interval</strong>    Controls how often a failed server will be retried, the default value
                               is 15 seconds. Setting this parameter to -1 disables automatic retry.
                               Neither this nor the <strong>$persistent</strong> parameter has any  effect when the
                               extension is loaded dynamically via <strong>dl()</strong>.
                               
                               Each failed connection struct has its own timeout and before it has
                               expired  the struct will be skipped when selecting backends to serve
                               a request. Once  expired the connection will be successfully
                               reconnected or marked as failed  for another <strong>$retry_interval</strong> seconds.
                               The typical  effect is that each web server child will retry the
                               connection about every <strong>$retry_interval</strong> seconds when serving a page.
  <info>bool</info>      <strong>$status</strong>            Controls if the server should be flagged as online. Setting this
                               parameter to <info>false</info> and <strong>$retry_interval</strong> to -1 allows a failed  server
                               to be kept in the pool so as not to affect the key distribution
                               algorithm. Requests for this server will then failover or fail
                               immediately  depending on the <strong>$memcache.allow_failover</strong> setting.
                               Default to <info>true</info>, meaning the server should be considered online.
  <info>callable</info>  <strong>$failure_callback</strong>  Allows the user to specify a callback function to run upon
                               encountering an  error. The callback is run before failover is
                               attempted. The function takes  two parameters, the hostname and port
                               of the failed server.
  <info>int</info>       <strong>$timeoutms</strong>         

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

<comment>See Also:</comment>
   * <strong>Memcache::connect()</strong>
   * <strong>Memcache::pconnect()</strong>
   * <strong>Memcache::close()</strong>
   * <strong>Memcache::setServerParams()</strong>
   * <strong>Memcache::getServerStatus()</strong>


id: Memcache::close
type: function
doc:
<comment>Description:</comment>
  Close memcached server connection
  
  <strong>Memcache::close()</strong> closes connection to memcached server. This function doesn't close persistent
  connections, which are closed only during web-server shutdown/restart. Also you can use
  <strong>memcache_close()</strong> function.

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

<comment>See Also:</comment>
   * <strong>Memcache::connect()</strong>
   * <strong>Memcache::pconnect()</strong>


id: Memcache::connect
type: function
doc:
<comment>Description:</comment>
  Open memcached server connection
  
  <strong>Memcache::connect()</strong> establishes a connection to the memcached server. The connection, which was
  opened using <strong>Memcache::connect()</strong> will be automatically closed at the end of script execution. Also
  you can close it with <strong>Memcache::close()</strong>. Also you can use <strong>memcache_connect()</strong> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>     Point to the host where memcached is listening for connections. This parameter
                    may also specify other transports like <return>unix:///path/to/memcached.sock</return> to use
                    UNIX domain sockets, in this case <strong>$port</strong> must also be set to <return>0</return>.
  <info>int</info>     <strong>$port</strong>     Point to the port where memcached is listening for connections. Set this
                    parameter to <return>0</return> when using UNIX domain sockets.
                    
                    Please note: <strong>$port</strong> defaults to memcache.default_port if not specified. For this
                    reason it is wise to specify the port explicitly in this method call.
  <info>int</info>     <strong>$timeout</strong>  Value in seconds which will be used for connecting to the daemon. Think twice
                    before changing the default value of 1 second - you can lose all the advantages
                    of caching if your connection is too slow.

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

<comment>See Also:</comment>
   * <strong>Memcache::pconnect()</strong>
   * <strong>Memcache::close()</strong>


id: Memcache::decrement
type: function
doc:
<comment>Description:</comment>
  Decrement item's value
  
  <strong>Memcache::decrement()</strong> decrements value of the  item by <strong>$value</strong>. Similarly to
  <strong>Memcache::increment()</strong>, current value of the item is being converted to numerical and after that
  <strong>$value</strong> is subtracted.   New item's value will not be less than zero.   Do not use
  <strong>Memcache::decrement()</strong> with item, which was stored compressed, because consequent call to
  <strong>Memcache::get()</strong> will fail.  <strong>Memcache::decrement()</strong> does not create an item if it didn't exist. Also
  you can use <strong>memcache_decrement()</strong> function.
  
  New item's value will not be less than zero.
  
  Do not use <strong>Memcache::decrement()</strong> with item, which was stored compressed, because consequent call
  to  <strong>Memcache::get()</strong> will fail.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    Key of the item do decrement.
  <info>int</info>     <strong>$value</strong>  Decrement the item by <strong>$value</strong>.

<comment>Return:</comment>
  <info>int|false</info>  Returns item's new value on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>Memcache::increment()</strong>
   * <strong>Memcache::replace()</strong>


id: Memcache::delete
type: function
doc:
<comment>Description:</comment>
  Delete item from the server
  
  <strong>Memcache::delete()</strong> deletes an item with the <strong>$key</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>      The key associated with the item to delete.
  <info>int</info>     <strong>$timeout</strong>  This deprecated parameter is not supported, and defaults to <return>0</return> seconds. Do not
                    use this parameter.

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

<comment>See Also:</comment>
   * <strong>Memcache::set()</strong>
   * <strong>Memcache::replace()</strong>


id: Memcache::flush
type: function
doc:
<comment>Description:</comment>
  Flush all existing items at the server
  
  <strong>Memcache::flush()</strong> immediately invalidates all  existing items. <strong>Memcache::flush()</strong> doesn't actually
  free any resources, it only marks all the items as expired, so occupied memory will be overwritten
  by new items. Also you can use <strong>memcache_flush()</strong> function.

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


id: Memcache::get
type: function
doc:
<comment>Description:</comment>
  Retrieve item from the server
  
  <strong>Memcache::get()</strong> returns previously stored data of an item, if such <strong>$key</strong> exists on the server at
  this moment.
  
  You can pass array of keys to <strong>Memcache::get()</strong> to get array of values. The result array will
  contain only found key-value pairs.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    The key or array of keys to fetch.
  <info>int</info>     <strong>$flags</strong>  If present, flags fetched along with the values will be written to this parameter.
                  These flags are the same as the ones given to for example <strong>Memcache::set()</strong>. The
                  lowest byte of the int is reserved for pecl/memcache internal usage (e.g. to
                  indicate compression and serialization status).

<comment>Return:</comment>
  <info>string</info>  Returns the value associated with the <strong>$key</strong> or an array of found key-value pairs when <strong>$key</strong>
          is an <info>array</info>. Returns <info>false</info> on failure, <strong>$key</strong> is not found or <strong>$key</strong> is an empty <info>array</info>.


id: Memcache::getExtendedStats
type: function
doc:
<comment>Description:</comment>
  Get statistics from all servers in pool
  
  <strong>Memcache::getExtendedStats()</strong> returns a two-dimensional associative array with server statistics.
  Array keys correspond to  host:port of server and values contain the individual server statistics.
  A failed server will have its corresponding entry set to <info>false</info>. You can also use the
  <strong>memcache_get_extended_stats()</strong> function.
  
  This function has been added to Memcache version 2.0.0.

<comment>Param:</comment>
  <info>string</info>  <strong>$type</strong>    The type of statistics to fetch. Valid values are {reset,  malloc, maps,
                   cachedump, slabs, items, sizes}. According to the memcached protocol spec these
                   additional arguments "are  subject to change for the convenience of memcache
                   developers".
  <info>int</info>     <strong>$slabid</strong>  Used in conjunction with <strong>$type</strong> set to  cachedump to identify the slab to dump
                   from. The cachedump command ties up the server and is strictly to be used for
                   debugging purposes.
  <info>int</info>     <strong>$limit</strong>   Used in conjunction with <strong>$type</strong> set to  cachedump to limit the number of entries
                   to dump.

<comment>Return:</comment>
  <info>array</info>  Returns a two-dimensional associative array of server statistics or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>Memcache::getVersion()</strong>
   * <strong>Memcache::getStats()</strong>


id: Memcache::getServerStatus
type: function
doc:
<comment>Description:</comment>
  Returns server status
  
  <strong>Memcache::getServerStatus()</strong> returns a the servers  online/offline status. You can also use
  <strong>memcache_get_server_status()</strong>  function.
  
  This function has been added to Memcache version 2.1.0.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>  Point to the host where memcached is listening for connections.
  <info>int</info>     <strong>$port</strong>  Point to the port where memcached is listening for connections.

<comment>Return:</comment>
  <info>int</info>  Returns a the servers status. 0 if server is failed, non-zero otherwise

<comment>See Also:</comment>
   * <strong>Memcache::addServer()</strong>
   * <strong>Memcache::setServerParams()</strong>


id: Memcache::getStats
type: function
doc:
<comment>Description:</comment>
  Get statistics of the server
  
  <strong>Memcache::getStats()</strong> returns an associative array  with server's statistics. Array keys correspond
  to stats parameters and  values to parameter's values. Also you can use <strong>memcache_get_stats()</strong>
  function.

<comment>Param:</comment>
  <info>string</info>  <strong>$type</strong>    The type of statistics to fetch. Valid values are {reset,  malloc, maps,
                   cachedump, slabs, items, sizes}. According to the memcached protocol spec these
                   additional arguments "are  subject to change for the convenience of memcache
                   developers".
  <info>int</info>     <strong>$slabid</strong>  Used in conjunction with <strong>$type</strong> set to  cachedump to identify the slab to dump
                   from. The cachedump command ties up the server and is strictly to be used for
                   debugging purposes.
  <info>int</info>     <strong>$limit</strong>   Used in conjunction with <strong>$type</strong> set to  cachedump to limit the number of entries
                   to dump.

<comment>Return:</comment>
  <info>array|false</info>  Returns an associative array of server statistics or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>Memcache::getVersion()</strong>
   * <strong>Memcache::getExtendedStats()</strong>


id: Memcache::getVersion
type: function
doc:
<comment>Description:</comment>
  Return version of the server
  
  <strong>Memcache::getVersion()</strong> returns a string with server's version number. Also you can use
  <strong>memcache_get_version()</strong> function.

<comment>Return:</comment>
  <info>string|false</info>  Returns a string of server version number or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>Memcache::getExtendedStats()</strong>
   * <strong>Memcache::getStats()</strong>


id: Memcache::increment
type: function
doc:
<comment>Description:</comment>
  Increment item's value
  
  <strong>Memcache::increment()</strong> increments value of an item by the specified <strong>$value</strong>. If item specified by
  <strong>$key</strong> was not numeric and cannot be converted to a number, it will change its value to <strong>$value</strong>.
  <strong>Memcache::increment()</strong> does not create an item if it doesn't already exist.  Do not use
  <strong>Memcache::increment()</strong> with items that have been   stored compressed because subsequent calls to
  <strong>Memcache::get()</strong> will fail.  Also you can use <strong>memcache_increment()</strong> function.
  
  Do not use <strong>Memcache::increment()</strong> with items that have been   stored compressed because subsequent
  calls to  <strong>Memcache::get()</strong> will fail.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    Key of the item to increment.
  <info>int</info>     <strong>$value</strong>  Increment the item by <strong>$value</strong>.

<comment>Return:</comment>
  <info>int|false</info>  Returns new items value on success  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>Memcache::decrement()</strong>
   * <strong>Memcache::replace()</strong>


id: Memcache::pconnect
type: function
doc:
<comment>Description:</comment>
  Open memcached server persistent connection
  
  <strong>Memcache::pconnect()</strong> is similar to <strong>Memcache::connect()</strong> with the difference, that  the connection
  it establishes is persistent. This connection is not closed after the end of script execution and
  by <strong>Memcache::close()</strong> function. Also you can use <strong>memcache_pconnect()</strong> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>     Point to the host where memcached is listening for connections. This parameter
                    may also specify other transports like <return>unix:///path/to/memcached.sock</return> to use
                    UNIX domain sockets, in this case <strong>$port</strong> must also be set to <return>0</return>.
  <info>int</info>     <strong>$port</strong>     Point to the port where memcached is listening for connections. Set this
                    parameter to <return>0</return> when using UNIX domain sockets.
  <info>int</info>     <strong>$timeout</strong>  Value in seconds which will be used for connecting to the daemon. Think twice
                    before changing the default value of 1 second - you can lose all the advantages
                    of caching if your connection is too slow.

<comment>Return:</comment>
  <info>mixed</info>  Returns a Memcache object or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>Memcache::connect()</strong>


id: Memcache::replace
type: function
doc:
<comment>Description:</comment>
  Replace value of the existing item
  
  <strong>Memcache::replace()</strong> should be used to replace value of existing item with <strong>$key</strong>. In case if item
  with such key doesn't exists, <strong>Memcache::replace()</strong> returns <info>false</info>. For the rest <strong>Memcache::replace()</strong>
  behaves similarly to <strong>Memcache::set()</strong>. Also you can use <strong>memcache_replace()</strong> function.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>     The key that will be associated with the item.
  <info>mixed</info>   <strong>$var</strong>     The variable to store. Strings and integers are stored as is, other types are
                   stored serialized.
  <info>int</info>     <strong>$flag</strong>    Use <info>MEMCACHE_COMPRESSED</info> to store the item compressed (uses zlib).
  <info>int</info>     <strong>$expire</strong>  Expiration time of the item. If it's equal to zero, the item will never expire.
                   You can also use Unix timestamp or a number of seconds starting from current
                   time, but in the latter case the number of seconds may not exceed 2592000 (30
                   days).

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

<comment>See Also:</comment>
   * <strong>Memcache::set()</strong>
   * <strong>Memcache::add()</strong>


id: Memcache::set
type: function
doc:
<comment>Description:</comment>
  Store data at the server
  
  <strong>Memcache::set()</strong> stores an item  <strong>$var</strong> with <strong>$key</strong> on the  memcached server. Parameter <strong>$expire</strong> is
  expiration  time in seconds. If it's 0, the item never expires (but memcached server  doesn't
  guarantee this item to be stored all the time, it could be deleted  from the cache to make place
  for other items). You can use <info>MEMCACHE_COMPRESSED</info> constant as  <strong>$flag</strong> value if you want to use
  on-the-fly compression (uses zlib).  Remember that resource variables (i.e. file and connection
  descriptors) cannot be stored in the cache, because they cannot be adequately represented in
  serialized state.  Also you can use <strong>memcache_set()</strong> function.
  
  Remember that resource variables (i.e. file and connection descriptors) cannot be stored in the
  cache, because they cannot be adequately represented in serialized state.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>     The key that will be associated with the item.
  <info>mixed</info>   <strong>$var</strong>     The variable to store. Strings and integers are stored as is, other types are
                   stored serialized.
  <info>int</info>     <strong>$flag</strong>    Use <info>MEMCACHE_COMPRESSED</info> to store the item compressed (uses zlib).
  <info>int</info>     <strong>$expire</strong>  Expiration time of the item. If it's equal to zero, the item will never expire.
                   You can also use Unix timestamp or a number of seconds starting from current
                   time, but in the latter case the number of seconds may not exceed 2592000 (30
                   days).

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

<comment>See Also:</comment>
   * <strong>Memcache::add()</strong>
   * <strong>Memcache::replace()</strong>


id: Memcache::setCompressThreshold
type: function
doc:
<comment>Description:</comment>
  Enable automatic compression of large values
  
  <strong>Memcache::setCompressThreshold()</strong> enables automatic compression of large values. You can also use
  the <strong>memcache_set_compress_threshold()</strong> function.
  
  This function has been added to Memcache version 2.0.0.

<comment>Param:</comment>
  <info>int</info>  <strong>$threshold</strong>   Controls the minimum value length before attempting to compress automatically.
  <info></info>     <strong>$min_saving</strong>  Specifies the minimum amount of savings to actually store the value compressed.
                    The supplied value must be between 0 and 1. Default value is 0.2 giving a
                    minimum 20% compression savings.

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


id: Memcache::setServerParams
type: function
doc:
<comment>Description:</comment>
  Changes server parameters and status at runtime
  
  <strong>Memcache::setServerParams()</strong> changes server parameters at runtime. You can also use the
  <strong>memcache_set_server_params()</strong> function.
  
  This function has been added to Memcache version 2.1.0.

<comment>Param:</comment>
  <info>string</info>    <strong>$host</strong>              Point to the host where memcached is listening for connections.
  <info>int</info>       <strong>$port</strong>              Point to the port where memcached is listening for connections.
  <info>int</info>       <strong>$timeout</strong>           Value in seconds which will be used for connecting to the daemon.
                               Think twice before changing the default value of 1 second - you can
                               lose all the advantages of caching if your connection is too slow.
  <info>int</info>       <strong>$retry_interval</strong>    Controls how often a failed server will be retried, the default value
                               is 15 seconds. Setting this parameter to -1 disables automatic retry.
                               Neither this nor the <strong>$persistent</strong> parameter has any  effect when the
                               extension is loaded dynamically via <strong>dl()</strong>.
  <info>bool</info>      <strong>$status</strong>            Controls if the server should be flagged as online. Setting this
                               parameter to <info>false</info> and <strong>$retry_interval</strong> to -1 allows a failed  server
                               to be kept in the pool so as not to affect the key distribution
                               algorithm. Requests for this server will then failover or fail
                               immediately  depending on the <strong>$memcache.allow_failover</strong> setting.
                               Default to <info>true</info>, meaning the server should be considered online.
  <info>callable</info>  <strong>$failure_callback</strong>  Allows the user to specify a callback function to run upon
                               encountering an  error. The callback is run before failover is
                               attempted. The function takes  two parameters, the hostname and port
                               of the failed server.

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

<comment>See Also:</comment>
   * <strong>Memcache::addServer()</strong>
   * <strong>Memcache::getServerStatus()</strong>


id: Memcached::DISTRIBUTION_CONSISTENT
type: constant
doc:
<comment>Description:</comment>
  Consistent hashing key distribution algorithm (based on libketama).


id: Memcached::GET_EXTENDED
type: constant
doc:
<comment>Description:</comment>
  A flag for <strong>Memcached::get()</strong>, <strong>Memcached::getMulti()</strong> and <strong>Memcached::getMultiByKey()</strong> to ensure that
  the CAS token values are returned as well.
  
  Available as of Memcached 3.0.0.


id: Memcached::GET_PRESERVE_ORDER
type: constant
doc:
<comment>Description:</comment>
  A flag for <strong>Memcached::getMulti()</strong> and <strong>Memcached::getMultiByKey()</strong> to ensure that the keys are
  returned in the same order as they were requested in. Non-existing keys get a default value of
  NULL.


id: Memcached::HAVE_IGBINARY
type: constant
doc:
<comment>Description:</comment>
  Indicates whether igbinary serializer support is available.
  
  Type: <info>bool</info>.


id: Memcached::HAVE_JSON
type: constant
doc:
<comment>Description:</comment>
  Indicates whether JSON serializer support is available.
  
  Type: <info>bool</info>.


id: Memcached::HAVE_MSGPACK
type: constant
doc:
<comment>Description:</comment>
  Indicates whether msgpack serializer support is available.
  
  Type: <info>bool</info>.
  
  Available as of Memcached 3.0.0.


id: Memcached::OPT_BINARY_PROTOCOL
type: constant
doc:
<comment>Description:</comment>
  Enable the use of the binary protocol. Please note that you cannot toggle this option on an open
  connection.
  
  Type: <info>bool</info>, default: <info>false</info>.


id: Memcached::OPT_BUFFER_WRITES
type: constant
doc:
<comment>Description:</comment>
  Enables or disables buffered I/O. Enabling buffered I/O causes storage commands to "buffer"
  instead of being sent. Any action that retrieves data causes this buffer to be sent to the remote
  connection. Quitting the connection or closing down the connection will also cause the buffered
  data to be pushed to the remote connection.
  
  Type: <info>bool</info>, default: <info>false</info>.


id: Memcached::OPT_CACHE_LOOKUPS
type: constant
doc:
<comment>Description:</comment>
  Enables or disables caching of DNS lookups.
  
  Type: <info>bool</info>, default: <info>false</info>.


id: Memcached::OPT_COMPRESSION
type: constant
doc:
<comment>Description:</comment>
  Enables or disables payload compression. When enabled, item values longer than a certain threshold
  (currently 100 bytes) will be compressed during storage and decompressed during retrieval
  transparently.
  
  Type: <info>bool</info>, default: <info>true</info>.


id: Memcached::OPT_CONNECT_TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  In non-blocking mode this set the value of the timeout during socket connection, in milliseconds.
  
  Type: <info>int</info>, default: <return>1000</return>.


id: Memcached::OPT_DISTRIBUTION
type: constant
doc:
<comment>Description:</comment>
  Specifies the method of distributing item keys to the servers. Currently supported methods are
  modulo and consistent hashing. Consistent hashing delivers better distribution and allows servers
  to be added to the cluster with minimal cache losses.
  
  Type: <info>int</info>, default: <info>Memcached::DISTRIBUTION_MODULA.</info>


id: Memcached::OPT_HASH
type: constant
doc:
<comment>Description:</comment>
  Specifies the hashing algorithm used for the item keys. The valid values are supplied via
  <info>Memcached::HASH_*</info> constants. Each hash algorithm has its advantages and its disadvantages. Go with
  the default if you don't know or don't care.
  
  Type: <info>int</info>, default: <info>Memcached::HASH_DEFAULT</info>


id: Memcached::OPT_LIBKETAMA_COMPATIBLE
type: constant
doc:
<comment>Description:</comment>
  Enables or disables compatibility with libketama-like behavior. When enabled, the item key hashing
  algorithm is set to MD5 and distribution is set to be weighted consistent hashing distribution.
  This is useful because other libketama-based clients (Python, Ruby, etc.) with the same server
  configuration will be able to access the keys transparently.
  
  It is highly recommended to enable this option if you want to use consistent hashing, and it may
  be enabled by default in future releases.
  
  Type: <info>bool</info>, default: <info>false</info>.


id: Memcached::OPT_NOREPLY
type: constant
doc:
<comment>Description:</comment>
  Enables or disables ignoring the result of storage commands  (set, add, replace, append, prepend,
  delete, increment, decrement, etc.).  Storage commands will be sent without spending time waiting
  for a reply  (there would be no reply). Retrieval commands such as <strong>Memcached::get()</strong> are unaffected
  by this setting.
  
  Type: <info>bool</info>, default: <info>false</info>.


id: Memcached::OPT_NO_BLOCK
type: constant
doc:
<comment>Description:</comment>
  Enables or disables asynchronous I/O. This is the fastest transport available for storage
  functions.
  
  Type: <info>bool</info>, default: <info>false</info>.


id: Memcached::OPT_POLL_TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  Timeout for connection polling, in milliseconds.
  
  Type: <info>int</info>, default: <return>1000</return>.


id: Memcached::OPT_PREFIX_KEY
type: constant
doc:
<comment>Description:</comment>
  This can be used to create a "domain" for your item keys. The value specified here will be
  prefixed to each of the keys. It cannot be longer than <return>128</return> characters and will reduce the maximum
  available key size. The prefix is applied only to the item keys, not to the server keys.
  
  Type: <info>string</info>, default: <return>""</return>.


id: Memcached::OPT_RECV_TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  Socket reading timeout, in microseconds. In cases where you cannot use non-blocking I/O this will
  allow you to still have timeouts on the reading of data.
  
  Type: <info>int</info>, default: <return>0</return>.


id: Memcached::OPT_RETRY_TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  The amount of time, in seconds, to wait until retrying a failed connection attempt.
  
  Type: <info>int</info>, default: <return>0</return>.


id: Memcached::OPT_SEND_TIMEOUT
type: constant
doc:
<comment>Description:</comment>
  Socket sending timeout, in microseconds. In cases where you cannot use non-blocking I/O this will
  allow you to still have timeouts on the sending of data.
  
  Type: <info>int</info>, default: <return>0</return>.


id: Memcached::OPT_SERIALIZER
type: constant
doc:
<comment>Description:</comment>
  Specifies the serializer to use for serializing non-scalar values. The valid serializers are
  <info>Memcached::SERIALIZER_PHP</info> or <info>Memcached::SERIALIZER_IGBINARY</info>. The latter is supported only when
  memcached is configured with <return>--enable-memcached-igbinary</return> option and the <return>igbinary</return> extension is
  loaded.
  
  Type: <info>int</info>, default: <info>Memcached::SERIALIZER_PHP</info>.


id: Memcached::OPT_SERVER_FAILURE_LIMIT
type: constant
doc:
<comment>Description:</comment>
  Specifies the failure limit for server connection attempts. The server will be removed after this
  many continuous connection failures.
  
  Type: <info>int</info>, default: <return>0</return>.


id: Memcached::OPT_SOCKET_RECV_SIZE
type: constant
doc:
<comment>Description:</comment>
  The maximum socket receive buffer in bytes.
  
  Type: <info>int</info>, default: varies by platform/kernel configuration.


id: Memcached::OPT_SOCKET_SEND_SIZE
type: constant
doc:
<comment>Description:</comment>
  The maximum socket send buffer in bytes.
  
  Type: <info>int</info>, default: varies by platform/kernel configuration.


id: Memcached::OPT_TCP_NODELAY
type: constant
doc:
<comment>Description:</comment>
  Enables or disables the no-delay feature for connecting sockets (may be faster in some
  environments).
  
  Type: <info>bool</info>, default: <info>false</info>.


id: Memcached::RES_DATA_EXISTS
type: constant
doc:
<comment>Description:</comment>
  Failed to do compare-and-swap: item you are trying to store has been modified since you last
  fetched it.


id: Memcached::RES_NOTFOUND
type: constant
doc:
<comment>Description:</comment>
  Item with this key was not found (with "get" operation or "cas" operations).


id: Memcached::RES_NOTSTORED
type: constant
doc:
<comment>Description:</comment>
  Item was not stored: but not because of an error. This normally means that either the condition
  for an "add" or a "replace" command wasn't met, or that the item is in a delete queue.


id: Memcached::RES_PAYLOAD_FAILURE
type: constant
doc:
<comment>Description:</comment>
  Payload failure: could not compress/decompress or serialize/unserialize the value.


id: Memcached::SERIALIZER_IGBINARY
type: constant
doc:
<comment>Description:</comment>
  The igbinary serializer. Instead of textual representation it stores PHP data structures in a
  compact binary form, resulting in space and time gains.


id: Memcached::__construct
type: function
doc:
<comment>Description:</comment>
  Create a Memcached instance
  
  Creates a Memcached instance representing the connection to the memcache servers.
  
  This function is
  currently not documented; only its argument list is available.

<comment>Param:</comment>
  <info>string|null</info>    <strong>$persistent_id</strong>   By default the Memcached instances are destroyed at the end of the
                                  request. To create an instance that persists between requests, use
                                  <strong>$persistent_id</strong> to specify a unique ID for the instance. All
                                  instances created with the same <strong>$persistent_id</strong> will share the same
                                  connection.
  <info>callable|null</info>  <strong>$callback</strong>        
  <info>string|null</info>    <strong>$connection_str</strong>  


id: Memcached::add
type: function
doc:
<comment>Description:</comment>
  Add an item under a new key
  
  <strong>Memcached::add()</strong> is similar to Memcached::set, but the operation fails if the <strong>$key</strong> already exists
  on the server.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>         The key under which to store the value.
  <info>mixed</info>   <strong>$value</strong>       The value to store.
  <info>int</info>     <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. The Memcached::getResultCode will return
        <info>Memcached::RES_NOTSTORED</info> if the key already exists.

<comment>See Also:</comment>
   * Memcached::addByKey
   * Memcached::set
   * Memcached::replace


id: Memcached::addByKey
type: function
doc:
<comment>Description:</comment>
  Add an item under a new key on a specific server
  
  <strong>Memcached::addByKey()</strong> is functionally equivalent to Memcached::add, except that the free-form
  <strong>$server_key</strong> can be used to map the <strong>$key</strong> to a specific server. This is useful if you need to keep a
  bunch of related keys on a certain server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>string</info>  <strong>$key</strong>         The key under which to store the value.
  <info>mixed</info>   <strong>$value</strong>       The value to store.
  <info>int</info>     <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. The Memcached::getResultCode will return
        <info>Memcached::RES_NOTSTORED</info> if the key already exists.

<comment>See Also:</comment>
   * Memcached::add
   * Memcached::set
   * Memcached::replace


id: Memcached::addServer
type: function
doc:
<comment>Description:</comment>
  Add a server to the server pool
  
  <strong>Memcached::addServer()</strong> adds the specified server to the server pool. No connection is established
  to the server at this time, but if you are using consistent key distribution option (via
  <info>Memcached::DISTRIBUTION_CONSISTENT</info> or <info>Memcached::OPT_LIBKETAMA_COMPATIBLE</info>), some of the internal
  data structures will have to be updated. Thus, if you need to add multiple servers, it is better
  to use Memcached::addServers as the update then happens only once.
  
  The same server may appear multiple times in the server pool, because no duplication checks are
  made. This is not advisable; instead, use the <strong>$weight</strong> option to increase the selection weighting
  of this server.

<comment>Param:</comment>
  <info>string</info>  <strong>$host</strong>    The hostname of the memcache server. If the hostname is invalid, data-related
                   operations will set  <info>Memcached::RES_HOST_LOOKUP_FAILURE</info> result code. As of
                   version 2.0.0b1, this parameter may also specify the path of a unix socket
                   filepath ex. <return>/path/to/memcached.sock</return> to use UNIX domain sockets, in this case
                   <strong>$port</strong> must also be set to <return>0</return>.
  <info>int</info>     <strong>$port</strong>    The port on which memcache is running. Usually, this is <return>11211</return>. As of version
                   2.0.0b1, set this parameter to <return>0</return> when  using UNIX domain sockets.
  <info>int</info>     <strong>$weight</strong>  The weight of the server relative to the total weight of all the servers in the
                   pool. This controls the probability of the server being selected for operations.
                   This is used only with consistent distribution option and usually corresponds to
                   the amount of memory available to memcache on that server.

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

<comment>See Also:</comment>
   * Memcached::addServers
   * Memcached::resetServerList


id: Memcached::addServers
type: function
doc:
<comment>Description:</comment>
  Add multiple servers to the server pool
  
  <strong>Memcached::addServers()</strong> adds <strong>$servers</strong> to the server pool. Each entry in <strong>$servers</strong> is supposed to be
  an array containing hostname, port, and, optionally, weight of the server. No connection is
  established to the servers at this time.
  
  The same server may appear multiple times in the server pool, because no duplication checks are
  made. This is not advisable; instead, use the <strong>$weight</strong> option to increase the selection weighting
  of this server.

<comment>Param:</comment>
  <info></info>  <strong>$array</strong>  Array of the servers to add to the pool.

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

<comment>See Also:</comment>
   * Memcached::addServer
   * Memcached::resetServerList


id: Memcached::append
type: function
doc:
<comment>Description:</comment>
  Append data to an existing item
  
  <strong>Memcached::append()</strong> appends the given <strong>$value</strong> string to the value of an existing item. The reason
  that <strong>$value</strong> is forced to be a string is that appending mixed types is not well-defined.
  
  If the <info>Memcached::OPT_COMPRESSION</info> is enabled, the operation will fail and a warning will be
  issued, because appending compressed data to a value that is potentially already compressed is not
  possible.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    The key under which to store the value.
  <info>string</info>  <strong>$value</strong>  The string to append.

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> on success or <info>false</info> on failure. Returns <info>null</info> when compression is on.

<comment>See Also:</comment>
   * Memcached::appendByKey
   * Memcached::prepend


id: Memcached::appendByKey
type: function
doc:
<comment>Description:</comment>
  Append data to an existing item on a specific server
  
  <strong>Memcached::appendByKey()</strong> is functionally equivalent to Memcached::append, except that the
  free-form <strong>$server_key</strong> can be used to map the <strong>$key</strong> to a specific server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>string</info>  <strong>$key</strong>         The key under which to store the value.
  <info>string</info>  <strong>$value</strong>       The string to append.

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> on success or <info>false</info> on failure. Returns <info>null</info> when compression is on.

<comment>See Also:</comment>
   * Memcached::append
   * Memcached::prepend


id: Memcached::cas
type: function
doc:
<comment>Description:</comment>
  Compare and swap an item
  
  <strong>Memcached::cas()</strong> performs a "check and set" operation, so that the item will be stored only if no
  other client has updated it since it was last fetched by this client. The check is done via the
  <strong>$cas_token</strong> parameter which is a unique 64-bit value assigned to the existing item by memcache. See
  the documentation for  Memcached::get* methods for how to obtain this token. Note that the token
  is represented as a float due to the limitations of PHP's integer space.

<comment>Param:</comment>
  <info>string|int|float</info>  <strong>$cas_token</strong>   Unique value associated with the existing item. Generated by
                                 memcache.
  <info>string</info>            <strong>$key</strong>         The key under which to store the value.
  <info>mixed</info>             <strong>$value</strong>       The value to store.
  <info>int</info>               <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more
                                 info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. The Memcached::getResultCode will return
        <info>Memcached::RES_DATA_EXISTS</info> if the item you are trying to store has been modified since you
        last fetched it.

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


id: Memcached::casByKey
type: function
doc:
<comment>Description:</comment>
  Compare and swap an item on a specific server
  
  <strong>Memcached::casByKey()</strong> is functionally equivalent to Memcached::cas, except that the free-form
  <strong>$server_key</strong> can be used to map the <strong>$key</strong> to a specific server. This is useful if you need to keep a
  bunch of related keys on a certain server.

<comment>Param:</comment>
  <info>string|int|float</info>  <strong>$cas_token</strong>   Unique value associated with the existing item. Generated by
                                 memcache.
  <info>string</info>            <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it
                                 from. Instead of hashing on the actual key for the item, we hash on
                                 the server key when deciding which memcached server to talk to.
                                 This allows related items to be grouped together on a single server
                                 for efficiency with multi operations.
  <info>string</info>            <strong>$key</strong>         The key under which to store the value.
  <info>mixed</info>             <strong>$value</strong>       The value to store.
  <info>int</info>               <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more
                                 info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. The Memcached::getResultCode will return
        <info>Memcached::RES_DATA_EXISTS</info> if the item you are trying to store has been modified since you
        last fetched it.

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


id: Memcached::decrement
type: function
doc:
<comment>Description:</comment>
  Decrement numeric item's value
  
  <strong>Memcached::decrement()</strong> decrements a numeric item's value by the specified <strong>$offset</strong>. If the item's
  value is not numeric, an error will result. If the operation would decrease the value below 0, the
  new value will be 0. <strong>Memcached::decrement()</strong> will set the item to the <strong>$initial_value</strong> parameter if
  the key doesn't exist.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>            The key of the item to decrement.
  <info>int</info>     <strong>$offset</strong>         The amount by which to decrement the item's value.
  <info>int</info>     <strong>$initial_value</strong>  The value to set the item to if it doesn't currently exist.
  <info>int</info>     <strong>$expiry</strong>         The expiry time to set on the item.

<comment>Return:</comment>
  <info>int|false</info>  Returns item's new value on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * Memcached::increment
   * Memcached::incrementByKey
   * Memcached::decrementByKey


id: Memcached::decrementByKey
type: function
doc:
<comment>Description:</comment>
  Decrement numeric item's value, stored on a specific server
  
  <strong>Memcached::decrementByKey()</strong> decrements a numeric item's value by the specified <strong>$offset</strong>. If the
  item's value is not numeric, an error will result. If the operation would decrease the value below
  0, the new value will be 0. <strong>Memcached::decrementByKey()</strong> will set the item to the <strong>$initial_value</strong>
  parameter if the key doesn't exist.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>     The key identifying the server to store the value on or retrieve it from.
                          Instead of hashing on the actual key for the item, we hash on the server
                          key when deciding which memcached server to talk to. This allows related
                          items to be grouped together on a single server for efficiency with multi
                          operations.
  <info>string</info>  <strong>$key</strong>            The key of the item to decrement.
  <info>int</info>     <strong>$offset</strong>         The amount by which to decrement the item's value.
  <info>int</info>     <strong>$initial_value</strong>  The value to set the item to if it doesn't currently exist.
  <info>int</info>     <strong>$expiry</strong>         The expiry time to set on the item.

<comment>Return:</comment>
  <info>int|false</info>  Returns item's new value on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * Memcached::decrement
   * Memcached::increment
   * Memcached::incrementByKey


id: Memcached::delete
type: function
doc:
<comment>Description:</comment>
  Delete an item
  
  Delete the <strong>$key</strong> from the server.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>   The key to be deleted.
  <info>int</info>     <strong>$time</strong>  The amount of time the server will wait to delete the item.
                 
                 As of memcached 1.3.0 (released 2009) this feature is no longer supported. Passing
                 a non-zero <strong>$time</strong> will cause the deletion to fail. Memcached::getResultCode will
                 return <info>MEMCACHED_INVALID_ARGUMENTS</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. The Memcached::getResultCode will return
        <info>Memcached::RES_NOTFOUND</info> if the key does not exist.

<comment>See Also:</comment>
   * Memcached::deleteByKey
   * Memcached::deleteMulti


id: Memcached::deleteByKey
type: function
doc:
<comment>Description:</comment>
  Delete an item from a specific server
  
  <strong>Memcached::deleteByKey()</strong> is functionally equivalent to Memcached::delete, except that the
  free-form <strong>$server_key</strong> can be used to map the <strong>$key</strong> to a specific server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>string</info>  <strong>$key</strong>         The key to be deleted.
  <info>int</info>     <strong>$time</strong>        The amount of time the server will wait to delete the item.
                       
                       As of memcached 1.3.0 (released 2009) this feature is no longer supported.
                       Passing a non-zero <strong>$time</strong> will cause the deletion to fail.
                       Memcached::getResultCode will return <info>MEMCACHED_INVALID_ARGUMENTS</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. The Memcached::getResultCode will return
        <info>Memcached::RES_NOTFOUND</info> if the key does not exist.

<comment>See Also:</comment>
   * Memcached::delete
   * Memcached::deleteMulti
   * Memcached::deleteMultiByKey


id: Memcached::deleteMulti
type: function
doc:
<comment>Description:</comment>
  Delete multiple items
  
  Delete the array of <strong>$keys</strong> from the server.

<comment>Param:</comment>
  <info>array</info>  <strong>$keys</strong>  The keys to be deleted.
  <info>int</info>    <strong>$time</strong>  The amount of time the server will wait to delete the items.
                
                As of memcached 1.3.0 (released 2009) this feature is no longer supported. Passing a
                non-zero <strong>$time</strong> will cause the deletion to fail. Memcached::getResultCode will return
                <info>MEMCACHED_INVALID_ARGUMENTS</info>.

<comment>Return:</comment>
  <info>array</info>  Returns an array indexed by <strong>$keys</strong>. Each element is <info>true</info> if the corresponding key was
         deleted, or one of the <info>Memcached::RES_*</info> constants if the corresponding deletion failed.
         
         The Memcached::getResultCode will return the result code for the last executed delete
         operation, that is, the delete operation for the last element of <strong>$keys</strong>.

<comment>See Also:</comment>
   * Memcached::delete
   * Memcached::deleteByKey
   * Memcached::deleteMultiByKey


id: Memcached::deleteMultiByKey
type: function
doc:
<comment>Description:</comment>
  Delete multiple items from a specific server
  
  <strong>Memcached::deleteMultiByKey()</strong> is functionally equivalent to Memcached::deleteMulti, except that
  the free-form <strong>$server_key</strong> can be used to map the <strong>$keys</strong> to a specific server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>array</info>   <strong>$keys</strong>        The keys to be deleted.
  <info>int</info>     <strong>$time</strong>        The amount of time the server will wait to delete the items.
                       
                       As of memcached 1.3.0 (released 2009) this feature is no longer supported.
                       Passing a non-zero <strong>$time</strong> will cause the deletion to fail.
                       Memcached::getResultCode will return <info>MEMCACHED_INVALID_ARGUMENTS</info>.

<comment>Return:</comment>
  <info>array</info>  Returns an array indexed by <strong>$keys</strong>. Each element is <info>true</info> if the corresponding key was
         deleted, or one of the <info>Memcached::RES_*</info> constants if the corresponding deletion failed.
         
         The Memcached::getResultCode will return the result code for the last executed delete
         operation, that is, the delete operation for the last element of <strong>$keys</strong>.

<comment>See Also:</comment>
   * Memcached::delete
   * Memcached::deleteByKey
   * Memcached::deleteMulti


id: Memcached::fetch
type: function
doc:
<comment>Description:</comment>
  Fetch the next result
  
  <strong>Memcached::fetch()</strong> retrieves the next result from the last request.

<comment>Return:</comment>
  <info>array|false</info>  Returns the next result or <info>false</info> otherwise. The Memcached::getResultCode will return
               <info>Memcached::RES_END</info> if result set is exhausted.

<comment>See Also:</comment>
   * Memcached::fetchAll
   * Memcached::getDelayed


id: Memcached::fetchAll
type: function
doc:
<comment>Description:</comment>
  Fetch all the remaining results
  
  <strong>Memcached::fetchAll()</strong> retrieves all the remaining results from the last request.

<comment>Return:</comment>
  <info>array|false</info>  Returns the results or <info>false</info> on failure. Use Memcached::getResultCode if necessary.

<comment>See Also:</comment>
   * Memcached::fetch
   * Memcached::getDelayed


id: Memcached::flush
type: function
doc:
<comment>Description:</comment>
  Invalidate all items in the cache
  
  <strong>Memcached::flush()</strong> invalidates all existing cache items immediately (by default) or after the
  <strong>$delay</strong> specified. After invalidation none of the items will be returned in response to a retrieval
  command (unless it's stored again under the same key after <strong>Memcached::flush()</strong> has invalidated the
  items). The flush does not actually free all the memory taken up by the existing items; that will
  happen gradually as new items are stored.

<comment>Param:</comment>
  <info>int</info>  <strong>$delay</strong>  Number of seconds to wait before invalidating the items.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Use Memcached::getResultCode if necessary.


id: Memcached::get
type: function
doc:
<comment>Description:</comment>
  Retrieve an item
  
  <strong>Memcached::get()</strong> returns the item that was previously stored under the <strong>$key</strong>. If the item is found
  and the <strong>$get_flags</strong> is given <info>Memcached::GET_EXTENDED</info>, it will also return the CAS token value for
  the item. See Memcached::cas for how to use CAS tokens. Read-through caching callback may be
  specified via <strong>$cache_cb</strong> parameter.

<comment>Param:</comment>
  <info>string</info>         <strong>$key</strong>        The key of the item to retrieve.
  <info>callable|null</info>  <strong>$cache_cb</strong>   Read-through caching callback or <info>null</info>.
  <info>int</info>            <strong>$get_flags</strong>  Flags to control the returned result. When <info>Memcached::GET_EXTENDED</info> is
                             given, the function will also return the CAS token.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value stored in the cache or <info>false</info> otherwise. If the <strong>$get_flags</strong> is set to
         <info>Memcached::GET_EXTENDED</info>, an array containing the value and the CAS token is returned
         instead of only the value. The Memcached::getResultCode will return <info>Memcached::RES_NOTFOUND</info>
         if the key does not exist.

<comment>See Also:</comment>
   * Memcached::getByKey
   * Memcached::getMulti
   * Memcached::getDelayed


id: Memcached::getAllKeys
type: function
doc:
<comment>Description:</comment>
  Gets the keys stored on all the servers
  
  <strong>Memcached::getAllKeys()</strong> queries each memcache server and retrieves an array of all keys stored on
  them at that point in time. This is not an atomic operation, so it isn't a truly consistent
  snapshot of the keys at point in time. As memcache doesn't guarantee to return all keys you also
  cannot assume that all keys have been returned.
  
  This method is intended for debugging purposes and should not be used at scale!

<comment>Return:</comment>
  <info>array|false</info>  Returns the keys stored on all the servers on success or <info>false</info> on failure.


id: Memcached::getByKey
type: function
doc:
<comment>Description:</comment>
  Retrieve an item from a specific server
  
  <strong>Memcached::getByKey()</strong> is functionally equivalent to Memcached::get, except that the free-form
  <strong>$server_key</strong> can be used to map the <strong>$key</strong> to a specific server.

<comment>Param:</comment>
  <info>string</info>         <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it
                              from. Instead of hashing on the actual key for the item, we hash on
                              the server key when deciding which memcached server to talk to. This
                              allows related items to be grouped together on a single server for
                              efficiency with multi operations.
  <info>string</info>         <strong>$key</strong>         The key of the item to fetch.
  <info>callable|null</info>  <strong>$cache_cb</strong>    Read-through caching callback or <info>null</info>
  <info>int</info>            <strong>$get_flags</strong>   Flags to control the returned result. When value of
                              <info>Memcached::GET_EXTENDED</info> is given will return the CAS token.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value stored in the cache or <info>false</info> otherwise. The Memcached::getResultCode will
         return <info>Memcached::RES_NOTFOUND</info> if the key does not exist.

<comment>See Also:</comment>
   * Memcached::get
   * Memcached::getMulti
   * Memcached::getDelayed


id: Memcached::getDelayed
type: function
doc:
<comment>Description:</comment>
  Request multiple items
  
  <strong>Memcached::getDelayed()</strong> issues a request to memcache for multiple items the keys of which are
  specified in the <strong>$keys</strong> array. The method does not wait for response and returns right away. When
  you are ready to collect the items, call either Memcached::fetch or Memcached::fetchAll. If
  <strong>$with_cas</strong> is true, the CAS token values will also be requested.
  
  Instead of fetching the results explicitly, you can specify a result callback via <strong>$value_cb</strong>
  parameter.

<comment>Param:</comment>
  <info>array</info>          <strong>$keys</strong>      Array of keys to request.
  <info>bool</info>           <strong>$with_cas</strong>  Whether to request CAS token values also.
  <info>callable|null</info>  <strong>$value_cb</strong>  The result callback or <info>null</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Use Memcached::getResultCode if necessary.

<comment>See Also:</comment>
   * Memcached::getDelayedByKey
   * Memcached::fetch
   * Memcached::fetchAll


id: Memcached::getDelayedByKey
type: function
doc:
<comment>Description:</comment>
  Request multiple items from a specific server
  
  <strong>Memcached::getDelayedByKey()</strong> is functionally equivalent to Memcached::getDelayed, except that the
  free-form <strong>$server_key</strong> can be used to map the <strong>$keys</strong> to a specific server.

<comment>Param:</comment>
  <info>string</info>         <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it
                              from. Instead of hashing on the actual key for the item, we hash on
                              the server key when deciding which memcached server to talk to. This
                              allows related items to be grouped together on a single server for
                              efficiency with multi operations.
  <info>array</info>          <strong>$keys</strong>        Array of keys to request.
  <info>bool</info>           <strong>$with_cas</strong>    Whether to request CAS token values also.
  <info>callable|null</info>  <strong>$value_cb</strong>    The result callback or <info>null</info>.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Use Memcached::getResultCode if necessary.

<comment>See Also:</comment>
   * Memcached::getDelayed
   * Memcached::fetch
   * Memcached::fetchAll


id: Memcached::getMulti
type: function
doc:
<comment>Description:</comment>
  Retrieve multiple items
  
  <strong>Memcached::getMulti()</strong> is similar to Memcached::get, but instead of a single key item, it retrieves
  multiple items the keys of which are specified in the <strong>$keys</strong> array.  Before v3.0 a second argument
  cas_tokens</strong> was in use. It was filled with the CAS token values for the found items. The cas_tokens</strong>
  parameter was removed in v3.0 of the extension. It was replaced with a new flag
  <info>Memcached::GET_EXTENDED</info> that needs is to be used as the value for <strong>$get_flags</strong>.
  
  Before v3.0 a second argument cas_tokens</strong> was in use. It was filled with the CAS token values for
  the found items. The cas_tokens</strong> parameter was removed in v3.0 of the extension. It was replaced
  with a new flag <info>Memcached::GET_EXTENDED</info> that needs is to be used as the value for <strong>$get_flags</strong>.
  
  The <strong>$get_flags</strong> parameter can be used to specify additional options for <strong>Memcached::getMulti()</strong>.
  <info>Memcached::GET_PRESERVE_ORDER</info> ensures that the keys are returned in the same order as they were
  requested in. <info>Memcached::GET_EXTENDED</info> ensures that the CAS tokens will be fetched too.

<comment>Param:</comment>
  <info>array</info>  <strong>$keys</strong>       Array of keys to retrieve.
  <info>int</info>    <strong>$get_flags</strong>  The flags for the get operation.

<comment>Return:</comment>
  <info>array|false</info>  Returns the array of found items or <info>false</info> on failure. Use Memcached::getResultCode if
               necessary.

<comment>See Also:</comment>
   * Memcached::getMultiByKey
   * Memcached::get
   * Memcached::getDelayed


id: Memcached::getMultiByKey
type: function
doc:
<comment>Description:</comment>
  Retrieve multiple items from a specific server
  
  <strong>Memcached::getMultiByKey()</strong> is functionally equivalent to Memcached::getMulti, except that the
  free-form <strong>$server_key</strong> can be used to map the <strong>$keys</strong> to a specific server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>array</info>   <strong>$keys</strong>        Array of keys to retrieve.
  <info>int</info>     <strong>$get_flags</strong>   The flags for the get operation.

<comment>Return:</comment>
  <info>array|false</info>  Returns the array of found items or <info>false</info> on failure. Use Memcached::getResultCode if
               necessary.

<comment>See Also:</comment>
   * Memcached::getMulti
   * Memcached::get
   * Memcached::getDelayed


id: Memcached::getOption
type: function
doc:
<comment>Description:</comment>
  Retrieve a Memcached option value
  
  This method returns the value of a Memcached <strong>$option</strong>. Some options correspond to the ones defined
  by libmemcached, and some are specific to the extension. See Memcached Constants for more
  information.

<comment>Param:</comment>
  <info>int</info>  <strong>$option</strong>  One of the <return>Memcached::OPT_*</return> constants.

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

<comment>See Also:</comment>
   * Memcached::getOption
   * Memcached::setOption
   * Memcached Constants


id: Memcached::getResultCode
type: function
doc:
<comment>Description:</comment>
  Return the result code of the last operation
  
  <strong>Memcached::getResultCode()</strong> returns one of the <info>Memcached::RES_*</info> constants that is the result of the
  last executed Memcached method.

<comment>Return:</comment>
  <info>int</info>  Result code of the last Memcached operation.


id: Memcached::getResultMessage
type: function
doc:
<comment>Description:</comment>
  Return the message describing the result of the last operation
  
  <strong>Memcached::getResultMessage()</strong> returns a string that describes the result code of the last executed
  Memcached method.

<comment>Return:</comment>
  <info>string</info>  Message describing the result of the last Memcached operation.


id: Memcached::getServerByKey
type: function
doc:
<comment>Description:</comment>
  Map a key to a server
  
  <strong>Memcached::getServerByKey()</strong> returns the server that would be selected by a particular <strong>$server_key</strong>
  in all the <strong>Memcached::*ByKey()</strong> operations.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.

<comment>Return:</comment>
  <info>array|false</info>  Returns an array containing three keys of <return>host</return>, <return>port</return>, and <return>weight</return> on success or <info>false</info>
               on failure. Use Memcached::getResultCode if necessary.


id: Memcached::getServerList
type: function
doc:
<comment>Description:</comment>
  Get the list of the servers in the pool
  
  <strong>Memcached::getServerList()</strong> returns the list of all servers that are in its server pool.

<comment>Return:</comment>
  <info>array</info>  The list of all servers in the server pool.


id: Memcached::getStats
type: function
doc:
<comment>Description:</comment>
  Get server pool statistics
  
  <strong>Memcached::getStats()</strong> returns an array containing the state of all available memcache servers. See
  memcache protocol specification for details on these statistics.

<comment>Param:</comment>
  <info>string|null</info>  <strong>$type</strong>  The type of statistics to fetch.

<comment>Return:</comment>
  <info>array|false</info>  Array of server statistics, one entry per server,  or <info>false</info> on failure.


id: Memcached::getVersion
type: function
doc:
<comment>Description:</comment>
  Get server pool version info
  
  <strong>Memcached::getVersion()</strong> returns an array containing the version info for all available memcache
  servers.

<comment>Return:</comment>
  <info>array|false</info>  Array of server versions, one entry per server.


id: Memcached::increment
type: function
doc:
<comment>Description:</comment>
  Increment numeric item's value
  
  <strong>Memcached::increment()</strong> increments a numeric item's value by the specified <strong>$offset</strong>. If the item's
  value is not numeric, an error will result. <strong>Memcached::increment()</strong> will set the item to the
  <strong>$initial_value</strong> parameter if the key doesn't exist.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>            The key of the item to increment.
  <info>int</info>     <strong>$offset</strong>         The amount by which to increment the item's value.
  <info>int</info>     <strong>$initial_value</strong>  The value to set the item to if it doesn't currently exist.
  <info>int</info>     <strong>$expiry</strong>         The expiry time to set on the item.

<comment>Return:</comment>
  <info>int|false</info>  Returns new item's value on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * Memcached::decrement
   * Memcached::decrementByKey
   * Memcached::incrementByKey


id: Memcached::incrementByKey
type: function
doc:
<comment>Description:</comment>
  Increment numeric item's value, stored on a specific server
  
  <strong>Memcached::incrementByKey()</strong> increments a numeric item's value by the specified <strong>$offset</strong>. If the
  item's value is not numeric, an error will result. <strong>Memcached::incrementByKey()</strong> will set the item
  to the <strong>$initial_value</strong> parameter if the key doesn't exist.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>     The key identifying the server to store the value on or retrieve it from.
                          Instead of hashing on the actual key for the item, we hash on the server
                          key when deciding which memcached server to talk to. This allows related
                          items to be grouped together on a single server for efficiency with multi
                          operations.
  <info>string</info>  <strong>$key</strong>            The key of the item to increment.
  <info>int</info>     <strong>$offset</strong>         The amount by which to increment the item's value.
  <info>int</info>     <strong>$initial_value</strong>  The value to set the item to if it doesn't currently exist.
  <info>int</info>     <strong>$expiry</strong>         The expiry time to set on the item.

<comment>Return:</comment>
  <info>int|false</info>  Returns new item's value on success or <info>false</info> on failure.

<comment>See Also:</comment>
   * Memcached::decrement
   * Memcached::decrementByKey
   * Memcached::increment


id: Memcached::isPersistent
type: function
doc:
<comment>Description:</comment>
  Check if a persitent connection to memcache is being used
  
  <strong>Memcached::isPersistent()</strong> checks if the connections to the memcache servers are persistent
  connections.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if Memcache instance uses a persistent connection, <info>false</info> otherwise.

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


id: Memcached::isPristine
type: function
doc:
<comment>Description:</comment>
  Check if the instance was recently created
  
  <strong>Memcached::isPristine()</strong> checks if the Memcache instance was recently created.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if instance is recently created, <info>false</info> otherwise.

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


id: Memcached::prepend
type: function
doc:
<comment>Description:</comment>
  Prepend data to an existing item
  
  <strong>Memcached::prepend()</strong> prepends the given <strong>$value</strong> string to the value of an existing item. The reason
  that <strong>$value</strong> is forced to be a string is that prepending mixed types is not well-defined.
  
  If the <info>Memcached::OPT_COMPRESSION</info> is enabled, the operation will fail and a warning will be
  issued, because prepending compressed data to a value that is potentially already compressed is
  not possible.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>    The key of the item to prepend the data to.
  <info>string</info>  <strong>$value</strong>  The string to prepend.

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> on success or <info>false</info> on failure. Returns <info>null</info> when compression is on.

<comment>See Also:</comment>
   * Memcached::prependByKey
   * Memcached::append


id: Memcached::prependByKey
type: function
doc:
<comment>Description:</comment>
  Prepend data to an existing item on a specific server
  
  <strong>Memcached::prependByKey()</strong> is functionally equivalent to Memcached::prepend, except that the
  free-form <strong>$server_key</strong> can be used to map the <strong>$key</strong> to a specific server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>string</info>  <strong>$key</strong>         The key of the item to prepend the data to.
  <info>string</info>  <strong>$value</strong>       The string to prepend.

<comment>Return:</comment>
  <info>bool|null</info>  Returns <info>true</info> on success or <info>false</info> on failure. Returns <info>null</info> when compression is on.

<comment>See Also:</comment>
   * Memcached::prepend
   * Memcached::append


id: Memcached::quit
type: function
doc:
<comment>Description:</comment>
  Close any open connections
  
  <strong>Memcached::quit()</strong> closes any open connections to the memcache servers.

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


id: Memcached::replace
type: function
doc:
<comment>Description:</comment>
  Replace the item under an existing key
  
  <strong>Memcached::replace()</strong> is similar to Memcached::set, but the operation fails if the <strong>$key</strong> does not
  exist on the server.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>         The key under which to store the value.
  <info>mixed</info>   <strong>$value</strong>       The value to store.
  <info>int</info>     <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. The Memcached::getResultCode will return
        <info>Memcached::RES_NOTSTORED</info> if the key does not exist.

<comment>See Also:</comment>
   * Memcached::replaceByKey
   * Memcached::set
   * Memcached::add


id: Memcached::replaceByKey
type: function
doc:
<comment>Description:</comment>
  Replace the item under an existing key on a specific server
  
  <strong>Memcached::replaceByKey()</strong> is functionally equivalent to Memcached::replace, except that the
  free-form <strong>$server_key</strong> can be used to map the <strong>$key</strong> to a specific server. This is useful if you need
  to keep a bunch of related keys on a certain server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>string</info>  <strong>$key</strong>         The key under which to store the value.
  <info>mixed</info>   <strong>$value</strong>       The value to store.
  <info>int</info>     <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. The Memcached::getResultCode will return
        <info>Memcached::RES_NOTSTORED</info> if the key does not exist.

<comment>See Also:</comment>
   * Memcached::replace
   * Memcached::set
   * Memcached::add


id: Memcached::resetServerList
type: function
doc:
<comment>Description:</comment>
  Clears all servers from the server list
  
  <strong>Memcached::resetserverlist()</strong> removes all memcache servers from the known server list, resetting it
  back to empty.

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

<comment>See Also:</comment>
   * Memcached::addServer
   * Memcached::addServers


id: Memcached::set
type: function
doc:
<comment>Description:</comment>
  Store an item
  
  <strong>Memcached::set()</strong> stores the <strong>$value</strong> on a memcache server under the specified <strong>$key</strong>. The <strong>$expiration</strong>
  parameter can be used to control when the value is considered expired.
  
  The value can be any valid PHP type except for resources, because those cannot be represented in a
  serialized form. If the <info>Memcached::OPT_COMPRESSION</info> option is turned on, the serialized value will
  also be compressed before storage.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>         The key under which to store the value.
  <info>mixed</info>   <strong>$value</strong>       The value to store.
  <info>int</info>     <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Use Memcached::getResultCode if necessary.

<comment>See Also:</comment>
   * Memcached::setByKey
   * Memcached::add
   * Memcached::replace


id: Memcached::setByKey
type: function
doc:
<comment>Description:</comment>
  Store an item on a specific server
  
  <strong>Memcached::setByKey()</strong> is functionally equivalent to Memcached::set, except that the free-form
  <strong>$server_key</strong> can be used to map the <strong>$key</strong> to a specific server. This is useful if you need to keep a
  bunch of related keys on a certain server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>string</info>  <strong>$key</strong>         The key under which to store the value.
  <info>mixed</info>   <strong>$value</strong>       The value to store.
  <info>int</info>     <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Use Memcached::getResultCode if necessary.

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


id: Memcached::setMulti
type: function
doc:
<comment>Description:</comment>
  Store multiple items
  
  <strong>Memcached::setMulti()</strong> is similar to Memcached::set, but instead of a single key/value item, it
  works on multiple items specified in <strong>$items</strong>. The <strong>$expiration</strong> time applies to all the items at
  once.

<comment>Param:</comment>
  <info>array</info>  <strong>$items</strong>       An array of key/value pairs to store on the server.
  <info>int</info>    <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Use Memcached::getResultCode if necessary.

<comment>See Also:</comment>
   * Memcached::setMultiByKey
   * Memcached::set


id: Memcached::setMultiByKey
type: function
doc:
<comment>Description:</comment>
  Store multiple items on a specific server
  
  <strong>Memcached::setMultiByKey()</strong> is functionally equivalent to Memcached::setMulti, except that the
  free-form <strong>$server_key</strong> can be used to map the keys from <strong>$items</strong> to a specific server. This is useful
  if you need to keep a bunch of related keys on a certain server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>array</info>   <strong>$items</strong>       An array of key/value pairs to store on the server.
  <info>int</info>     <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Use Memcached::getResultCode if necessary.

<comment>See Also:</comment>
   * Memcached::setMulti
   * Memcached::set


id: Memcached::setOption
type: function
doc:
<comment>Description:</comment>
  Set a Memcached option
  
  This method sets the value of a Memcached <strong>$option</strong>. Some options correspond to the ones defined by
  libmemcached, and some are specific to the extension.

<comment>Param:</comment>
  <info>int</info>    <strong>$option</strong>  One of the <return>Memcached::OPT_*</return> constant. See Memcached Constants for more
                  information.
  <info>mixed</info>  <strong>$value</strong>   The value to be set.
                  
                  The options listed below require values specified via constants.
                  <return>Memcached::OPT_HASH</return> requires <return>Memcached::HASH_*</return> values.<return>Memcached::OPT_DISTRIBUTION</return>
                  requires <return>Memcached::DISTRIBUTION_*</return> values.

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

<comment>See Also:</comment>
   * Memcached::getOption
   * Memcached::setOptions
   * Memcached Constants


id: Memcached::setOptions
type: function
doc:
<comment>Description:</comment>
  Set Memcached options
  
  <strong>Memcached::setOptions()</strong> is a variation of the Memcached::setOption that takes an array of options
  to be set.

<comment>Param:</comment>
  <info>array</info>  <strong>$options</strong>  An associative array of options where the key is the option to set and the value
                   is the new value for the option.

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

<comment>See Also:</comment>
   * Memcached::getOption
   * Memcached::setOption
   * Memcached Constants


id: Memcached::setSaslAuthData
type: function
doc:
<comment>Description:</comment>
  Set the credentials to use for authentication
  
  <strong>Memcached::setSaslAuthData()</strong> sets the username and password that should be used for SASL
  authentication with the memcache servers.
  
  This method is only available when the memcached extension is built with SASL support. Please
  refer to Memcached setup for how to do this.

<comment>Param:</comment>
  <info>string</info>  <strong>$username</strong>  The username to use for authentication.
  <info>string</info>  <strong>$password</strong>  The password to use for authentication.

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


id: Memcached::touch
type: function
doc:
<comment>Description:</comment>
  Set a new expiration on an item
  
  <strong>Memcached::touch()</strong> sets a new expiration value on the given key.

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>         The key under which to store the value.
  <info>int</info>     <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Use Memcached::getResultCode if necessary.

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


id: Memcached::touchByKey
type: function
doc:
<comment>Description:</comment>
  Set a new expiration on an item on a specific server
  
  <strong>Memcached::touchByKey()</strong> is functionally equivalent to Memcached::touch, except that the free-form
  <strong>$server_key</strong> can be used to map the <strong>$key</strong> to a specific server.

<comment>Param:</comment>
  <info>string</info>  <strong>$server_key</strong>  The key identifying the server to store the value on or retrieve it from.
                       Instead of hashing on the actual key for the item, we hash on the server key
                       when deciding which memcached server to talk to. This allows related items to
                       be grouped together on a single server for efficiency with multi operations.
  <info>string</info>  <strong>$key</strong>         The key under which to store the value.
  <info>int</info>     <strong>$expiration</strong>  The expiration time, defaults to 0. See Expiration Times for more info.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> on success or <info>false</info> on failure. Use Memcached::getResultCode if necessary.

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


id: MessageFormatter
type: class
doc:
<comment>Description:</comment>
  MessageFormatter is a concrete class that enables users to produce concatenated, language-neutral
  messages. The methods supplied in this class are used to build all the messages that are seen by
  end users.
  
  The MessageFormatter class assembles messages from various fragments (such as text fragments,
  numbers, and dates) supplied by the program. Because of the MessageFormatter class, the program
  does not need to know the order of the fragments. The class uses the formatting specifications for
  the fragments to assemble them into a message that is contained in a single string within a
  resource bundle. For example, MessageFormatter enables you to print the phrase "Finished printing
  x out of y files..." in a manner that still allows for flexibility in translation.
  
  Previously, an end user message was created as a sentence and handled as a string. This procedure
  created problems for localizers because the sentence structure, word order, number format and so
  on are very different from language to language. The language-neutral way to create messages keeps
  each part of the message separate and provides keys to the data. Using these keys, the
  MessageFormatter class can concatenate the parts of the message, localize them, and display a
  well-formed string to the end user.
  
  MessageFormatter takes a set of objects, formats them, and then inserts the formatted strings into
  the pattern at the appropriate places. Choice formats can be used in conjunction with
  MessageFormatter to handle plurals, match numbers, and select from an array of items. Typically,
  the message format will come from resources and the arguments will be dynamically set at runtime.


id: MessageFormatter::__construct
type: function
doc:
<comment>Description:</comment>
  Constructs a new Message Formatter
  
  Object-oriented style (method)
  
  Object-oriented style (constructor):
  
  Procedural style
  
  Constructs a new Message Formatter

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>   The locale to use when formatting arguments
  <info>string</info>  <strong>$pattern</strong>  The pattern string to stick arguments into.  The pattern uses an
                    'apostrophe-friendly' syntax; see Quoting/Escaping for details.

<comment>Return:</comment>
  <info>MessageFormatter|null</info>  The formatter <info>object</info>, or <info>null</info> on failure.

<comment>See Also:</comment>
   * <strong>msgfmt_format()</strong>
   * <strong>msgfmt_parse()</strong>
   * <strong>msgfmt_get_error_code()</strong>
   * <strong>msgfmt_get_error_message()</strong>


id: MessageFormatter::format
type: function
doc:
<comment>Description:</comment>
  Format the message
  
  Object-oriented style
  
  Procedural style
  
  Format the message by substituting the data into the format string according to the locale rules

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  The message formatter
  <info>array</info>             <strong>$values</strong>     Arguments to insert into the format string

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

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_parse()</strong>
   * <strong>msgfmt_format_message()</strong>
   * <strong>msgfmt_get_error_code()</strong>
   * <strong>msgfmt_get_error_message()</strong>


id: MessageFormatter::formatMessage
type: function
doc:
<comment>Description:</comment>
  Quick format message
  
  Object-oriented style
  
  Procedural style
  
  Quick formatting function that formats the string without having to explicitly create the
  formatter object. Use this function when the format operation is done only once and does not need
  any parameters or state to be kept or when wanting to customize the output by providing additional
  context to ICU directly.

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>   The locale to use for formatting locale-dependent parts
  <info>string</info>  <strong>$pattern</strong>  The pattern <info>string</info> to insert things into. The pattern uses an
                    'apostrophe-friendly' syntax; see Quoting/Escaping for details.
  <info>array</info>   <strong>$values</strong>   The <info>array</info> of values to insert into the format <info>string</info>

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

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_parse()</strong>
   * <strong>msgfmt_get_error_code()</strong>
   * <strong>msgfmt_get_error_message()</strong>


id: MessageFormatter::getErrorCode
type: function
doc:
<comment>Description:</comment>
  Get the error code from last operation
  
  Object-oriented style
  
  Procedural style
  
  Get the error code from last operation.

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  The message formatter

<comment>Return:</comment>
  <info>int</info>  The error code, one of UErrorCode values. Initial value is U_ZERO_ERROR.

<comment>See Also:</comment>
   * <strong>msgfmt_get_error_message()</strong>
   * <strong>intl_get_error_code()</strong>
   * <strong>intl_is_failure()</strong>


id: MessageFormatter::getErrorMessage
type: function
doc:
<comment>Description:</comment>
  Get the error text from the last operation
  
  Object-oriented style
  
  Procedural style
  
  Get the error text from the last operation.

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  The message formatter

<comment>Return:</comment>
  <info>string</info>  Description of the last error.

<comment>See Also:</comment>
   * <strong>msgfmt_get_error_code()</strong>
   * <strong>intl_get_error_code()</strong>
   * <strong>intl_is_failure()</strong>


id: MessageFormatter::getLocale
type: function
doc:
<comment>Description:</comment>
  Get the locale for which the formatter was created
  
  Object-oriented style
  
  Procedural style
  
  Get the locale for which the formatter was created.

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  The formatter resource

<comment>Return:</comment>
  <info>string</info>  The locale name

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


id: MessageFormatter::getPattern
type: function
doc:
<comment>Description:</comment>
  Get the pattern used by the formatter
  
  Object-oriented style
  
  Procedural style
  
  Get the pattern used by the formatter

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  The message formatter

<comment>Return:</comment>
  <info>string|false</info>  The pattern <info>string</info> for this message formatter,  or <info>false</info> on failure.

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_set_pattern()</strong>


id: MessageFormatter::parse
type: function
doc:
<comment>Description:</comment>
  Parse input string according to pattern
  
  Object-oriented style
  
  Procedural style
  
  Parses input <info>string</info> and return any extracted items as an <info>array</info>.

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  The message formatter
  <info>string</info>            <strong>$string</strong>     The <info>string</info> to parse

<comment>Return:</comment>
  <info>array|false</info>  An <info>array</info> containing the items extracted, or <info>false</info> on error

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_format()</strong>
   * <strong>msgfmt_parse_message()</strong>


id: MessageFormatter::parseMessage
type: function
doc:
<comment>Description:</comment>
  Quick parse input string
  
  Object-oriented style
  
  Procedural style
  
  Parses input string without explicitly creating the formatter object. Use this function when the
  format operation is done only once and does not need any parameters or state to be kept.

<comment>Param:</comment>
  <info>string</info>  <strong>$locale</strong>   The locale to use for parsing locale-dependent parts
  <info>string</info>  <strong>$pattern</strong>  The pattern with which to parse the <strong>$message</strong>.
  <info>string</info>  <strong>$message</strong>  The <info>string</info> to parse, conforming to the <strong>$pattern</strong>.

<comment>Return:</comment>
  <info>array|false</info>  An <info>array</info> containing items extracted, or <info>false</info> on error

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_format_message()</strong>
   * <strong>msgfmt_parse()</strong>


id: MessageFormatter::setPattern
type: function
doc:
<comment>Description:</comment>
  Set the pattern used by the formatter
  
  Object-oriented style
  
  Procedural style
  
  Set the pattern used by the formatter

<comment>Param:</comment>
  <info>MessageFormatter</info>  <strong>$formatter</strong>  The message formatter
  <info>string</info>            <strong>$pattern</strong>    The pattern <info>string</info> to use in this message formatter. The pattern
                                uses an 'apostrophe-friendly' syntax; see Quoting/Escaping for
                                details.

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

<comment>See Also:</comment>
   * <strong>msgfmt_create()</strong>
   * <strong>msgfmt_get_pattern()</strong>


id: MongoDB\BSON\Binary
type: class
doc:
<comment>Description:</comment>
  BSON type for binary data (i.e. array of bytes). Binary values also have a subtype, which is used
  to indicate what kind of data is in the byte array. Subtypes from zero to 127 are predefined or
  reserved. Subtypes from 128-255 are user-defined.


id: MongoDB\BSON\Binary::TYPE_ENCRYPTED
type: constant
doc:
<comment>Description:</comment>
  Encrypted value. This subtype is used for client-side encryption.


id: MongoDB\BSON\Binary::TYPE_MD5
type: constant
doc:
<comment>Description:</comment>
  MD5 hash. When using this type, the Binary's data should be 16 bytes in length.


id: MongoDB\BSON\Binary::TYPE_OLD_BINARY
type: constant
doc:
<comment>Description:</comment>
  Generic binary data (deprecated in favor of <info>MongoDB\BSON\Binary::TYPE_GENERIC</info>).


id: MongoDB\BSON\Binary::TYPE_OLD_UUID
type: constant
doc:
<comment>Description:</comment>
  Universally unique identifier (deprecated in favor of <info>MongoDB\BSON\Binary::TYPE_UUID</info>). When using
  this type, the Binary's data should be 16 bytes in length.
  
  Historically, other drivers encoded values with this type based on their language conventions
  (e.g. varying endianness), which makes it non-portable. The PHP driver applies no special handling
  for encoding or decoding data with this type.


id: MongoDB\BSON\Binary::TYPE_SENSITIVE
type: constant
doc:
<comment>Description:</comment>
  Sensitive data. This subtype is used for sensitive data that should be excluded from server-side
  logging when possible.


id: MongoDB\BSON\Binary::TYPE_USER_DEFINED
type: constant
doc:
<comment>Description:</comment>
  User-defined type. While types between 0 and 127 are predefined or reserved, types between 128 and
  255 are user-defined and may be used for anything.


id: MongoDB\BSON\Binary::TYPE_UUID
type: constant
doc:
<comment>Description:</comment>
  Universally unique identifier. When using this type, the Binary's data should be 16 bytes in
  length and encoded according to RFC 4122.


id: MongoDB\BSON\Binary::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Binary

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  Binary data.
  <info>int</info>     <strong>$type</strong>  Unsigned 8-bit integer denoting the data's type. Defaults to
                 <info>MongoDB\BSON\Binary::TYPE_GENERIC</info> if not specified.

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


id: MongoDB\BSON\Binary::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the Binary's data
  
  This method is an alias of:  MongoDB\BSON\Binary::getData.

<comment>Return:</comment>
  <info>string</info>  Returns the Binary's data.

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::getData
   * BSON Types


id: MongoDB\BSON\Binary::getData
type: function
doc:
<comment>Description:</comment>
  Returns the Binary's data

<comment>Return:</comment>
  <info>string</info>  Returns the Binary's data.

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


id: MongoDB\BSON\Binary::getType
type: function
doc:
<comment>Description:</comment>
  Returns the Binary's type

<comment>Return:</comment>
  <info>int</info>  Returns the Binary's type.

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


id: MongoDB\BSON\Binary::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Binary</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Binary::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Binary

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Binary</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Binary::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Binary

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Binary</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\BinaryInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Binary</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\BinaryInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the BinaryInterface's data
  
  This method is an alias of:  MongoDB\BSON\BinaryInterface::getData.

<comment>Return:</comment>
  <info>string</info>  Returns the BinaryInterface's data.

<comment>See Also:</comment>
   * MongoDB\BSON\BinaryInterface::getData
   * MongoDB\BSON\Binary::__toString


id: MongoDB\BSON\BinaryInterface::getData
type: function
doc:
<comment>Description:</comment>
  Returns the BinaryInterface's data

<comment>Return:</comment>
  <info>string</info>  Returns the BinaryInterface's data.

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::getData


id: MongoDB\BSON\BinaryInterface::getType
type: function
doc:
<comment>Description:</comment>
  Returns the BinaryInterface's type

<comment>Return:</comment>
  <info>int</info>  Returns the BinaryInterface's type.

<comment>See Also:</comment>
   * MongoDB\BSON\Binary::getType


id: MongoDB\BSON\DBPointer
type: class
doc:
<comment>Description:</comment>
  BSON type for the "DBPointer" type. This BSON type is deprecated, and this class can not be
  instantiated. It will be created from a BSON DBPointer type while converting BSON to PHP, and can
  also be converted back into BSON while storing documents in the database.


id: MongoDB\BSON\DBPointer::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new DBPointer (unused)
  
  <class>MongoDB\BSON\DBPointer</class> objects are created through conversion from a deprecated BSON type and
  cannot be constructed directly.

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


id: MongoDB\BSON\DBPointer::__toString
type: function
doc:
<comment>Description:</comment>
  Returns an empty string

<comment>Return:</comment>
  <info>string</info>  Returns an empty string.

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


id: MongoDB\BSON\DBPointer::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\DBPointer</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\DBPointer::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a DBPointer

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\DBPointer</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\DBPointer::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\DBPointer::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a DBPointer

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\DBPointer</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\DBPointer::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Decimal128
type: class
doc:
<comment>Description:</comment>
  BSON type for the Decimal128 floating-point format, which supports numbers with up to 34 decimal
  digits (i.e. significant digits) and an exponent range of −6143 to +6144.
  
  Unlike the double BSON type (i.e. <info>float</info> in PHP), which only stores an approximation of the decimal
  values, the decimal data type stores the exact value. For example, <return>MongoDB\BSON\Decimal128('9.99')</return>
  has a precise value of 9.99 where as a double 9.99 would have an approximate value of
  9.9900000000000002131628….
  
  <class>MongoDB\BSON\Decimal128</class> is only compatible with MongoDB 3.4+. Attempting to use the BSON type with
  an earlier version of MongoDB will result in an error.


id: MongoDB\BSON\Decimal128::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Decimal128
  
  <class>MongoDB\BSON\Decimal128</class> is only compatible with MongoDB 3.4+. Attempting to use the BSON type with
  an earlier version of MongoDB will result in an error.

<comment>Param:</comment>
  <info>string</info>  <strong>$value</strong>  A decimal string.

<comment>See Also:</comment>
   * Decimal128 floating-point format
   * BSON Types


id: MongoDB\BSON\Decimal128::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Decimal128

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Decimal128.

<comment>See Also:</comment>
   * Decimal128 floating-point format
   * BSON Types


id: MongoDB\BSON\Decimal128::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Decimal128</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Decimal128::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Decimal128

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Decimal128</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Decimal128::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Decimal128::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Decimal128

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Decimal128</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Decimal128::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Decimal128Interface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Decimal128</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\Decimal128Interface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Decimal128Interface

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Decimal128Interface.

<comment>See Also:</comment>
   * MongoDB\BSON\Decimal128::__toString


id: MongoDB\BSON\Document
type: class
doc:
<comment>Description:</comment>
  Represents a BSON document. This class is used when reading data as raw BSON and cannot be
  modified.


id: MongoDB\BSON\Document::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new BSON document (unused)
  
  <class>MongoDB\BSON\Document</class> objects are created through static factory methods and cannot be
  instantiated directly.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromPHP
   * MongoDB\BSON\Document::fromBSON
   * MongoDB\BSON\Document::fromJSON
   * BSON Types


id: MongoDB\BSON\Document::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this BSON Document

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this document as BSON.

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


id: MongoDB\BSON\Document::fromBSON
type: function
doc:
<comment>Description:</comment>
  Construct a new document instance from a BSON string

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>  A string containing a document in BSON format.

<comment>Return:</comment>
  <info>MongoDB\BSON\Document</info>  

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromPHP
   * MongoDB\BSON\Document::fromJSON
   * BSON Types


id: MongoDB\BSON\Document::fromJSON
type: function
doc:
<comment>Description:</comment>
  Construct a new document instance from a JSON string
  
  Converts an extended JSON string to its BSON representation.

<comment>Param:</comment>
  <info>string</info>  <strong>$json</strong>  JSON value to be converted.

<comment>Return:</comment>
  <info>MongoDB\BSON\Document</info>  

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromPHP
   * MongoDB\BSON\Document::fromBSON
   * <strong>MongoDB\BSON\fromJSON()</strong>
   * MongoDB Extended JSON
   * BSON Types


id: MongoDB\BSON\Document::fromPHP
type: function
doc:
<comment>Description:</comment>
  Construct a new document instance from PHP data

<comment>Param:</comment>
  <info>object|array</info>  <strong>$value</strong>  A PHP object or array containing the document. When passing an array with
                        numeric keys, the numeric values are converted to strings and used as
                        document keys.

<comment>Return:</comment>
  <info>MongoDB\BSON\Document</info>  

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromBSON
   * MongoDB\BSON\Document::fromJSON
   * <strong>MongoDB\BSON\fromPHP()</strong>
   * BSON Types


id: MongoDB\BSON\Document::get
type: function
doc:
<comment>Description:</comment>
  Returns the value of a key in the document

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The key to retrieve from the document.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value associated with the given key. If the key is not present in the document,
         an exception is thrown.
         
         When encountering a value encoded as 64-bit integer in the BSON document, the return value
         of this method will be a <class>MongoDB\BSON\Int64</class> instance.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::has
   * BSON Types


id: MongoDB\BSON\Document::getIterator
type: function
doc:
<comment>Description:</comment>
  Returns an iterator for the BSON document

<comment>Return:</comment>
  <info>MongoDB\BSON\Iterator</info>  Returns a <class>MongoDB\BSON\Iterator</class> instance that can be used to iterate over
                         all keys in the document.

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


id: MongoDB\BSON\Document::has
type: function
doc:
<comment>Description:</comment>
  Returns whether a key is present in the document

<comment>Param:</comment>
  <info>string</info>  <strong>$key</strong>  The key to look for in the document.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the key is present in the document and <info>false</info> otherwise.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::get
   * BSON Types


id: MongoDB\BSON\Document::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Document

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Document</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Document::toCanonicalExtendedJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Canonical Extended JSON representation of the BSON document
  
  Converts the BSON document to its Canonical Extended JSON representation. The canonical format
  prefers type fidelity at the expense of concise output and is most suited for producing output
  that can be converted back to BSON without any loss of type information (e.g. numeric types will
  remain differentiated).

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

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * MongoDB\BSON\Document::toRelaxedExtendedJSON
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * Extended JSON Specification
   * BSON Types


id: MongoDB\BSON\Document::toPHP
type: function
doc:
<comment>Description:</comment>
  Returns the PHP representation of the BSON document
  
  Unserializes the BSON document to its PHP representation. The <strong>$typeMap</strong> paramater may be used to
  control the PHP types used for converting BSON arrays and documents (both root and embedded).
  
  BSON documents can technically contain duplicate keys because documents are stored as a list of
  key-value pairs; however, applications should refrain from generating documents with duplicate
  keys as server and driver behavior may be undefined. Since PHP objects and arrays cannot have
  duplicate keys, data could also be lost when decoding a BSON document with duplicate keys.

<comment>Param:</comment>
  <info>array|null</info>  <strong>$typeMap</strong>  Type map configuration.

<comment>Return:</comment>
  <info>array|object</info>  The decoded PHP value.
                
                When encountering a value encoded as 64-bit integer in the BSON document, the return
                value of this method will be a <class>MongoDB\BSON\Int64</class> instance.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\toPHP()</strong>
   * BSON Types


id: MongoDB\BSON\Document::toRelaxedExtendedJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Relaxed Extended JSON representation of the BSON document
  
  Converts the BSON document to its Relaxed Extended JSON representation. The relaxed format prefers
  use of JSON type primitives at the expense of type fidelity and is most suited for producing
  output that can be easily consumed by web APIs and humans.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * MongoDB\BSON\Document::toCanonicalExtendedJSON
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * Extended JSON Specification
   * BSON Types


id: MongoDB\BSON\Document::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a BSON document

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Document</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Document::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Int64
type: class
doc:
<comment>Description:</comment>
  BSON type for a 64-bit integer. When decoding BSON to PHP data, this class is used when a 64-bit
  integer cannot be represented as a PHP integer on 32-bit platforms. These objects support
  overloaded arithmetic, bitwise, and comparison operators.
  
  When working with raw BSON data through the <class>MongoDB\BSON\Document</class>, <class>MongoDB\BSON\PackedArray</class>, and
  <class>MongoDB\BSON\Iterator</class> classes, any 64-bit integer will be returned as an instance of this class,
  regardless of platform and whether the value can be represented as a PHP integer. This ensures
  that values can be roundtripped without changing the type.
  
  During BSON encoding, objects of this class will convert back to a 64-bit integer type, even when
  the value would fit in a 32-bit integer. This allows explicitly storing values as 64-bit integers
  in BSON.


id: MongoDB\BSON\Int64::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Int64
  
  Creates a new <class>MongoDB\BSON\Int64</class> instance for the given integer value.

<comment>Param:</comment>
  <info>int|string</info>  <strong>$value</strong>  The value to assign to the <class>Int64</class> instance. This value can be provided as an
                      <info>int</info> or <info>string</info>, the latter being required on 32-bit platforms to represent
                      64-bit values.

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


id: MongoDB\BSON\Int64::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Int64

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Int64.

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


id: MongoDB\BSON\Int64::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Int64</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong> function, which
         uses the canonical extended JSON format. This differs from other BSON classes, which use
         the driver-specific legacy extended JSON format (<strong>MongoDB\BSON\toJSON()</strong>), in order to ensure
         that the 64-bit integer value is correctly represented on 32-bit platforms.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Int64::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize an Int64

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Int64</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Int64::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Int64::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize an Int64

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Int64</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Int64::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Iterator::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new BSON iterator (unused)
  
  <class>MongoDB\BSON\Iterator</class> objects are created by calling MongoDB\BSON\Document::getIterator or
  MongoDB\BSON\PackedArray::getIterator and cannot be instantiated directly.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::getIterator
   * MongoDB\BSON\PackedArray::getIterator
   * BSON Types


id: MongoDB\BSON\Iterator::current
type: function
doc:
<comment>Description:</comment>
  Returns the current element

<comment>Return:</comment>
  <info>mixed</info>  Returns the value of the current element.
         
         When encountering a value encoded as 64-bit integer in the BSON structure, the return value
         of this method will be a <class>MongoDB\BSON\Int64</class> instance.

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


id: MongoDB\BSON\Iterator::key
type: function
doc:
<comment>Description:</comment>
  Returns the key of the current element

<comment>Return:</comment>
  <info>string|int</info>  Returns the key of the current element. When iterating a BSON document, the key will
              always be a <info>string</info>. When iterating a BSON array, the key will be an <info>int</info>.

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


id: MongoDB\BSON\Iterator::next
type: function
doc:
<comment>Description:</comment>
  Advances the iterator to next element

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

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


id: MongoDB\BSON\Iterator::rewind
type: function
doc:
<comment>Description:</comment>
  Rewinds the Iterator to the first element

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

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


id: MongoDB\BSON\Iterator::valid
type: function
doc:
<comment>Description:</comment>
  Checks if current position is valid

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the current iterator position is valid, <info>false</info> otherwise.

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


id: MongoDB\BSON\Javascript
type: class
doc:
<comment>Description:</comment>
  BSON type for Javascript code. An optional scope document may be specified that maps identifiers
  to values and defines the scope in which the code should be evaluated by the server.
  
  This BSON type is mainly used when executing database commands that take a Javascript function as
  a parameter, such as mapReduce.


id: MongoDB\BSON\Javascript::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Javascript

<comment>Param:</comment>
  <info>string</info>             <strong>$code</strong>   Javascript code.
  <info>array|object|null</info>  <strong>$scope</strong>  Javascript scope.

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


id: MongoDB\BSON\Javascript::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the Javascript's code
  
  This method is an alias of:  MongoDB\BSON\Javascript::getCode.

<comment>Return:</comment>
  <info>string</info>  Returns the Javascript's code.

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::getCode
   * BSON Types


id: MongoDB\BSON\Javascript::getCode
type: function
doc:
<comment>Description:</comment>
  Returns the Javascript's code

<comment>Return:</comment>
  <info>string</info>  Returns the Javascript's code.

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


id: MongoDB\BSON\Javascript::getScope
type: function
doc:
<comment>Description:</comment>
  Returns the Javascript's scope document

<comment>Return:</comment>
  <info>object|null</info>  Returns the Javascript's scope document, or <info>null</info> if the is no scope.

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


id: MongoDB\BSON\Javascript::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Javascript</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Javascript::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Javascript

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Javascript</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Javascript::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Javascript

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Javascript</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\JavascriptInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Javascript</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\JavascriptInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the JavascriptInterface's code
  
  This method is an alias of:  MongoDB\BSON\JavascriptInterface::getCode.

<comment>Return:</comment>
  <info>string</info>  Returns the JavascriptInterface's code.

<comment>See Also:</comment>
   * MongoDB\BSON\JavascriptInterface::getCode
   * MongoDB\BSON\Javascript::__toString


id: MongoDB\BSON\JavascriptInterface::getCode
type: function
doc:
<comment>Description:</comment>
  Returns the JavascriptInterface's code

<comment>Return:</comment>
  <info>string</info>  Returns the JavascriptInterface's code.

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::getCode


id: MongoDB\BSON\JavascriptInterface::getScope
type: function
doc:
<comment>Description:</comment>
  Returns the JavascriptInterface's scope document

<comment>Return:</comment>
  <info>object|null</info>  Returns the JavascriptInterface's scope document.

<comment>See Also:</comment>
   * MongoDB\BSON\Javascript::getScope


id: MongoDB\BSON\MaxKey
type: class
doc:
<comment>Description:</comment>
  Special BSON type which compares higher than all other possible BSON element values.
  
  This is an internal MongoDB type used for indexing and sharding.


id: MongoDB\BSON\MaxKey::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new MaxKey

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


id: MongoDB\BSON\MaxKey::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\MaxKey</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\MaxKey::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a MaxKey

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\MaxKey</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\MaxKey::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\MaxKey::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a MaxKey

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\MaxKey</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\MaxKey::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\MaxKeyInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\MaxKey</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\MinKey
type: class
doc:
<comment>Description:</comment>
  Special BSON type which compares lower than all other possible BSON element values.
  
  This is an internal MongoDB type used for indexing and sharding.


id: MongoDB\BSON\MinKey::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new MinKey

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


id: MongoDB\BSON\MinKey::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\MinKey</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\MinKey::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a MinKey

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\MinKey</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\MinKey::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\MinKey::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a MinKey

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\MinKey</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\MinKey::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\MinKeyInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\MinKey</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\ObjectId
type: class
doc:
<comment>Description:</comment>
  BSON type for an ObjectId. The value consists of 12 bytes, where the first four bytes are a
  timestamp that reflect the ObjectId's creation. Specifically, the value consists of:
  
  a 4-byte value representing the seconds since the Unix epoch,
  
  a 5-byte random number unique to a machine and process, and
  
  a 3-byte counter, starting with a random value.
  
  In MongoDB, each document stored in a collection requires a unique <return>_id</return> field that acts as a
  primary key. If an inserted document omits the <return>_id</return> field, the driver automatically generates an
  ObjectId for the <return>_id</return> field.
  
  Using ObjectIds for the <return>_id</return> field provides the following additional benefits:
  
  The creation time of the ObjectId may be accessed using the MongoDB\BSON\ObjectId::getTimestamp
  method.
  
  Sorting on an <return>_id</return> field that stores ObjectId values is roughly equivalent to sorting by creation
  time.


id: MongoDB\BSON\ObjectId::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new ObjectId

<comment>Param:</comment>
  <info>string|null</info>  <strong>$id</strong>  A 24-character hexadecimal string. If not provided, the driver will generate an
                    ObjectId.

<comment>See Also:</comment>
   * ObjectId Reference
   * BSON Types: ObjectId


id: MongoDB\BSON\ObjectId::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the hexidecimal representation of this ObjectId

<comment>Return:</comment>
  <info>string</info>  Returns the hexidecimal representation of this ObjectId.

<comment>See Also:</comment>
   * ObjectId Reference
   * BSON Types: ObjectId


id: MongoDB\BSON\ObjectId::getTimestamp
type: function
doc:
<comment>Description:</comment>
  Returns the timestamp component of this ObjectId
  
  The timestamp component of an ObjectId is its most significant 32 bits, which denotes the number
  of seconds since the Unix epoch. This value is read as an unsigned 32-bit integer with big-endian
  byte order.
  
  Because PHP's integer type is signed, some values returned by this method may appear as negative
  integers on 32-bit platforms. The <return>"%u"</return> formatter of <strong>sprintf()</strong> may be used to obtain a string
  representation of the unsigned decimal value.

<comment>Return:</comment>
  <info>int</info>  Returns the timestamp component of this ObjectId.

<comment>See Also:</comment>
   * ObjectId Reference
   * BSON Types: ObjectId


id: MongoDB\BSON\ObjectId::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\ObjectId</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\ObjectId::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize an ObjectId

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\ObjectId</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\ObjectId::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\ObjectId::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize an ObjectId

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\ObjectId</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\ObjectId::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\ObjectIdInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\ObjectId</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\ObjectIdInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the hexidecimal representation of this ObjectIdInterface

<comment>Return:</comment>
  <info>string</info>  Returns the hexidecimal representation of this ObjectIdInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\ObjectId::__toString


id: MongoDB\BSON\ObjectIdInterface::getTimestamp
type: function
doc:
<comment>Description:</comment>
  Returns the timestamp component of this ObjectIdInterface

<comment>Return:</comment>
  <info>int</info>  Returns the timestamp component of this ObjectIdInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\ObjectId::getTimestamp


id: MongoDB\BSON\PackedArray
type: class
doc:
<comment>Description:</comment>
  Represents a BSON array. This class is used when reading data as raw BSON and cannot be modified.


id: MongoDB\BSON\PackedArray::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new BSON array (unused)
  
  <class>MongoDB\BSON\PackedArray</class> objects are created through static factory methods and cannot be
  instantiated directly.

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::fromPHP
   * BSON Types


id: MongoDB\BSON\PackedArray::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this BSON array

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this array as BSON.

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


id: MongoDB\BSON\PackedArray::fromPHP
type: function
doc:
<comment>Description:</comment>
  Construct a new BSON array instance from PHP data

<comment>Param:</comment>
  <info>array</info>  <strong>$value</strong>  The PHP array to convert to a BSON array. The array must be a list (i.e. have
                 sequential numeric keys starting with <info>0</info>).

<comment>Return:</comment>
  <info>MongoDB\BSON\PackedArray</info>  

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\fromPHP()</strong>
   * BSON Types


id: MongoDB\BSON\PackedArray::get
type: function
doc:
<comment>Description:</comment>
  Returns the value of an index in the array

<comment>Param:</comment>
  <info>int</info>  <strong>$key</strong>  The index to retrieve from the array.

<comment>Return:</comment>
  <info>mixed</info>  Returns the value associated with the given index. If the index is not present in the
         document, an exception is thrown.
         
         When encountering a value encoded as 64-bit integer in the BSON array, the return value of
         this method will be a <class>MongoDB\BSON\Int64</class> instance.

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::has
   * BSON Types


id: MongoDB\BSON\PackedArray::getIterator
type: function
doc:
<comment>Description:</comment>
  Returns an iterator for the BSON array

<comment>Return:</comment>
  <info>MongoDB\BSON\Iterator</info>  Returns a <class>MongoDB\BSON\Iterator</class> instance that can be used to iterate over
                         all indexes in the array.

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


id: MongoDB\BSON\PackedArray::has
type: function
doc:
<comment>Description:</comment>
  Returns whether a index is present in the array

<comment>Param:</comment>
  <info>int</info>  <strong>$index</strong>  The index to look for in the array.

<comment>Return:</comment>
  <info>bool</info>  Returns <info>true</info> if the index is present in the array and <info>false</info> otherwise.

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::get
   * BSON Types


id: MongoDB\BSON\PackedArray::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a BSON array

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\PackedArray</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\PackedArray::toPHP
type: function
doc:
<comment>Description:</comment>
  Returns the PHP representation of the BSON array

<comment>Param:</comment>
  <info>array|null</info>  <strong>$typeMap</strong>  Type map configuration.

<comment>Return:</comment>
  <info>array|object</info>  The decoded PHP value.
                
                When encountering a value encoded as 64-bit integer in the BSON array, the return
                value of this method will be a <class>MongoDB\BSON\Int64</class> instance.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\toPHP()</strong>
   * BSON Types


id: MongoDB\BSON\PackedArray::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a BSON array

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\PackedArray</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\PackedArray::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Persistable
type: class
doc:
<comment>Description:</comment>
  Classes may implement this interface to take advantage of automatic ODM (object document mapping)
  behavior in the driver. During serialization, the driver will inject a __pclass property
  containing the PHP class name into the data returned by
  <strong>MongoDB\BSON\Serializable::bsonSerialize()</strong>. During unserialization, the same __pclass property
  will then be used to infer the PHP class (independent of any type map configuration) to be
  constructed before <strong>MongoDB\BSON\Unserializable::bsonUnserialize()</strong> is invoked. See  for additional
  information.
  
  Even if <strong>MongoDB\BSON\Serializable::bsonSerialize()</strong> would return a sequential array, injection of
  the __pclass property will cause the object to be serialized as a BSON document.


id: MongoDB\BSON\Persistable::bsonSerialize
type: function
doc:
<comment>Description:</comment>
  Provides an array or document to serialize as BSON
  
  Called during serialization of the object to BSON. The method must return an <info>array</info>, <class>stdClass</class>, or
  <class>MongoDB\BSON\Document</class>.
  
  The return value will always be serialized as a BSON document. The serialized document will
  include a field containing the class name of the object. For this reason, it is not possible to
  return a <class>MongoDB\BSON\PackedArray</class> instance in this method.
  
  Users are encouraged to include an _id property (e.g. a <class>MongoDB\BSON\ObjectId</class> initialized in your
  constructor) when returning data for a BSON root document; otherwise, the driver or database will
  need to generate a <class>MongoDB\BSON\ObjectId</class> when inserting or upserting the document, respectively.

<comment>Return:</comment>
  <info>array|stdClass|MongoDB\BSON\Document</info>  An <info>array</info>, <class>stdClass</class>, or <class>MongoDB\BSON\Document</class> to be
                                        serialized as a BSON document.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\Serializable::bsonSerialize()</strong>
   * <strong>MongoDB\BSON\Unserializable::bsonUnserialize()</strong>
   * MongoDB\BSON\Persistable
   * 


id: MongoDB\BSON\Regex
type: class
doc:
<comment>Description:</comment>
  BSON type for a regular expression pattern and optional flags.
  
  This BSON type is mainly used when querying the database. Alternatively, the $regex query operator
  may be used.


id: MongoDB\BSON\Regex::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Regex

<comment>Param:</comment>
  <info>string</info>  <strong>$pattern</strong>  The regular expression pattern.
                    
                    The pattern should not be wrapped with delimiter characters.
  <info>string</info>  <strong>$flags</strong>    The regular expression flags. Characters in this argument will be sorted
                    alphabetically.

<comment>See Also:</comment>
   * BSON Types
   * Supported regular expression flags


id: MongoDB\BSON\Regex::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Regex

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Regex.

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


id: MongoDB\BSON\Regex::getFlags
type: function
doc:
<comment>Description:</comment>
  Returns the Regex's flags

<comment>Return:</comment>
  <info>string</info>  Returns the Regex's flags.

<comment>See Also:</comment>
   * BSON Types
   * Supported regular expression flags


id: MongoDB\BSON\Regex::getPattern
type: function
doc:
<comment>Description:</comment>
  Returns the Regex's pattern

<comment>Return:</comment>
  <info>string</info>  Returns the Regex's pattern.

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


id: MongoDB\BSON\Regex::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Regex</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Regex::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Regex

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Regex</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Regex::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Regex

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Regex</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\RegexInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Regex</class> to be used as a parameter, return, or property
  type in userland classes.


id: MongoDB\BSON\RegexInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this RegexInterface

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this RegexInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::__toString


id: MongoDB\BSON\RegexInterface::getFlags
type: function
doc:
<comment>Description:</comment>
  Returns the RegexInterface's flags

<comment>Return:</comment>
  <info>string</info>  Returns the RegexInterface's flags.

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::getFlags


id: MongoDB\BSON\RegexInterface::getPattern
type: function
doc:
<comment>Description:</comment>
  Returns the RegexInterface's pattern

<comment>Return:</comment>
  <info>string</info>  Returns the RegexInterface's pattern.

<comment>See Also:</comment>
   * MongoDB\BSON\Regex::getPattern


id: MongoDB\BSON\Serializable
type: class
doc:
<comment>Description:</comment>
  Classes that implement this interface may return data to be serialized as a BSON array or document
  in lieu of the object's public properties.


id: MongoDB\BSON\Serializable::bsonSerialize
type: function
doc:
<comment>Description:</comment>
  Provides an array or document to serialize as BSON
  
  Called during serialization of the object to BSON. The method must return an <info>array</info>, <class>stdClass</class>,
  <class>MongoDB\BSON\Document</class>, or <class>MongoDB\BSON\PackedArray</class>.
  
  Root documents (e.g. a MongoDB\BSON\Serializable passed to <strong>MongoDB\BSON\fromPHP()</strong>) will always be
  serialized as a BSON document. For field values, associative arrays and <class>stdClass</class> instances will be
  serialized as a BSON document and sequential arrays (i.e. sequential, numeric indexes starting at
  <return>0</return>) will be serialized as a BSON array.
  
  Users are encouraged to include an _id property (e.g. a <class>MongoDB\BSON\ObjectId</class> initialized in your
  constructor) when returning data for a BSON root document; otherwise, the driver or database will
  need to generate a <class>MongoDB\BSON\ObjectId</class> when inserting or upserting the document, respectively.

<comment>Return:</comment>
  <info>array|stdClass|MongoDB\BSON\Document|MongoDB\BSON\PackedArray</info>  An <info>array</info>, <class>stdClass</class>,
                                                                 <class>MongoDB\BSON\Document</class>, or
                                                                 <class>MongoDB\BSON\PackedArray</class> to be
                                                                 serialized as a BSON array or
                                                                 document.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\Unserializable::bsonUnserialize()</strong>
   * MongoDB\BSON\Persistable
   * 


id: MongoDB\BSON\Symbol
type: class
doc:
<comment>Description:</comment>
  BSON type for the "Symbol" type. This BSON type is deprecated, and this class can not be
  instantiated. It will be created from a BSON symbol type while converting BSON to PHP, and can
  also be converted back into BSON while storing documents in the database.


id: MongoDB\BSON\Symbol::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Symbol (unused)
  
  <class>MongoDB\BSON\Symbol</class> objects are created through conversion from a deprecated BSON type and cannot
  be constructed directly.

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


id: MongoDB\BSON\Symbol::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the Symbol as a string

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Symbol.

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


id: MongoDB\BSON\Symbol::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Symbol</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Symbol::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Symbol

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Symbol</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Symbol::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Symbol::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Symbol

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Symbol</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Symbol::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Timestamp
type: class
doc:
<comment>Description:</comment>
  Represents a BSON timestamp, The value consists of a 4-byte timestamp (i.e. seconds since the
  epoch) and a 4-byte increment.
  
  This is an internal MongoDB type used for replication and sharding. It is not intended for general
  date storage (<class>MongoDB\BSON\UTCDateTime</class> should be used instead).


id: MongoDB\BSON\Timestamp::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Timestamp

<comment>Param:</comment>
  <info>int</info>  <strong>$increment</strong>  32-bit integer denoting the incrementing ordinal for operations within a given
                   second.
  <info>int</info>  <strong>$timestamp</strong>  32-bit integer denoting seconds since the Unix epoch.

<comment>See Also:</comment>
   * BSON Types: Timestamps


id: MongoDB\BSON\Timestamp::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this Timestamp

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this Timestamp.

<comment>See Also:</comment>
   * BSON Types: Timestamps


id: MongoDB\BSON\Timestamp::getIncrement
type: function
doc:
<comment>Description:</comment>
  Returns the increment component of this Timestamp
  
  The increment component of a Timestamp is its least significant 32 bits, whichs denotes the
  incrementing ordinal for operations within a given second. This value is read as an unsigned
  32-bit integer with big-endian byte order.
  
  Because PHP's integer type is signed, some values returned by this method may appear as negative
  integers on 32-bit platforms. The <return>"%u"</return> formatter of <strong>sprintf()</strong> may be used to obtain a string
  representation of the unsigned decimal value.

<comment>Return:</comment>
  <info>int</info>  Returns the increment component of this Timestamp.
       
       On 32-bit systems this method may return a negative number. Although the increment and
       timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can
       not represent these on 32-bit platforms.

<comment>See Also:</comment>
   * BSON Types: Timestamps


id: MongoDB\BSON\Timestamp::getTimestamp
type: function
doc:
<comment>Description:</comment>
  Returns the timestamp component of this Timestamp
  
  The timestamp component of a Timestamp is its most significant 32 bits, which denotes the number
  of seconds since the Unix epoch. This value is read as an unsigned 32-bit integer with big-endian
  byte order.
  
  Because PHP's integer type is signed, some values returned by this method may appear as negative
  integers on 32-bit platforms. The <return>"%u"</return> formatter of <strong>sprintf()</strong> may be used to obtain a string
  representation of the unsigned decimal value.

<comment>Return:</comment>
  <info>int</info>  Returns the timestamp component of this Timestamp.
       
       On 32-bit systems this method may return a negative number. Although the increment and
       timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can
       not represent these on 32-bit platforms.

<comment>See Also:</comment>
   * BSON Types: Timestamps


id: MongoDB\BSON\Timestamp::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Timestamp</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Timestamp::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Timestamp

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Timestamp</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Timestamp::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Timestamp

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Timestamp</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\TimestampInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\Timestamp</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\TimestampInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this TimestampInterface

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this TimestampInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::__toString


id: MongoDB\BSON\TimestampInterface::getIncrement
type: function
doc:
<comment>Description:</comment>
  Returns the increment component of this TimestampInterface

<comment>Return:</comment>
  <info>int</info>  Returns the increment component of this TimestampInterface.
       
       On 32-bit systems this method may return a negative number. Although the increment and
       timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can
       not represent these on 32-bit platforms.

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::getIncrement


id: MongoDB\BSON\TimestampInterface::getTimestamp
type: function
doc:
<comment>Description:</comment>
  Returns the timestamp component of this TimestampInterface

<comment>Return:</comment>
  <info>int</info>  Returns the timestamp component of this TimestampInterface.
       
       On 32-bit systems this method may return a negative number. Although the increment and
       timestamp parts of the BSON timestamp type consists of two unsigned 32-bit values, PHP can
       not represent these on 32-bit platforms.

<comment>See Also:</comment>
   * MongoDB\BSON\Timestamp::getTimestamp


id: MongoDB\BSON\UTCDateTime
type: class
doc:
<comment>Description:</comment>
  Represents a BSON date. The value is a 64-bit integer that represents the number of milliseconds
  since the Unix epoch (Jan 1, 1970). Negative values represent dates before 1970.


id: MongoDB\BSON\UTCDateTime::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new UTCDateTime

<comment>Param:</comment>
  <info>int|float|string|DateTimeInterface|null</info>  <strong>$milliseconds</strong>  Number of milliseconds since the Unix
                                                          epoch (Jan 1, 1970). Negative values
                                                          represent dates before 1970. This value
                                                          may be provided as a 64-bit <info>int</info>. For
                                                          compatibility on 32-bit systems, this
                                                          parameter may also be provided as a <info>float</info>
                                                          or <info>string</info>.
                                                          
                                                          If the argument is a <class>DateTimeInterface</class>,
                                                          the number of milliseconds since the Unix
                                                          epoch will be derived from that value.
                                                          
                                                          If this argument is <info>null</info>, the current time
                                                          will be used by default.

<comment>See Also:</comment>
   * BSON Types: Date


id: MongoDB\BSON\UTCDateTime::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this UTCDateTime

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this UTCDateTime.

<comment>See Also:</comment>
   * BSON Types: Date


id: MongoDB\BSON\UTCDateTime::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\UTCDateTime</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\UTCDateTime::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a UTCDateTime

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\UTCDateTime</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\UTCDateTime::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\UTCDateTime::toDateTime
type: function
doc:
<comment>Description:</comment>
  Returns the DateTime representation of this UTCDateTime

<comment>Return:</comment>
  <info>DateTime</info>  Returns the <class>DateTime</class> representation of this UTCDateTime. The returned <class>DateTime</class> will use
            the UTC time zone.

<comment>See Also:</comment>
   * BSON Types: Date


id: MongoDB\BSON\UTCDateTime::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a UTCDateTime

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\UTCDateTime</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\UTCDateTime::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\UTCDateTimeInterface
type: class
doc:
<comment>Description:</comment>
  This interface is implemented by <class>MongoDB\BSON\UTCDateTime</class> to be used as a parameter, return, or
  property type in userland classes.


id: MongoDB\BSON\UTCDateTimeInterface::__toString
type: function
doc:
<comment>Description:</comment>
  Returns the string representation of this UTCDateTimeInterface

<comment>Return:</comment>
  <info>string</info>  Returns the string representation of this UTCDateTimeInterface.

<comment>See Also:</comment>
   * MongoDB\BSON\UTCDateTime::__toString


id: MongoDB\BSON\UTCDateTimeInterface::toDateTime
type: function
doc:
<comment>Description:</comment>
  Returns the DateTime representation of this UTCDateTimeInterface

<comment>Return:</comment>
  <info>DateTime</info>  Returns the <class>DateTime</class> representation of this UTCDateTimeInterface. The returned <class>DateTime</class>
            should use the UTC time zone.

<comment>See Also:</comment>
   * MongoDB\BSON\UTCDateTime::toDateTime


id: MongoDB\BSON\Undefined
type: class
doc:
<comment>Description:</comment>
  BSON type for the "Undefined" type. This BSON type is deprecated, and this class can not be
  instantiated. It will be created from a BSON undefined type while converting BSON to PHP, and can
  also be converted back into BSON while storing documents in the database.


id: MongoDB\BSON\Undefined::__construct
type: function
doc:
<comment>Description:</comment>
  Construct a new Undefined (unused)
  
  <class>MongoDB\BSON\Undefined</class> objects are created through conversion from a deprecated BSON type and
  cannot be constructed directly.

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


id: MongoDB\BSON\Undefined::jsonSerialize
type: function
doc:
<comment>Description:</comment>
  Returns a representation that can be converted to JSON

<comment>Return:</comment>
  <info>mixed</info>  Returns data which can be serialized by <strong>json_encode()</strong> to produce an extended JSON
         representation of the <class>MongoDB\BSON\Undefined</class>.
         
         The output is consistent with the <strong>MongoDB\BSON\toJSON()</strong> function, which uses the
         driver-specific legacy extended JSON format. This does not necessarily match the relaxed or
         canonical extended JSON representations used by <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong> and
         <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>, respectively.

<comment>See Also:</comment>
   * JsonSerializable::jsonSerialize
   * <strong>json_encode()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON


id: MongoDB\BSON\Undefined::serialize
type: function
doc:
<comment>Description:</comment>
  Serialize a Undefined

<comment>Return:</comment>
  <info>string</info>  Returns the serialized representation of the <class>MongoDB\BSON\Undefined</class>.

<comment>See Also:</comment>
   * MongoDB\BSON\Undefined::unserialize
   * <strong>serialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Undefined::unserialize
type: function
doc:
<comment>Description:</comment>
  Unserialize a Undefined

<comment>Param:</comment>
  <info>string</info>  <strong>$data</strong>  The serialized <class>MongoDB\BSON\Undefined</class>.

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

<comment>See Also:</comment>
   * MongoDB\BSON\Undefined::serialize
   * <strong>unserialize()</strong>
   * Serializing Objects


id: MongoDB\BSON\Unserializable
type: class
doc:
<comment>Description:</comment>
  Classes that implement this interface may be specified in a type map for unserializing BSON arrays
  and documents (both root and embedded).


id: MongoDB\BSON\Unserializable::bsonUnserialize
type: function
doc:
<comment>Description:</comment>
  Constructs the object from a BSON array or document
  
  Called during unserialization of the object from BSON. The properties of the BSON array or
  document will be passed to the method as an <info>array</info>.
  
  Remember to check for an _id property when handling data from a BSON document.
  
  This method acts as the constructor of the object. The __construct() method will not be called
  after this method.

<comment>Param:</comment>
  <info>array</info>  <strong>$data</strong>  Properties within the BSON array or document.

<comment>Return:</comment>
  <info>void</info>  The return value from this method is ignored.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\Serializable::bsonSerialize()</strong>
   * MongoDB\BSON\Persistable
   * 


id: MongoDB\BSON\fromJSON
type: function
doc:
<comment>Description:</comment>
  Returns the BSON representation of a JSON value
  
  Converts an extended JSON string to its BSON representation.

<comment>Param:</comment>
  <info>string</info>  <strong>$json</strong>  JSON value to be converted.

<comment>Return:</comment>
  <info>string</info>  The serialized BSON document as a binary string.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * <strong>MongoDB\BSON\toJSON()</strong>
   * MongoDB Extended JSON
   * MongoDB BSON


id: MongoDB\BSON\fromPHP
type: function
doc:
<comment>Description:</comment>
  Returns the BSON representation of a PHP value
  
  Serializes a PHP array or object (e.g. document) to its BSON representation. The returned binary
  string will describe a BSON document.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$value</strong>  PHP value to be serialized.

<comment>Return:</comment>
  <info>string</info>  The serialized BSON document as a binary string.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromPHP
   * <strong>MongoDB\BSON\toPHP()</strong>
   * MongoDB BSON
   * 


id: MongoDB\BSON\toCanonicalExtendedJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Canonical Extended JSON representation of a BSON value
  
  Converts a BSON string to its Canonical Extended JSON representation. The canonical format prefers
  type fidelity at the expense of concise output and is most suited for producing output that can be
  converted back to BSON without any loss of type information (e.g. numeric types will remain
  differentiated).

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>  BSON value to be converted.

<comment>Return:</comment>
  <info>string</info>  The converted JSON value.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * MongoDB\BSON\Document::toCanonicalExtendedJSON
   * <strong>MongoDB\BSON\fromJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * Extended JSON Specification
   * MongoDB BSON


id: MongoDB\BSON\toJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Legacy Extended JSON representation of a BSON value
  
  Converts a BSON string to its Legacy Extended JSON representation.
  
  There exist several JSON formats for representing BSON. This function implements the "strict mode"
  defined in MongoDB Extended JSON, which has been superseded by the canonical and relaxed formats
  defined in the Extended JSON Specification and implemented by
  <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong> and <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>, respectively.
  
  JSON does not support <info>NAN</info> and <info>INF</info> and MongoDB's Legacy Extended JSON format does not define an
  alternative representation for these values (libbson will output <return>nan</return> and <return>inf</return> literals, which may
  not be parsed as valid JSON). If you are working with BSON that may contain non-finite numbers,
  please use <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong> or <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>.

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>  BSON value to be converted.

<comment>Return:</comment>
  <info>string</info>  The converted JSON value.

<comment>See Also:</comment>
   * <strong>MongoDB\BSON\fromJSON()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * <strong>MongoDB\BSON\toRelaxedExtendedJSON()</strong>
   * MongoDB Extended JSON
   * MongoDB BSON


id: MongoDB\BSON\toPHP
type: function
doc:
<comment>Description:</comment>
  Returns the PHP representation of a BSON value
  
  Unserializes a BSON document (i.e. binary string) to its PHP representation. The <strong>$typeMap</strong>
  paramater may be used to control the PHP types used for converting BSON arrays and documents (both
  root and embedded).
  
  BSON documents can technically contain duplicate keys because documents are stored as a list of
  key-value pairs; however, applications should refrain from generating documents with duplicate
  keys as server and driver behavior may be undefined. Since PHP objects and arrays cannot have
  duplicate keys, data could also be lost when decoding a BSON document with duplicate keys.

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>     BSON value to be unserialized.
  <info>array</info>   <strong>$typeMap</strong>  Type map configuration.

<comment>Return:</comment>
  <info>array|object</info>  The unserialized PHP value.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::toPHP
   * <strong>MongoDB\BSON\fromPHP()</strong>
   * MongoDB BSON
   * 


id: MongoDB\BSON\toRelaxedExtendedJSON
type: function
doc:
<comment>Description:</comment>
  Returns the Relaxed Extended JSON representation of a BSON value
  
  Converts a BSON string to its Relaxed Extended JSON representation. The relaxed format prefers use
  of JSON type primitives at the expense of type fidelity and is most suited for producing output
  that can be easily consumed by web APIs and humans.

<comment>Param:</comment>
  <info>string</info>  <strong>$bson</strong>  BSON value to be converted.

<comment>Return:</comment>
  <info>string</info>  The converted JSON value.

<comment>See Also:</comment>
   * MongoDB\BSON\Document::fromJSON
   * MongoDB\BSON\Document::toRelaxedExtendedJSON
   * <strong>MongoDB\BSON\fromJSON()</strong>
   * <strong>MongoDB\BSON\toCanonicalExtendedJSON()</strong>
   * Extended JSON 
   * MongoDB BSON


id: MongoDB\Driver\BulkWrite
type: class
doc:
<comment>Description:</comment>
  The <class>MongoDB\Driver\BulkWrite</class> collects one or more write operations that should be sent to the
  server. After adding any number of insert, update, and delete operations, the collection may be
  executed via MongoDB\Driver\Manager::executeBulkWrite.
  
  Write operations may either be ordered (default) or unordered. Ordered write operations are sent
  to the server, in the order provided, for serial execution. If a write fails, any remaining
  operations will be aborted. Unordered operations are sent to the server in an arbitrary order
  where they may be executed in parallel. Any errors that occur are reported after all operations
  have been attempted.


id: MongoDB\Driver\BulkWrite::__construct
type: function
doc:
<comment>Description:</comment>
  Create a new BulkWrite
  
  Constructs a new <class>MongoDB\Driver\BulkWrite</class>, which is a mutable object to which one or more write
  operations may be added. The write(s) may then be executed with
  MongoDB\Driver\Manager::executeBulkWrite.

<comment>Param:</comment>
  <info>array|null</info>  <strong>$options</strong>  optionsOptionTypeDescriptionDefaultbypassDocumentValidation<info>bool</info> If <info>true</info>,
                        allows insert and update operations to circumvent document level validation.
                        This option is available in MongoDB 3.2+ and is ignored for older server
                        versions, which do not support document level validation. <info>false</info>comment<info>mixed</info>
                        An arbitrary comment to help trace the operation through the database
                        profiler, currentOp output, and logs.  This option is available in MongoDB
                        4.4+ and will result in an exception at execution time if specified for an
                        older server version. let<info>array</info><info>object</info></info> Map of parameter names and values.
                        Values must be constant or closed expressions that do not reference document
                        fields. Parameters can then be accessed as variables in an aggregate
                        expression context (e.g. <return>$$var</return>).  This option is available in MongoDB 5.0+
                        and will result in an exception at execution time if specified for an older
                        server version. ordered<info>bool</info> Ordered operations (<info>true</info>) are executed serially
                        on the MongoDB server, while unordered operations (<info>false</info>) are sent to the
                        server in an arbitrary order and may be executed in parallel. <info>true</info>
                        
                        If <info>true</info>, allows insert and update operations to circumvent document level
                        validation.
                        
                        This option is available in MongoDB 3.2+ and is ignored for older server
                        versions, which do not support document level validation.
                        
                        An arbitrary comment to help trace the operation through the database
                        profiler, currentOp output, and logs.
                        
                        This option is available in MongoDB 4.4+ and will result in an exception at
                        execution time if specified for an older server version.
                        
                        Map of parameter names and values. Values must be constant or closed
                        expressions that do not reference document fields. Parameters can then be
                        accessed as variables in an aggregate expression context (e.g. <return>$$var</return>).
                        
                        This option is available in MongoDB 5.0+ and will result in an exception at
                        execution time if specified for an older server version.

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeBulkWrite
   * <class>MongoDB\Driver\WriteResult</class>


id: MongoDB\Driver\BulkWrite::count
type: function
doc:
<comment>Description:</comment>
  Count number of write operations in the bulk
  
  Returns the number of write operations added to the <class>MongoDB\Driver\BulkWrite</class> object.

<comment>Return:</comment>
  <info>int</info>  Returns number of write operations added to the <class>MongoDB\Driver\BulkWrite</class> object.


id: MongoDB\Driver\BulkWrite::delete
type: function
doc:
<comment>Description:</comment>
  Add a delete operation to the bulk
  
  Adds a delete operation to the <class>MongoDB\Driver\BulkWrite</class>.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$filter</strong>         The query predicate. An empty predicate will match all documents in
                                the collection.
                                
                                When evaluating query criteria, MongoDB compares types and values
                                according to its own comparison rules for BSON types, which differs
                                from PHP's comparison and type juggling rules. When matching a
                                special BSON type the query criteria should use the respective BSON
                                class (e.g. use <class>MongoDB\BSON\ObjectId</class> to match an ObjectId).
  <info>array|null</info>    <strong>$deleteOptions</strong>  
                                deleteOptionsOptionTypeDescriptionDefaultcollation<info>array</info><info>object</info></info>Collation
                                allows users to specify language-specific rules for string
                                comparison, such as rules for lettercase and accent marks. When
                                specifying collation, the <return>"locale"</return> field is mandatory; all other
                                collation fields are optional. For descriptions of the fields, see
                                Collation Document.  If the collation is unspecified but the
                                collection has a default collation, the operation uses the collation
                                specified for the collection. If no collation is specified for the
                                collection or for the operation, MongoDB uses the simple binary
                                comparison used in prior versions for string comparisons.  This
                                option is available in MongoDB 3.4+ and will result in an exception
                                at execution time if specified for an older server version.
                                hint<info>string</info><info>array</info><info>object</info></info> Index specification. Specify either the index
                                name as a string or the index key pattern. If specified, then the
                                query system will only consider plans using the hinted index.  This
                                option is available in MongoDB 4.4+ and will result in an exception
                                at execution time if specified for an older server version.
                                limit<info>bool</info>Delete all matching documents (<info>false</info>), or only the first
                                matching document (<info>true</info>)<info>false</info>
                                
                                Collation allows users to specify language-specific rules for string
                                comparison, such as rules for lettercase and accent marks. When
                                specifying collation, the <return>"locale"</return> field is mandatory; all other
                                collation fields are optional. For descriptions of the fields, see
                                Collation Document.
                                
                                If the collation is unspecified but the collection has a default
                                collation, the operation uses the collation specified for the
                                collection. If no collation is specified for the collection or for
                                the operation, MongoDB uses the simple binary comparison used in
                                prior versions for string comparisons.
                                
                                This option is available in MongoDB 3.4+ and will result in an
                                exception at execution time if specified for an older server
                                version.
                                
                                Index specification. Specify either the index name as a string or
                                the index key pattern. If specified, then the query system will only
                                consider plans using the hinted index.
                                
                                This option is available in MongoDB 4.4+ and will result in an
                                exception at execution time if specified for an older server
                                version.

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

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeBulkWrite
   * <class>MongoDB\Driver\WriteResult</class>


id: MongoDB\Driver\BulkWrite::insert
type: function
doc:
<comment>Description:</comment>
  Add an insert operation to the bulk
  
  Adds an insert operation to the <class>MongoDB\Driver\BulkWrite</class>.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$document</strong>  A document to insert.

<comment>Return:</comment>
  <info>mixed</info>  Returns the <return>_id</return> of the inserted document. If the <strong>$document</strong> did not have an <return>_id</return>, the
         <class>MongoDB\BSON\ObjectId</class> generated for the insert will be returned.

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeBulkWrite
   * <class>MongoDB\Driver\WriteResult</class>
   * <class>MongoDB\BSON\ObjectId</class>
   * MongoDB\BSON\Persistable


id: MongoDB\Driver\BulkWrite::update
type: function
doc:
<comment>Description:</comment>
  Add an update operation to the bulk
  
  Adds an update operation to the <class>MongoDB\Driver\BulkWrite</class>.

<comment>Param:</comment>
  <info>array|object</info>  <strong>$filter</strong>         The query predicate. An empty predicate will match all documents in
                                the collection.
                                
                                When evaluating query criteria, MongoDB compares types and values
                                according to its own comparison rules for BSON types, which differs
                                from PHP's comparison and type juggling rules. When matching a
                                special BSON type the query criteria should use the respective BSON
                                class (e.g. use <class>MongoDB\BSON\ObjectId</class> to match an ObjectId).
  <info>array|object</info>  <strong>$newObj</strong>         A document containing either update operators (e.g. <return>$set</return>), a
                                replacement document (i.e. only <return>field:value</return> expressions), or an
                                aggregation pipeline.
  <info>array|null</info>    <strong>$updateOptions</strong>  updateOptionsOptionTypeDescriptionDefaultarrayFilters<info>array</info> An array
                                of filter documents that determines which array elements to modify
                                for an update operation on an array field. See Specify arrayFilters
                                for Array Update Operations in the MongoDB manual for more
                                information.  This option is available in MongoDB 3.6+ and will
                                result in an exception at execution time if specified for an older
                                server version. collation<info>array</info><info>object</info></info>Collation allows users to
                                specify language-specific rules for string comparison, such as rules
                                for lettercase and accent marks. When specifying collation, the
                                <return>"locale"</return> field is mandatory; all other collation fields are
                                optional. For descriptions of the fields, see Collation Document.
                                If the collation is unspecified but the collection has a default
                                collation, the operation uses the collation specified for the
                                collection. If no collation is specified for the collection or for
                                the operation, MongoDB uses the simple binary comparison used in
                                prior versions for string comparisons.  This option is available in
                                MongoDB 3.4+ and will result in an exception at execution time if
                                specified for an older server version. hint<info>string</info><info>array</info><info>object</info></info> Index
                                specification. Specify either the index name as a string or the
                                index key pattern. If specified, then the query system will only
                                consider plans using the hinted index.  This option is available in
                                MongoDB 4.2+ and will result in an exception at execution time if
                                specified for an older server version. multi<info>bool</info> Update only the
                                first matching document if <info>false</info>, or all matching documents <info>true</info>.
                                This option cannot be <info>true</info> if <strong>$newObj</strong> is a replacement document.
                                <info>false</info>upsert<info>bool</info> If <strong>$filter</strong> does not match an existing document,
                                insert a single document. The document will be created from <strong>$newObj</strong>
                                if it is a replacement document (i.e. no update operators);
                                otherwise, the operators in <strong>$newObj</strong> will be applied to <strong>$filter</strong> to
                                create the new document. <info>false</info>
                                
                                An array of filter documents that determines which array elements to
                                modify for an update operation on an array field. See Specify
                                arrayFilters for Array Update Operations in the MongoDB manual for
                                more information.
                                
                                This option is available in MongoDB 3.6+ and will result in an
                                exception at execution time if specified for an older server
                                version.
                                
                                Collation allows users to specify language-specific rules for string
                                comparison, such as rules for lettercase and accent marks. When
                                specifying collation, the <return>"locale"</return> field is mandatory; all other
                                collation fields are optional. For descriptions of the fields, see
                                Collation Document.
                                
                                If the collation is unspecified but the collection has a default
                                collation, the operation uses the collation specified for the
                                collection. If no collation is specified for the collection or for
                                the operation, MongoDB uses the simple binary comparison used in
                                prior versions for string comparisons.
                                
                                This option is available in MongoDB 3.4+ and will result in an
                                exception at execution time if specified for an older server
                                version.
                                
                                Index specification. Specify either the index name as a string or
                                the index key pattern. If specified, then the query system will only
                                consider plans using the hinted index.
                                
                                This option is available in MongoDB 4.2+ and will result in an
                                exception at execution time if specified for an older server
                                version.

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

<comment>See Also:</comment>
   * MongoDB\Driver\Manager::executeBulkWrite
   * <class>MongoDB\Driver\WriteResult</class>


