1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-24 15:52:13 +01:00
Files
2024-08-26 22:37:58 +03:00

149 lines
4.3 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: 09003ff79e20ff948b2c9efb2745f7625637d7e4 Maintainer: aur Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="arrayaccess.offsetexists" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>ArrayAccess::offsetExists</refname>
<refpurpose>Определяет, существует ли заданное смещение (ключ)</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis role="ArrayAccess">
<modifier>public</modifier> <type>bool</type><methodname>ArrayAccess::offsetExists</methodname>
<methodparam><type>mixed</type><parameter>offset</parameter></methodparam>
</methodsynopsis>
<para>
Определяет, существует или нет данное смещение (ключ).
</para>
<para>
Данный метод выполняется при использовании <function>isset</function> или
<function>empty</function> на объектах, реализующих интерфейс <classname>ArrayAccess</classname>.
</para>
<note>
<para>
При использовании функции <function>empty</function>,
вызывается метод <function>ArrayAccess::offsetGet</function>
и проверка на пустоту произойдёт, только если метод <function>ArrayAccess::offsetExists</function>
вернёт &true;.
</para>
</note>
</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>
&return.success;
</para>
<note>
<para>
Возвращаемое значение будет приведено к логическому типу (<type>bool</type>), если возвращаемое
значение не является логическим.
</para>
</note>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования метода <function>ArrayAccess::offsetExists</function></title>
<programlisting role="php">
<![CDATA[
<?php
class obj implements ArrayAccess {
public function offsetSet($offset, $value): void {
var_dump(__METHOD__);
}
public function offsetExists($var): bool {
var_dump(__METHOD__);
if ($var == "foobar") {
return true;
}
return false;
}
public function offsetUnset($var): void {
var_dump(__METHOD__);
}
#[\ReturnTypeWillChange]
public function offsetGet($var) {
var_dump(__METHOD__);
return "value";
}
}
$obj = new obj;
echo "Выполняется obj::offsetExists()\n";
var_dump(isset($obj["foobar"]));
echo "\nВыполняется obj::offsetExists() и obj::offsetGet()\n";
var_dump(empty($obj["foobar"]));
echo "\nВыполняется obj::offsetExists(), но *не* obj:offsetGet(), поскольку нечего возвращать\n";
var_dump(empty($obj["foobaz"]));
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Выполняется obj::offsetExists()
string(17) "obj::offsetExists"
bool(true)
Выполняется obj::offsetExists() и obj::offsetGet()
string(17) "obj::offsetExists"
string(14) "obj::offsetGet"
bool(false)
Выполняется obj::offsetExists(), но *не* obj:offsetGet(), поскольку нечего возвращать
string(17) "obj::offsetExists"
bool(true)
]]>
</screen>
</example>
</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
-->