1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 07:42:22 +01:00
Files
2022-12-13 11:50:41 +03:00

131 lines
4.6 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: ed312486fff2251b6625b017df2e8f847f656296 Maintainer: aur Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="arrayaccess.offsetget" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>ArrayAccess::offsetGet</refname>
<refpurpose>Возвращает заданное смещение (ключ)</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayAccess">
<modifier>public</modifier> <type>mixed</type><methodname>ArrayAccess::offsetGet</methodname>
<methodparam><type>mixed</type><parameter>offset</parameter></methodparam>
</methodsynopsis>
<para>
Возвращает заданное смещение (ключ).
</para>
<para>
Данный метод выполняется, когда проверяется смещение (ключ) на пустоту с помощью функции <function>empty</function>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>offset</parameter></term>
<listitem>
<para>
Смещение (ключ) для возврата.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Может возвращать значение любого типа.
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Возможна реализация данного метода с возвращением по ссылке.
Это делает возможным косвенную модификацию для величин массива
перегруженного объекта <classname>ArrayAccess</classname>.
</para>
<para>
Явная модификация - это такая модификация, при которой полностью заменяется
значение величины массива, как в случае <literal>$obj[6] = 7</literal>.
С другой стороны, при косвенной модификации заменяется только часть
величины, или происходит попытка присвоения величины по ссылке другой переменной,
как в случае <literal>$obj[6][7] = 7</literal> или <literal>$var =&amp; $obj[6]</literal>.
Увеличение с использованием оператора <literal>++</literal> и уменьшение с использованием
оператора <literal>--</literal> также реализуются с помощью способа, который требует косвенную
модификацию.
</para>
<para>
В то время как, явная модификация запускает вызов метода
<function>ArrayAccess::offsetSet</function>, косвенная модификация
запускает вызов метода <function>ArrayAccess::offsetGet</function>.
В таком случае, реализация метода <function>ArrayAccess::offsetGet</function>
должна быть в состоянии возвращать результат по ссылке, в противном случае будет
вызвано сообщение об ошибке уровня <constant>E_NOTICE</constant>.
</para>
</note>
</refsect1>
<!--
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>ArrayAccess::offsetGet</function></title>
<programlisting role="php">
<![CDATA[
<?php
/* ... */
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
...
]]>
</screen>
</example>
</para>
</refsect1>
-->
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>ArrayAccess::offsetExists</methodname></member>
</simplelist>
</para>
</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
-->