(PHP 7, PHP 8)
IntlChar::getPropertyValueName — Obtener el nombre Unicode para un valor de una propiedad
$property
, int $value
, int $nameChoice
= IntlChar::LONG_PROPERTY_NAME
): stringDevuelve el nombre Unicode para un valor de una propiedad dado, como se da en el fichero de la base de datos de Unicode PropertyValueAliases.txt.
Nota:
Algunos de los nombres en PropertyValueAliases.txt solamente se pueden obtener con
IntlChar::PROPERTY_GENERAL_CATEGORY_MASK
, no conIntlChar::PROPERTY_GENERAL_CATEGORY
. Estos son:
- "C" / "Other"
- "L" / "Letter"
- "LC" / "Cased_Letter"
- "M" / "Mark"
- "N" / "Number"
- "P" / "Punctuation"
- "S" / "Symbol"
- "Z" / "Separator"
property
La propiedad de Unicode a consultar (véanse las constantes IntlChar::PROPERTY_*
).
Si está fuera de rango o si el método no funciona con el valor dado, devuelve false
.
value
El selector para un valor de la propiedad dada. Si está fuera de rango, devuelve false
.
En general, los valores válidos de rangos van de 0
a un máximo. Existen un par de excepciones:
IntlChar::PROPERTY_BLOCK
comienzan en el valor IntlChar::BLOCK_CODE_BASIC_LATIN
distinto de cero.
IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS
no son contiguos y su rango es 0..240.
nameChoice
El selector a obtener por su nombre. Si está fuera de rango, devuelve false
.
Todas las propiedades tienen un nombre largo. La mayoría tienen un nombre corto, otras no. Unicode tiene en cuenta nombres adicionales;
si están presentes, serán devueltos añadiendo 1, 2, etc., a IntlChar::LONG_PROPERTY_NAME
.
Devuelve el nombre, o false
si property
o nameChoice
están fuera de rango.
Si un nameChoice
dado devuelve false
, todos los valores mayores que nameChoice
devolverán false
, con una excepción: si se devuelve false
para IntlChar::SHORT_PROPERTY_NAME
,
entonces IntlChar::LONG_PROPERTY_NAME
(y mayores) podrían aún devolver un valor distinto de false
.
Ejemplo #1 Probar diferentes propiedades
<?php
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::SHORT_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME));
var_dump(IntlChar::getPropertyValueName(IntlChar::PROPERTY_BLOCK, IntlChar::BLOCK_CODE_GREEK, IntlChar::LONG_PROPERTY_NAME + 1));
?>
El resultado del ejemplo sería:
string(16) "Greek_And_Coptic" string(5) "Greek" string(16) "Greek_And_Coptic" bool(false)