1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="intlchar.getpropertyvaluename" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>IntlChar::getPropertyValueName</refname>
<refpurpose>Get the Unicode name for a property value</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="IntlChar">
<modifier>public</modifier> <modifier>static</modifier> <type class="union"><type>string</type><type>false</type></type><methodname>IntlChar::getPropertyValueName</methodname>
<methodparam><type>int</type><parameter>property</parameter></methodparam>
<methodparam><type>int</type><parameter>value</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>type</parameter><initializer>IntlChar::LONG_PROPERTY_NAME</initializer></methodparam>
</methodsynopsis>
<para>
Returns the Unicode name for a given property value, as given in the Unicode database file PropertyValueAliases.txt.
</para>
<note>
<para>
Some of the names in PropertyValueAliases.txt can only be retrieved using
<constant>IntlChar::PROPERTY_GENERAL_CATEGORY_MASK</constant>, not
<constant>IntlChar::PROPERTY_GENERAL_CATEGORY</constant>.
These include:
<simplelist>
<member>"C" / "Other"</member>
<member>"L" / "Letter"</member>
<member>"LC" / "Cased_Letter"</member>
<member>"M" / "Mark"</member>
<member>"N" / "Number"</member>
<member>"P" / "Punctuation"</member>
<member>"S" / "Symbol"</member>
<member> "Z" / "Separator"</member>
</simplelist>
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>property</parameter></term>
<listitem>
&intl.property.parameter;
<para>
If out of range, or this method doesn't work with the given value, &false; is returned.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
Selector for a value for the given property. If out of range, &false; is returned.
</para>
<para>
In general, valid values range from <literal>0</literal> up to some maximum. There are a couple exceptions:
<simplelist>
<member>
<constant>IntlChar::PROPERTY_BLOCK</constant> values begin at the non-zero value <constant>IntlChar::BLOCK_CODE_BASIC_LATIN</constant>
</member>
<member>
<constant>IntlChar::PROPERTY_CANONICAL_COMBINING_CLASS</constant> values are not contiguous and range from 0..240.
</member>
</simplelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>type</parameter></term>
<listitem>
<para>
Selector for which name to get. If out of range, &false; is returned.
</para>
<para>
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 <constant>IntlChar::LONG_PROPERTY_NAME</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Returns the name, or &false; if either the <parameter>property</parameter> or the <parameter>type</parameter>
is out of range. Returns &null; on failure.
</para>
<para>
If a given <parameter>type</parameter> returns &false;, then all larger values of <parameter>type</parameter>
will return &false;, with one exception: if &false; is returned for <constant>IntlChar::SHORT_PROPERTY_NAME</constant>,
then <constant>IntlChar::LONG_PROPERTY_NAME</constant> (and higher) may still return a non-&false; value.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>&intl.property.example;</title>
<programlisting role="php">
<![CDATA[
<?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));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
string(16) "Greek_And_Coptic"
string(5) "Greek"
string(16) "Greek_And_Coptic"
bool(false)
]]>
</screen>
</example>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|