1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-29 10:13:14 +02:00
Files
archived-doc-ru/reference/array/functions/current.xml
T
Sergey Panteleev 2c3685336f docs(ru): Updated to English revision
git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@351336 c90b9560-bf6c-de11-be94-00142212c4b1
2020-11-09 09:58:27 +00:00

152 lines
5.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 86e6094e86b84a51d00ab217ac50ce8dde33d82a Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="function.current" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>current</refname>
<refpurpose>Возвращает текущий элемент массива</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>mixed</type><methodname>current</methodname>
<methodparam><type>array</type><parameter>array</parameter></methodparam>
</methodsynopsis>
<para>
У каждого массива имеется внутренний указатель на его "текущий" элемент,
который инициализируется первым элементом, добавленным в массив.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>array</parameter></term>
<listitem>
<para>
Массив.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Функция <function>current</function> просто возвращает значение
элемента массива, на который указывает его внутренний указатель.
Она не перемещает указатель куда бы то ни было. Если
внутренний указатель находится за пределами списка элементов или
массив пуст, <function>current</function> возвращает &false;.
</para>
&return.falseproblem;
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.0.0</entry>
<entry>
Теперь параметр <parameter>array</parameter> всегда передается по значению.
Раньше он по возможности передавался по ссылке.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>current</function> и дружественных функций</title>
<programlisting role="php">
<![CDATA[
<?php
$transport = array('foot', 'bike', 'car', 'plane');
$mode = current($transport); // $mode = 'foot';
$mode = next($transport); // $mode = 'bike';
$mode = current($transport); // $mode = 'bike';
$mode = prev($transport); // $mode = 'foot';
$mode = end($transport); // $mode = 'plane';
$mode = current($transport); // $mode = 'plane';
$arr = array();
var_dump(current($arr)); // bool(false)
$arr = array(array());
var_dump(current($arr)); // array(0) { }
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<simpara>
Результаты вызова <function>current</function> на пустом массиве
и на массиве, внутренний указатель которого указывает на конец элементов,
неотличимы от элемента массива типа <type>bool</type>
со значением &false;. Для корректного обхода массива, который
может содержать &false;, используйте функцию <function>foreach</function>.
</simpara>
<simpara>
Если же вы хотите использовать функцию <function>current</function> и при этом
корректно отслеживать конец массива, используйте функцию
<function>key</function> на том же элементе, на котором использовали
<function>current</function> и проверяйте ее результат на строгое неравенство
&null;.
</simpara>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>end</function></member>
<member><function>key</function></member>
<member><function>each</function></member>
<member><function>prev</function></member>
<member><function>reset</function></member>
<member><function>next</function></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
-->