Получает двунаправленное значение категории кодовой точки

# IntlChar::charDirection

(PHP 7, PHP 8)

IntlChar::charDirection — Получает двунаправленное значение категории кодовой точки

### Описание

public static function IntlChar::charDirection(int|string `$codepoint`): ?int

Метод возвращает информацию о том, к какому типу двунаправленного письма принадлежит символ, который соответствует заданной кодовой точке. Значения категорий определяет Приложение № 9 к стандарту Юникода, которое называется » Двунаправленный алгоритм Юникода (UAX #9).

> Замечание:

> У отдельных неназначенных кодовых точек двунаправленные значения принадлежат типам R (справа налево — прим. перев.) или AL (арабское письмо — прим. перев.), поскольку кодовые точки содержатся в блоках, которые зарезервировали для сценариев с письмом справа налево.

### Список параметров

`codepoint`
  Целочисленное (int) значение кодовой точки (например, `0x2603` для символа U+2603 СНЕГОВИК) или символ в виде строки (string) в кодировке UTF-8 (например `"\u{2603}"`).

### Возвращаемые значения

Метод возвращает двунаправленное значение категории в виде значения константы из следующего списка:

- `IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT`
- `IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT`
- `IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER`
- `IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR`
- `IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATOR`
- `IntlChar::CHAR_DIRECTION_ARABIC_NUMBER`
- `IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR`
- `IntlChar::CHAR_DIRECTION_BLOCK_SEPARATOR`
- `IntlChar::CHAR_DIRECTION_SEGMENT_SEPARATOR`
- `IntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRAL`
- `IntlChar::CHAR_DIRECTION_OTHER_NEUTRAL`
- `IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDING`
- `IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDE`
- `IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABIC`
- `IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDING`
- `IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDE`
- `IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMAT`
- `IntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARK`
- `IntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRAL`
- `IntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATE`
- `IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATE`
- `IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATE`
- `IntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATE`
- `IntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNT`

Метод возвращает `null`, если возникла ошибка.

### Примеры

Пример #1 Пример проверки кодовых точек

    <?php

    var_dump(IntlChar::charDirection("A") === IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT);
    var_dump(IntlChar::charDirection("\u{05E9}") === IntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT);
    var_dump(IntlChar::charDirection("+") === IntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATOR);
    var_dump(IntlChar::charDirection(".") === IntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATOR);

    ?>

Результат выполнения приведённого примера:

    bool(true)
    bool(true)
    bool(true)
    bool(true)

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open