cvs: phpdoc-sk /reference/array/functions array-map.xml array-merge-recursive.xml array-merge.xml array.xml key.xml
[email protected] ("Joseph Drake")
| Newsgroups | php.doc.sk |
|---|---|
| Message-ID | <cvsjoseph1042256073@cvsserver> |
joseph Fri Jan 10 22:34:33 2003 EDT
Added files:
/phpdoc-sk/reference/array/functions array-map.xml array-merge.xml
array-merge-recursive.xml
key.xml array.xml
Log:
here they comes
joseph-20030110223433.txt
(text/plain, 16.5 KB)
Index: phpdoc-sk/reference/array/functions/array-map.xml
+++ phpdoc-sk/reference/array/functions/array-map.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- EN-Revision: 1.6 Maintainer: joseph Status: ready -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.62 -->
<refentry id="function.array-map">
<refnamediv>
<refname>array_map</refname>
<refpurpose>
Aplikuje spätné volanie na elementy daných polí
</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>array</type><methodname>array_map</methodname>
<methodparam><type>callback</type><parameter>funkcia</parameter></methodparam>
<methodparam><type>array</type><parameter>pole1</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>pole2...</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_map</function> vracia pole obsahujúce v¹etky
elementy <parameter>poµa1</parameter> po aplikovaní spätného
volania <parameter>funkcie</parameter> na ka¾dý element.
Poèet parametrov, ktoré spätné volanie
<parameter>funkcie</parameter> akceptuje,
by sa mal zhodova» s poètom polí
odoslaných funkcii <function>array_map</function>
</para>
<para>
<example>
<title><function>array_map</function> príklad</title>
<programlisting role="php">
<![CDATA[
<?php
function cube($n) {
return $n*$n*$n;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("kocka", $a);
print_r($b);
?>
]]>
</programlisting>
<para>
<varname>$b</varname> bude obsahova»:
<screen>
<![CDATA[
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
]]>
</screen>
</para>
</example>
</para>
<para>
<example>
<title><function>array_map</function> - pou¾ívanie viacerých polí</title>
<programlisting role="php">
<![CDATA[
<?php
function show_Spanish($n, $m) {
return "Èíslo $n sa po ¹panielsky povie $m";
}
function map_Spanish($n, $m) {
return array ($n => $m);
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("show_Spanish", $a, $b);
print_r($c);
$d = array_map("map_Spanish", $a , $b);
print_r($d);
?>
]]>
</programlisting>
<para>
Výsledkom je:
<screen>
<![CDATA[
// výpis $c
Array
(
[0] => Èíslo 1 sa po ¹panielsky povie uno
[1] => Èíslo 2 sa po ¹panielsky povie dos
[2] => Èíslo 3 sa po ¹panielsky povie tres
[3] => Èíslo 4 sa po ¹panielsky povie cuatro
[4] => Èíslo 5 sa po ¹panielsky povie cinco
)
// výpis $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
)
]]>
</screen>
</para>
</example>
</para>
<para>
Zvyèajne, keï sa pou¾ívajú dve alebo viac polí, mali by by» rovnakej
då¾ky, preto¾e spätné volanie funkcie sa aplikuje paralelne na
kore¹pondujúce elementy.
Ak polia nemajú rovnakú då¾ku, najkrat¹ie sa roz¹íri o prázdne
elementy.
</para>
<para>
Zaujímavé vyu¾itie tejto funkcie je vybudovanie poµa polí, ktoré sa dá
jednoducho vytvori» pou¾itím &null;
ako názvu spätného volania funkcie.
</para>
<para>
<example>
<title>Vytváranie poµa polí</title>
<programlisting role="php">
<![CDATA[
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("jeden", "dva", "tri", "styri", "pat");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array_map(null, $a, $b, $c);
print_r($d);
?>
]]>
</programlisting>
</example>
</para>
<para>
Horeuvedený program vypí¹e:
<screen>
<![CDATA[
Array
(
[0] => Array
(
[0] => 1
[1] => jeden
[2] => uno
)
[1] => Array
(
[0] => 2
[1] => dva
[2] => dos
)
[2] => Array
(
[0] => 3
[1] => tri
[2] => tres
)
[3] => Array
(
[0] => 4
[1] => styri
[2] => cuatro
)
[4] => Array
(
[0] => 5
[1] => pat
[2] => cinco
)
)
]]>
</screen>
</para>
<para>
Tie¾ pozri <function>array_filter</function>,
<function>array_reduce</function> a
<function>array_walk</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
-->
Index: phpdoc-sk/reference/array/functions/array-merge.xml
+++ phpdoc-sk/reference/array/functions/array-merge.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- EN-Revision: 1.6 Maintainer: joseph Status: ready -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.2 -->
<refentry id="function.array-merge">
<refnamediv>
<refname>array_merge</refname>
<refpurpose>Spojí dve alebo viacero polí</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>array</type><methodname>array_merge</methodname>
<methodparam><type>array</type><parameter>pole1</parameter></methodparam>
<methodparam><type>array</type><parameter>pole2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_merge</function> spája elementy dvoch alebo
viacerých polí dokopy tak, ¾e hodnoty jedného sú pripojené na
koniec predchádzajúceho. Vracia výsledné pole.
</para>
<para>
Ak majú vstupné polia rovnaké re»azcové kµúèe, tak neskor¹ia hodnota pre
ten kµúè prepí¹e predchádzajúci. Ale ak polia obsahujú èíselné kµúèe,
neskor¹ia hodnota <emphasis role="strong">ne</emphasis>prepí¹e pôvodnú
hodnotu, ale pripojí sa k nej.
</para>
<para>
<example>
<title><function>array_merge</function> príklad</title>
<programlisting role="php">
<![CDATA[
$pole1 = array ("farba" => "cervena", 2, 4);
$pole2 = array ("a", "b", "farba" => "zelena", "tvar" => "trapezoid", 4);
$vysledok = array_merge ($pole1, $pole2);
]]>
</programlisting>
<para>
<literal>$vysledok</literal> bude:
<screen role="php">
<![CDATA[
Array
(
[farba] => zelena
[0] => 2
[1] => 4
[2] => a
[3] => b
[tvar] => trapezoid
[4] => 4
)
]]>
</screen>
</para>
</example>
</para>
<para>
<example>
<title>Jednoduchý <function>array_merge</function> príklad</title>
<programlisting role="php">
<![CDATA[
$pole1 = array();
$pole2 = array(1 => "data");
$vysledok = array_merge($pole1, $pole2);
]]>
</programlisting>
<para>
Nezabudnite, ¾e èíselné kµúèe sa preèíslujú!
<screen role="php">
<![CDATA[
Array
(
[0] => data
)
]]>
</screen>
</para>
<para>
Ak chcete úplne zachova» polia a chcete ich k sebe pripoji», pou¾ite
operátor <literal>+</literal>:
<programlisting role="php">
<![CDATA[
$pole1 = array();
$pole2 = array(1 => "data");
$result = $pole1 + $pole2;
]]>
</programlisting>
Èíselný klúè sa zachováva, a teda asociácia zostáva.
<screen role="php">
<![CDATA[
Array
(
[1] => data
)
]]>
</screen>
</para>
</example>
</para>
<note>
<para>
Zdieµané kµúèe sa prepisujú na základe 'prvý-príde prvý slú¾i'.
</para>
</note>
<para>
Tie¾ pozri <function>array_merge_recursive</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
-->
Index: phpdoc-sk/reference/array/functions/array-merge-recursive.xml
+++ phpdoc-sk/reference/array/functions/array-merge-recursive.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- EN-Revision: 1.4 Maintainer: joseph Status: ready -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.12 -->
<refentry id="function.array-merge-recursive">
<refnamediv>
<refname>array_merge_recursive</refname>
<refpurpose>Spojí dve alebo viacero polí rekurzívne</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>array</type><methodname>array_merge_recursive</methodname>
<methodparam><type>array</type><parameter>pole1</parameter></methodparam>
<methodparam><type>array</type><parameter>pole2</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_merge_recursive</function> spája elementy dvoch alebo
viacerých polí dokopy tak, ¾e hodnoty jedného sú pripojené na
koniec predchádzajúceho. Vracia výsledné pole.
</para>
<para>
Ak majú vstupné polia rovnaké re»azové kµúèe, tak hodnoty pre tieto
kµúèe sú spojené do poµa, a toto sa urobí rekurzívne, tak, ¾e
ak jedna z týchto hodnôt je pole samotné, funkcia ho tie¾ spojí so
zodpovedajúcou polo¾kou v ïal¹om poli. Ak ale polia majú rovnaký
èíselný kµúè, neskor¹ia hodnota neprepí¹e pôvodú hodnotu, ale
pripojí sa k nej.
</para>
<para>
<example>
<title><function>array_merge_recursive</function> práklad</title>
<programlisting role="php">
<![CDATA[
$pole1 = array ("farba" => array ("oblubena" => "cervena"), 5);
$pole2 = array (10, "color" => array ("oblubena" => "zelena", "modra"));
$vysledok = array_merge_recursive ($pole1, $pole2);
]]>
</programlisting>
<para>
<literal>$vysledok</literal> bude:
<screen role="php">
<![CDATA[
Array
(
[farba] => Array
(
[oblubena] => Array
(
[0] => cervena
[1] => zelena
)
[0] => modra
)
[0] => 5
[1] => 10
)
]]>
</screen>
</para>
</example>
</para>
<para>
Tie¾ pozri <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
-->
Index: phpdoc-sk/reference/array/functions/key.xml
+++ phpdoc-sk/reference/array/functions/key.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- EN-Revision: 1.4 Maintainer: joseph Status: ready -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.2 -->
<refentry id="function.key">
<refnamediv>
<refname>key</refname>
<refpurpose>Vyvolá kµúè z asociatívneho poµa</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>mixed</type><methodname>key</methodname>
<methodparam><type>array</type><parameter>pole</parameter></methodparam>
</methodsynopsis>
<para>
<function>key</function> vracia indexový element
aktuálnej pozície poµa.
</para>
<para>
Tie¾ pozri <function>current</function> a <function>next</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
-->
Index: phpdoc-sk/reference/array/functions/array.xml
+++ phpdoc-sk/reference/array/functions/array.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- EN-Revision: 1.4 Maintainer: joseph -->
<!-- splitted from ./en/functions/array.xml, last change in rev 1.110 -->
<refentry id="function.array">
<refnamediv>
<refname>array</refname>
<refpurpose>
Vytvori» pole
</refpurpose>
</refnamediv>
<refsect1>
<title>Popis</title>
<methodsynopsis>
<type>array</type><methodname>array</methodname>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
</methodsynopsis>
<para>
Vracia pole parametrov. Parametrom je daný index s operátorom
<literal>=></literal>.
</para>
<para>
<note>
<para>
<function>array</function> je jazykovou kon¹trukciou, ktorá
sa pouu¾íva na reprezentovanie literálneho poµa a nie
regulérnej funkcie.
</para>
</note>
</para>
<para>
Syntax "index => values", oddelený èiarkami, definuje index
a hodnoty. Index mô¾e by» re»azcového alebo èíselného typu. Keï sa
index vynehá, automaticky sa vygeneruje celoèíselný index, poèínajúc
0. Ak je index celoèíselný, ïal¹í vygenerovaný index bude
vaè¹í celoèíselný index + 1. Pozor si dajte na to, keï sú
definované dva identické indexy, lebo posledný prepí¹e prvý.
</para>
<para>
Následujúci príklad demon¹truje ako vytvori» dvoj-dimenzionálne
pole, ako ¹pecifikova» kµúèe pre asociatívne polia a ako
preskoèi»-a-pokraèova» èíselné indície v normálnych poliach.
<example>
<title><function>array</function> príklad</title>
<programlisting role="php">
<![CDATA[
$ovocie = array (
"ovocie" => array ("a"=>"pomaranc", "b"=>"banan", "c"=>"jablko"),
"cisla" => array (1, 2, 3, 4, 5, 6),
"diery" => array ("prva", 5 => "druha", "tretia")
);
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Automatický index s <function>array</function></title>
<programlisting role="php">
<![CDATA[
$pole = array( 1, 1, 1, 1, 1, 8=>1, 4=>1, 19, 3=>13);
print_r($pole);
]]>
</programlisting>
<para>
zobrazí :
<screen role="php">
<![CDATA[
Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 13
[4] => 1
[8] => 1
[9] => 19
)
]]>
</screen>
</para>
</example>
V¹imnite si, ¾e index '3' je definovaný dva-krát a ponecháva si svoju
poslednú hodnotu 13. Index 4 je definovaný po indexe 8 a ïal¹í
vygenerovaný index (hodnota 19) je 9, preto¾e najväè¹í index bol 8.
</para>
<para>
Tento príklad vytvára jednotkovo-zalo¾ené pole
<example>
<title>1-zalo¾ený index s <function>array</function></title>
<programlisting role="php">
<![CDATA[
$prvastvrtina = array(1 => 'Januar', 'Februar', 'Marec');
print_r($prvastvrtina);
]]>
</programlisting>
<para>
zobrazi :
<screen>
<![CDATA[
Array
(
[1] => 'Januar'
[2] => 'Februar'
[3] => 'Marec'
)
]]>
</screen>
</para>
</example>
</para>
<para>
Tie¾ pozri <function>array_pad</function>,
<function>list</function> a <function>range</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
-->