1
0
mirror of https://github.com/php/doc-pl.git synced 2026-03-25 15:42:11 +01:00
Files
archived-doc-pl/reference/array/functions/array-map.xml
Richard Quadling 35ddb289de Reencode XML to UTF-8
git-svn-id: https://svn.php.net/repository/phpdoc/pl/trunk@314597 c90b9560-bf6c-de11-be94-00142212c4b1
2011-08-09 09:34:32 +00:00

236 lines
5.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: n/a Maintainer: leszek Status: ready -->
<!-- $Revision$ -->
<refentry xml:id="function.array-map" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>array_map</refname>
<refpurpose>Wykonuje funkcję zwrotną na elementach podanej tablicy</refpurpose>
</refnamediv>
<refsect1>
<title>Opis</title>
<methodsynopsis>
<type>array</type><methodname>array_map</methodname>
<methodparam><type>callback</type><parameter>funkcja_zwrotna</parameter></methodparam>
<methodparam><type>array</type><parameter>tbl1</parameter></methodparam>
<methodparam choice="opt"><type>array</type><parameter>tbl2...</parameter></methodparam>
</methodsynopsis>
<para>
<function>array_map</function> zwraca tablicę zawierającą wszystkie
elementy tablicy <parameter>tbl1</parameter> po użyciu na każdej z nich
funkcji zwrotnej. Liczba parametrów funkcji zwrotnej powinna być równa
liczbie tablic przekazanych do funkcji <function>array_map</function>.
</para>
<para>
<example>
<title>Przykład użycia <function>array_map</function></title>
<programlisting role="php">
<![CDATA[
function szescian($n)
{
return $n*$n*$n;
}
$a = array(1, 2, 3, 4, 5);
$b = array_map("szescian", $a);
print_r($b);
?>
]]>
</programlisting>
<para>
Zmienna <varname>$b</varname> będzie zawierała:
</para>
<screen>
<![CDATA[
Array
(
[0] => 1
[1] => 8
[2] => 27
[3] => 64
[4] => 125
)
]]>
</screen>
</example>
</para>
<para>
<example>
<title>
<function>array_map</function> - używanie większej ilości tablic
</title>
<programlisting role="php">
<![CDATA[
function pokaz_po_Hiszpansku($n, $m)
{
return "Po Hiszpańsku liczba $n to $m";
}
function mapuj_na_Hiszpanski($n, $m)
{
return array ($n => $m);
}
$a = array(1, 2, 3, 4, 5);
$b = array("uno", "dos", "tres", "cuatro", "cinco");
$c = array_map("pokaz_po_Hiszpansku", $a, $b);
print_r($c);
$d = array_map("mapuj_po_Hiszpansku", $a , $b);
print_r($d);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
// Zmienna $c
Array
(
[0] => Po Hiszpańsku liczba 1 to uno
[1] => Po Hiszpańsku liczba 2 to dos
[2] => Po Hiszpańsku liczba 3 to tres
[3] => Po Hiszpańsku liczba 4 to cuatro
[4] => Po Hiszpańsku liczba 5 to cinco
)
// Zmienna $d
Array
(
[0] => Array
(
[1] => uno
)
[1] => Array
(
[2] => dos
)
[2] => Array
(
[3] => tres
)
[3] => Array
(
[4] => cuatro
)
[4] => Array
(
[5] => cinco
)
)
]]>
</screen>
</example>
</para>
<para>
Zazwyczaj używając dwóch lub więcej tablic, powinny one być równej
długości, ponieważ funkcja zwrotna jest wykonywana na odpowiadających
sobie elementach tablic.
Jeśli tablice są różnych długości, krótsze będą rozszerzane używając
pustych elementów.
</para>
<para>
Interesującym sposobem użycia tej funkcji jest kontruowanie tablicy
tablic, co może być łatwo przeprowadzone przez podanie &null; jako nazwy
funkcji zwrotnej.
</para>
<para>
<example>
<title>Tworzenie tablicy tablic</title>
<programlisting role="php">
<![CDATA[
<?php
$a = array(1, 2, 3, 4, 5);
$b = array("one", "two", "three", "four", "five");
$c = array("uno", "dos", "tres", "cuatro", "cinco");
$d = array("jeden", "dwa", "trzy", "cztery", "pięć");
$e = array_map(null, $a, $b, $c, $d);
print_r($e);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
Array
(
[0] => Array
(
[0] => 1
[1] => one
[2] => uno
[3] => jeden
)
[1] => Array
(
[0] => 2
[1] => two
[2] => dos
[3] => dwa
)
[2] => Array
(
[0] => 3
[1] => three
[2] => tres
[3] => trzy
)
[3] => Array
(
[0] => 4
[1] => four
[2] => cuatro
[3] => cztery
)
[4] => Array
(
[0] => 5
[1] => five
[2] => cinco
[3] => pięć
)
)
]]>
</screen>
</example>
</para>
<para>
Patrz także: <function>array_filter</function>,
<function>array_reduce</function>, <function>array_walk</function>,
<function>create_function</function> i &seealso.callback;.
</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
-->