cvs: phpdoc-ru /reference/array/functions array-merge.xml array-splice.xml count.xml

From: Date: Sun, 27 Mar 2005 17:20:54 +0000
Subject: cvs: phpdoc-ru /reference/array/functions array-merge.xml array-splice.xml count.xml
Groups: php.doc.ru 
Request: Send a blank email to doc-ru+get-656@lists.php.net to get a copy of this message
sveta Sun Mar 27 12:20:54 2005 EDT Modified files: /phpdoc-ru/reference/array/functions array-merge.xml array-splice.xml count.xml Log: splitted with en version

http://cvs.php.net/diff.php/phpdoc-ru/reference/array/functions/array-merge.xml?r1=1.5&r2=1.6&ty=u Index: phpdoc-ru/reference/array/functions/array-merge.xml diff -u phpdoc-ru/reference/array/functions/array-merge.xml:1.5 phpdoc-ru/reference/array/functions/array-merge.xml:1.6 --- phpdoc-ru/reference/array/functions/array-merge.xml:1.5 Sun Mar 6 11:44:14 2005 +++ phpdoc-ru/reference/array/functions/array-merge.xml Sun Mar 27 12:20:54 2005 @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 1.6 Maintainer: tronic Status: ready --> -<!-- $Revision: 1.5 $ --> +<!-- EN-Revision: 1.18 Maintainer: tronic Status: ready --> +<!-- $Revision: 1.6 $ --> <!-- splitted from ./en/functions/array.xml, last change in rev 1.2 --> <refentry id="function.array-merge"> <refnamediv> @@ -38,10 +38,11 @@ $array1 = array ("color" => "red", 2, 4); $array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid", 4); $result = array_merge ($array1, $array2); +print_r($result); ]]> </programlisting> <para> - Переменная <literal>$result</literal> будет содержать: + &example.outputs; <screen role="php"> <![CDATA[ Array @@ -107,6 +108,38 @@ Общие ключи будут перезаписаны по принципу "первый пришел - первый обработан". </para> </note> + <warning> + <para> + Поведение функции <function>array_merge</function> было изменено в PHP 5. В отличие от PHP 4, <function>array_merge</function> + принимает параметры только типа <type>array</type>. Однако вы можете использовать приведение типов. + Смотрите следующий пример для уточнения подробностей. + </para> + <para> + <example> + <title>Пример использования <function>array_merge</function> с параметрами разных типов в PHP 5</title> + <programlisting role="php"> +<![CDATA[ +<?php +$beginning = 'foo'; +$end = array(1 => 'bar'); +$result = array_merge((array)$beginning, (array)$end); +print_r($result); +?> +]]> + </programlisting> + &example.outputs; + <screen role="php"> +<![CDATA[ +Array +( + [0] => foo + [1] => bar +) +]]> + </screen> + </example> + </para> + </warning> <para> См.также <function>array_merge_recursive</function>. </para> http://cvs.php.net/diff.php/phpdoc-ru/reference/array/functions/array-splice.xml?r1=1.2&r2=1.3&ty=u Index: phpdoc-ru/reference/array/functions/array-splice.xml diff -u phpdoc-ru/reference/array/functions/array-splice.xml:1.2 phpdoc-ru/reference/array/functions/array-splice.xml:1.3 --- phpdoc-ru/reference/array/functions/array-splice.xml:1.2 Sun Mar 6 11:44:14 2005 +++ phpdoc-ru/reference/array/functions/array-splice.xml Sun Mar 27 12:20:54 2005 @@ -1,174 +1,175 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 1.12 Maintainer: sveta Status: ready --> -<!-- $Revision: 1.2 $ --> -<!-- splitted from ./en/functions/array.xml, last change in rev 1.14 --> - <refentry id="function.array-splice"> - <refnamediv> - <refname>array_splice</refname> - <refpurpose> - Удалить последовательность элементов массива и заменить её другой последовательностью - </refpurpose> - </refnamediv> - <refsect1> - <title>Оисание</title> - <methodsynopsis> - <type>array</type><methodname>array_splice</methodname> - <methodparam><type>array</type><parameter>&amp;input</parameter></methodparam> - <methodparam><type>int</type><parameter>offset</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam> - <methodparam choice="opt"><type>array</type><parameter> - replacement - </parameter></methodparam> - </methodsynopsis> - <para> - <function>array_splice</function> удаляет <parameter>length</parameter> элементов, - расположенных на растоянии <parameter>offset</parameter> от начала - массива <parameter>input</parameter>, и заменяет их элементами - массива <parameter>replacement</parameter>, если он передан в качестве параметра. - Возвращает массив выбранных элементов. - </para> - <para> - Если параметр <parameter>offset</parameter> положителен, будут удалены элементы, - находящиеся на расстоянии offset от начала <parameter>array</parameter>. Если - <parameter>offset</parameter> отрицателен, будут удалены элементы, - находящиеся на расстоянии offset от конца <parameter>array</parameter>. - </para> - <para> - Если параметр <parameter>length</parameter> неопределён, будут удалены все элементы - начиная с позиции <parameter>offset</parameter> и до конца массива. - Если передан положительный параметр <parameter>length</parameter>, - будет удалено length элементов. - Если передан отрицательный параметр <parameter>length</parameter>, - будут удалены элементы исходного массива, начиная с позиции <parameter>offset</parameter> - и заканчивая позицией, отстоящей на <parameter>length</parameter> элементов от конца <parameter>array</parameter>. - Совет: для того, чтобы удалить все элементы массива, начиная с позиции - <parameter>offset</parameter> в то время как указан параметр - <parameter>replacement</parameter>, используйте - <literal>count($input)</literal> в качестве параметра - <parameter>length</parameter>. - </para> - <para> - Если передан массив <parameter>replacement</parameter> в качестве аргумента, тогда - удалённые элементы будут заменены элементами этого массива. - Если параметры <parameter>offset</parameter> и - <parameter>length</parameter> таковы, что из исходного массива не будет ничего удалено, - тогда элементы массива <parameter>replacement</parameter> - будут вставлены на позицию - <parameter>offset</parameter>. Совет: если вам нужно вставить - один элемент в массив, нет необходимости заключать его в вызов функции <literal>array()</literal>, - если только этот элемент не является массивом. - </para> - <para> - Последующие выражения произведут одинаковые - изменения в массиве <varname>$input</varname>: - <table> - <title>Эквиваленты <function>array_splice</function></title> - <tgroup cols="2"> - <tbody> - <row> - <entry> - array_push($input, $x, $y) - </entry> - <entry> - array_splice($input, count($input), 0, array($x, $y)) - </entry> - </row> - <row> - <entry> - array_pop($input) - </entry> - <entry> - array_splice($input, -1) - </entry> - </row> - <row> - <entry> - array_shift($input) - </entry> - <entry> - array_splice($input, 0, 1) - </entry> - </row> - <row> - <entry> - array_unshift($input, $x, $y) - </entry> - <entry> - array_splice($input, 0, 0, array($x, $y)) - </entry> - </row> - <row> - <entry> - $input[$x] = $y // в случае, если key равен offset - </entry> - <entry> - array_splice($input, $x, 1, $y) - </entry> - </row> - </tbody> - </tgroup> - </table> - </para> - <para> - Возвращает массив, содержащий удалённые элементы. - </para> - <para> - <example> - <title>Примеры использования <function>array_splice</function></title> - <programlisting role="php"> -<![CDATA[ -<?php -$input = array("red", "green", "blue", "yellow"); -array_splice($input, 2); -// $input is now array("red", "green") - -$input = array("red", "green", "blue", "yellow"); -array_splice($input, 1, -1); -// $input is now array("red", "yellow") - -$input = array("red", "green", "blue", "yellow"); -array_splice($input, 1, count($input), "orange"); -// $input is now array("red", "orange") - -$input = array("red", "green", "blue", "yellow"); -array_splice($input, -1, 1, array("black", "maroon")); -// $input is now array("red", "green", -// "blue", "black", "maroon") - -$input = array("red", "green", "blue", "yellow"); -array_splice($input, 3, 0, "purple"); -// $input is now array("red", "green", -// "blue", "purple", "yellow"); -?> -]]> - </programlisting> - </example> - </para> - <para> - См. также <function>array_slice</function>, - <function>unset</function> и - <function>array_merge</function>. - </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:"../../../../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 ---> +<?xml version="1.0" encoding="utf-8"?> +<!-- EN-Revision: 1.15 Maintainer: sveta Status: ready --> +<!-- $Revision: 1.3 $ --> +<!-- splitted from ./en/functions/array.xml, last change in rev 1.14 --> + <refentry id="function.array-splice"> + <refnamediv> + <refname>array_splice</refname> + <refpurpose> + Удалить последовательность элементов массива и заменить её другой последовательностью + </refpurpose> + </refnamediv> + <refsect1> + <title>Оисание</title> + <methodsynopsis> + <type>array</type><methodname>array_splice</methodname> + <methodparam><type>array</type><parameter>&amp;input</parameter></methodparam> + <methodparam><type>int</type><parameter>offset</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>length</parameter></methodparam> + <methodparam choice="opt"><type>array</type><parameter> + replacement + </parameter></methodparam> + </methodsynopsis> + <para> + <function>array_splice</function> удаляет <parameter>length</parameter> элементов, + расположенных на растоянии <parameter>offset</parameter> от начала + массива <parameter>input</parameter>, и заменяет их элементами + массива <parameter>replacement</parameter>, если он передан в качестве параметра. + Возвращает массив выбранных элементов. + </para> + <para> + Если параметр <parameter>offset</parameter> положителен, будут удалены элементы, + находящиеся на расстоянии offset от начала <parameter>array</parameter>. Если + <parameter>offset</parameter> отрицателен, будут удалены элементы, + находящиеся на расстоянии offset от конца <parameter>array</parameter>. + </para> + <para> + Если параметр <parameter>length</parameter> опущен, будут удалены все элементы + начиная с позиции <parameter>offset</parameter> и до конца массива. + Если передан положительный параметр <parameter>length</parameter>, + будет удалено length элементов. + Если передан отрицательный параметр <parameter>length</parameter>, + будут удалены элементы исходного массива, начиная с позиции <parameter>offset</parameter> + и заканчивая позицией, отстоящей на <parameter>length</parameter> элементов от конца <parameter>array</parameter>. + Совет: для того, чтобы удалить все элементы массива, начиная с позиции + <parameter>offset</parameter> в то время как указан параметр + <parameter>replacement</parameter>, используйте + <literal>count($input)</literal> в качестве параметра + <parameter>length</parameter>. + </para> + <para> + Если передан массив <parameter>replacement</parameter> в качестве аргумента, тогда + удалённые элементы будут заменены элементами этого массива. + Если параметры <parameter>offset</parameter> и + <parameter>length</parameter> таковы, что из исходного массива не будет ничего удалено, + тогда элементы массива <parameter>replacement</parameter> + будут вставлены на позицию <parameter>offset</parameter>. + Обратите внимание, что ключи массива <parameter>replacement</parameter> не сохраняются. + Совет: если вам нужно вставить + один элемент в массив, нет необходимости заключать его в вызов функции <literal>array()</literal>, + если только этот элемент не является массивом. + </para> + <para> + Последующие выражения произведут одинаковые + изменения в массиве <varname>$input</varname>: + <table> + <title>Эквиваленты <function>array_splice</function></title> + <tgroup cols="2"> + <tbody> + <row> + <entry> + array_push($input, $x, $y) + </entry> + <entry> + array_splice($input, count($input), 0, array($x, $y)) + </entry> + </row> + <row> + <entry> + array_pop($input) + </entry> + <entry> + array_splice($input, -1) + </entry> + </row> + <row> + <entry> + array_shift($input) + </entry> + <entry> + array_splice($input, 0, 1) + </entry> + </row> + <row> + <entry> + array_unshift($input, $x, $y) + </entry> + <entry> + array_splice($input, 0, 0, array($x, $y)) + </entry> + </row> + <row> + <entry> + $input[$x] = $y // в случае, если key равен offset + </entry> + <entry> + array_splice($input, $x, 1, $y) + </entry> + </row> + </tbody> + </tgroup> + </table> + </para> + <para> + Возвращает массив, содержащий удалённые элементы. + </para> + <para> + <example> + <title>Примеры использования <function>array_splice</function></title> + <programlisting role="php"> +<![CDATA[ +<?php +$input = array("red", "green", "blue", "yellow"); +array_splice($input, 2); +// $input is now array("red", "green") + +$input = array("red", "green", "blue", "yellow"); +array_splice($input, 1, -1); +// $input is now array("red", "yellow") + +$input = array("red", "green", "blue", "yellow"); +array_splice($input, 1, count($input), "orange"); +// $input is now array("red", "orange") + +$input = array("red", "green", "blue", "yellow"); +array_splice($input, -1, 1, array("black", "maroon")); +// $input is now array("red", "green", +// "blue", "black", "maroon") + +$input = array("red", "green", "blue", "yellow"); +array_splice($input, 3, 0, "purple"); +// $input is now array("red", "green", +// "blue", "purple", "yellow"); +?> +]]> + </programlisting> + </example> + </para> + <para> + См. также <function>array_slice</function>, + <function>unset</function> и + <function>array_merge</function>. + </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:"../../../../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 +--> http://cvs.php.net/diff.php/phpdoc-ru/reference/array/functions/count.xml?r1=1.2&r2=1.3&ty=u Index: phpdoc-ru/reference/array/functions/count.xml diff -u phpdoc-ru/reference/array/functions/count.xml:1.2 phpdoc-ru/reference/array/functions/count.xml:1.3 --- phpdoc-ru/reference/array/functions/count.xml:1.2 Sun Mar 6 11:44:14 2005 +++ phpdoc-ru/reference/array/functions/count.xml Sun Mar 27 12:20:54 2005 @@ -1,147 +1,142 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- EN-Revision: 1.15 Maintainer: sveta Status: ready --> -<!-- $Revision: 1.2 $ --> -<!-- splitted from ./en/functions/array.xml, last change in rev 1.2 --> - <refentry id="function.count"> - <refnamediv> - <refname>count</refname> - <refpurpose>Посчитать количество элементов массива или количество свойств объекта</refpurpose> - </refnamediv> - <refsect1> - <title>Описание</title> - <methodsynopsis> - <type>int</type><methodname>count</methodname> - <methodparam><type>mixed</type><parameter>var</parameter></methodparam> - <methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam> - </methodsynopsis> - <para> - Возвратить количество элементов переменной <parameter>var</parameter>, - которая обычно является <type>array</type>, или любым другим объектом, который может - содержать хотя бы один элемент. - </para> - <para> - Для объектов <function>count</function> возвращает количество нестатических - свойств, не принимая во внимание видимость. Если у вас включена поддержка - <link linkend="ref.spl">SPL</link>, вы можете перехватить - <function>count</function>, реализуя интерфейс - <literal>Countable</literal>. Этот интерфейс имеет только один метод, - <function>count</function>, который возвращает значение функции - <function>count</function>. - </para> - <para> - Если <parameter>var</parameter> не является объектом или массивом, - будет возвращена <literal>1</literal>. - За одним исключением: если <parameter>var</parameter> - &null;, - то будет возвращён <literal>0</literal>. - </para> - <note> - <simpara> - Дополнительный параметр <parameter>mode</parameter> был добавлен начиная с - PHP 4.2.0. - </simpara> - </note> - <para> - Если дополнительный параметр <parameter>mode</parameter> установлен в - <constant>COUNT_RECURSIVE</constant> (или 1), <function>count</function> - будет считать количество элементов массива рекурсивно. Это особенно полезно для подсчёта - всех элементов многомерных массивов. Предустановленное значение - параметра <parameter>mode</parameter> - <literal>0</literal>. - <function>count</function> не обнаруживает бесконечную рекурсию. - </para> - <caution> - <para> - <function>count</function> может возвратить 0 для переменных, которые - не установлены, но также может возвратить 0 для переменных, которые - инициализированы пустым массивом. Используйте функцию - <function>isset</function> для того, чтобы протестировать, установлена ли переменная. - </para> - </caution> - <para> - Пожалуйста, см. раздел этого руководства <link linkend="language.types.array">Array</link> - для того, чтобы получить детальное представление о реализации и использовании - массивов в PHP. - </para> - <para> - <example> - <title>Пример использования <function>count</function></title> - <programlisting role="php"> -<![CDATA[ -<?php -$a[0] = 1; -$a[1] = 3; -$a[2] = 5; -$result = count($a); -// $result == 3 - -$b[0] = 7; -$b[5] = 9; -$b[10] = 11; -$result = count($b); -// $result == 3; - -$result = count(null); -// $result == 0; - -$result = count(false); -// $result == 1; - -$obj = new StdClass; -$obj->foo = 'A property'; -$obj->bar = 'Another property'; -$result = count($obj); -// $result == 2; -?> -]]> - </programlisting> - </example> - </para> - <para> - <example> - <title> - Пример рекурсивного использования <function>count</function> (PHP &gt;= 4.2.0) - </title> - <programlisting role="php"> -<![CDATA[ -<?php -$food = array('fruits' => array('orange', 'banana', 'apple'), - 'veggie' => array('carrot', 'collard', 'pea')); - -// рекурсивный count -echo count($food, COUNT_RECURSIVE); // output 8 - -// обычный count -echo count($food); // output 2 - -?> -]]> - </programlisting> - </example> - </para> - <para> - См. также <function>is_array</function>, - <function>isset</function> и - <function>strlen</function>. - </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:"../../../../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 ---> +<?xml version="1.0" encoding="utf-8"?> +<!-- EN-Revision: 1.17 Maintainer: sveta Status: ready --> +<!-- $Revision: 1.3 $ --> +<!-- splitted from ./en/functions/array.xml, last change in rev 1.2 --> + <refentry id="function.count"> + <refnamediv> + <refname>count</refname> + <refpurpose>Посчитать количество элементов массива или количество свойств объекта</refpurpose> + </refnamediv> + <refsect1> + <title>Описание</title> + <methodsynopsis> + <type>int</type><methodname>count</methodname> + <methodparam><type>mixed</type><parameter>var</parameter></methodparam> + <methodparam choice="opt"><type>int</type><parameter>mode</parameter></methodparam> + </methodsynopsis> + <para> + Возвратить количество элементов переменной <parameter>var</parameter>, + которая обычно является <type>array</type>, или любым другим объектом, который может + содержать хотя бы один элемент. + </para> + <para> + Для объектов <function>count</function> возвращает количество нестатических + свойств, не принимая во внимание видимость. Если у вас включена поддержка + <link linkend="ref.spl">SPL</link>, вы можете перехватить + <function>count</function>, реализуя интерфейс + <literal>Countable</literal>. Этот интерфейс имеет только один метод, + <function>count</function>, который возвращает значение функции + <function>count</function>. + </para> + <para> + Если <parameter>var</parameter> не является массивом или объектом, + реализующим интерфейс <literal>Countable</literal>, + будет возвращена <literal>1</literal>. + За одним исключением: если <parameter>var</parameter> - &null;, + то будет возвращён <literal>0</literal>. + </para> + <note> + <simpara> + Дополнительный параметр <parameter>mode</parameter> был добавлен начиная с + PHP 4.2.0. + </simpara> + </note> + <para> + Если дополнительный параметр <parameter>mode</parameter> установлен в + <constant>COUNT_RECURSIVE</constant> (или 1), <function>count</function> + будет считать количество элементов массива рекурсивно. Это особенно полезно для подсчёта + всех элементов многомерных массивов. Предустановленное значение + параметра <parameter>mode</parameter> - <literal>0</literal>. + <function>count</function> не обнаруживает бесконечную рекурсию. + </para> + <caution> + <para> + <function>count</function> может возвратить 0 для переменных, которые + не установлены, но также может возвратить 0 для переменных, которые + инициализированы пустым массивом. Используйте функцию + <function>isset</function> для того, чтобы протестировать, установлена ли переменная. + </para> + </caution> + <para> + Пожалуйста, см. раздел этого руководства <link linkend="language.types.array">Array</link> + для того, чтобы получить детальное представление о реализации и использовании + массивов в PHP. + </para> + <para> + <example> + <title>Пример использования <function>count</function></title> + <programlisting role="php"> +<![CDATA[ +<?php +$a[0] = 1; +$a[1] = 3; +$a[2] = 5; +$result = count($a); +// $result == 3 + +$b[0] = 7; +$b[5] = 9; +$b[10] = 11; +$result = count($b); +// $result == 3; + +$result = count(null); +// $result == 0; + +$result = count(false); +// $result == 1; +?> +]]> + </programlisting> + </example> + </para> + <para> + <example> + <title> + Пример рекурсивного использования <function>count</function> (PHP &gt;= 4.2.0) + </title> + <programlisting role="php"> +<![CDATA[ +<?php +$food = array('fruits' => array('orange', 'banana', 'apple'), + 'veggie' => array('carrot', 'collard', 'pea')); + +// рекурсивный count +echo count($food, COUNT_RECURSIVE); // output 8 + +// обычный count +echo count($food); // output 2 + +?> +]]> + </programlisting> + </example> + </para> + <para> + См. также <function>is_array</function>, + <function>isset</function> и + <function>strlen</function>. + </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:"../../../../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 +-->
« previous php.doc.ru (#656) next »