1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files
archived-doc-ru/language/types/enumerations.xml
2025-06-05 13:25:05 +03:00

80 lines
2.4 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f4609f913fe6bf4a8b41328df9366726208b7e33 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<sect1 xml:id="language.types.enumerations">
<title>Перечисления</title>
<?phpdoc print-version-for="enumerations"?>
<sect2 xml:id="language.types.enumerations.basics">
<title>Основы перечислений</title>
<para>
Перечисления — это ограничивающий слой над классами и константами классов,
предназначенный для предоставления способа определения закрытого набора возможных значений для типа.
</para>
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
enum Suit
{
case Hearts;
case Diamonds;
case Clubs;
case Spades;
}
function do_stuff(Suit $s)
{
// ...
}
do_stuff(Suit::Spades);
?>
]]>
</programlisting>
</informalexample>
<simpara>
Полное описание даёт глава
«<link linkend="language.enumerations">Перечисления</link>».
</simpara>
</sect2>
<sect2 xml:id="language.types.enumerations.casting">
<title>Приведение типов</title>
<para>
При преобразовании типа <type>enum</type> в тип <type>object</type>
перечисление не изменяется. При преобразовании типа <type>enum</type> в тип <type>array</type>
создаётся массив с одним ключом <literal>name</literal> для чистых перечислений
или массив с двумя ключами <literal>name</literal> и <literal>value</literal> для типизированных перечислений.
Остальные приведения типов вызовут ошибку.
</para>
</sect2>
</sect1>
<!-- 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
-->