PHP Class SqlParser\UtfString

In this library, this class should be used to parse UTF-8 queries.
Inheritance: implements ArrayAccess
Show file Open project: phpmyadmin/sql-parser Class Usage Examples

Public Properties

Property Type Description
$byteIdx integer For ASCII strings, the byte index is equal to the character index.
$byteLen integer The length of the string (in bytes).
$charIdx integer For non-ASCII strings, some characters occupy more than one byte and the character index will have a lower value than the byte index.
$charLen integer The length of the string (in characters).
$str string The raw, multi-byte string.

Public Methods

Method Description
__construct ( string $str ) Constructor.
__toString ( ) : string Returns the contained string.
getCharLength ( string $byte ) : integer Gets the length of an UTF-8 character.
length ( ) : integer Returns the length in characters of the string.
offsetExists ( integer $offset ) : boolean Checks if the given offset exists.
offsetGet ( integer $offset ) : string Gets the character at given offset.
offsetSet ( integer $offset, string $value ) : void Sets the value of a character.
offsetUnset ( integer $offset ) : void Unsets an index.

Method Details

__construct() public method

Constructor.
public __construct ( string $str )
$str string The string.

__toString() public method

Returns the contained string.
public __toString ( ) : string
return string

getCharLength() public static method

According to RFC 3629, a UTF-8 character can have at most 4 bytes. However, this implementation supports UTF-8 characters containing up to 6 bytes.
See also: https://tools.ietf.org/html/rfc3629
public static getCharLength ( string $byte ) : integer
$byte string The byte to be analyzed.
return integer

length() public method

Returns the length in characters of the string.
public length ( ) : integer
return integer

offsetExists() public method

Checks if the given offset exists.
public offsetExists ( integer $offset ) : boolean
$offset integer The offset to be checked.
return boolean

offsetGet() public method

Gets the character at given offset.
public offsetGet ( integer $offset ) : string
$offset integer The offset to be returned.
return string

offsetSet() public method

Sets the value of a character.
public offsetSet ( integer $offset, string $value ) : void
$offset integer The offset to be set.
$value string The value to be set.
return void

offsetUnset() public method

Unsets an index.
public offsetUnset ( integer $offset ) : void
$offset integer The value to be unset.
return void

Property Details

$byteIdx public property

For ASCII strings, the byte index is equal to the character index.
public int $byteIdx
return integer

$byteLen public property

The length of the string (in bytes).
public int $byteLen
return integer

$charIdx public property

For non-ASCII strings, some characters occupy more than one byte and the character index will have a lower value than the byte index.
public int $charIdx
return integer

$charLen public property

The length of the string (in characters).
public int $charLen
return integer

$str public property

The raw, multi-byte string.
public string $str
return string