(PHP 7, PHP 8)
IntlChar::charDirection — Renvoie la valeur de la catégorie bidirectionnelle pour un point de code
Renvoie la valeur de la catégorie bidirectionnelle pour un point de code, qui est utilisée dans l'» algorithme bidirectionnel Unicode (UAX #9).
Note:
Certain points de code non attribués ont des valeurs de bidirectionnel de R ou AL car ils sont dans des blocs réservés pour les scripts de droite à gauche.
codepointLa valeur codepoint de type entier
(i.e. 0x2603 pour U+2603 SNOWMAN), ou le caractère encodé en UTF-8 de type chaîne de caractères
(i.e. "\u{2603}")
La valeur de la catégorie bidirectionnelle; une des constantes suivantes:
IntlChar::CHAR_DIRECTION_LEFT_TO_RIGHTIntlChar::CHAR_DIRECTION_RIGHT_TO_LEFTIntlChar::CHAR_DIRECTION_EUROPEAN_NUMBERIntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_SEPARATORIntlChar::CHAR_DIRECTION_EUROPEAN_NUMBER_TERMINATORIntlChar::CHAR_DIRECTION_ARABIC_NUMBERIntlChar::CHAR_DIRECTION_COMMON_NUMBER_SEPARATORIntlChar::CHAR_DIRECTION_BLOCK_SEPARATORIntlChar::CHAR_DIRECTION_SEGMENT_SEPARATORIntlChar::CHAR_DIRECTION_WHITE_SPACE_NEUTRALIntlChar::CHAR_DIRECTION_OTHER_NEUTRALIntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_EMBEDDINGIntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_OVERRIDEIntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ARABICIntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_EMBEDDINGIntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_OVERRIDEIntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_FORMATIntlChar::CHAR_DIRECTION_DIR_NON_SPACING_MARKIntlChar::CHAR_DIRECTION_BOUNDARY_NEUTRALIntlChar::CHAR_DIRECTION_FIRST_STRONG_ISOLATEIntlChar::CHAR_DIRECTION_LEFT_TO_RIGHT_ISOLATEIntlChar::CHAR_DIRECTION_RIGHT_TO_LEFT_ISOLATEIntlChar::CHAR_DIRECTION_POP_DIRECTIONAL_ISOLATEIntlChar::CHAR_DIRECTION_CHAR_DIRECTION_COUNTnull en cas d'échec.
Exemple #1 Test de différents codepoint
<?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);
?>L'exemple ci-dessus va afficher :
bool(true) bool(true) bool(true) bool(true)