tom Thu Feb 28 13:21:42 2002 EDT Modified files: /phpdoc/de/functions array.xml Log: file is actual again
Index: phpdoc/de/functions/array.xml diff -u phpdoc/de/functions/array.xml:1.32 phpdoc/de/functions/array.xml:1.33 --- phpdoc/de/functions/array.xml:1.32 Sat Feb 2 10:33:57 2002 +++ phpdoc/de/functions/array.xml Thu Feb 28 13:21:42 2002 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="iso-8859-1"?> -<!-- EN-Revision: 1.126 Maintainer: tom Status: ready --> +<!-- EN-Revision: 1.161 Maintainer: tom Status: ready --> <reference id="ref.array"> <title>Array Funktionen</title> <titleabbrev>Arrays</titleabbrev> @@ -26,7 +26,7 @@ <para> Siehe auch <function>is_array</function>, <function>explode</function>, <function>implode</function>, - <function>split</function> und <function>join</function>. + <function>split</function>, und <function>join</function>. </para> </partintro> @@ -50,7 +50,7 @@ <para> <note> <para> - <function>array</function> ist keine richtige Funktion sondern ein + <function>array</function> ist keine richtige Funktion sondern ein Sprachkonstrukt, das zur Erzeugung eines Wertefeldes genutzt wird. </para> </note> @@ -65,9 +65,9 @@ Indexe definiert sind, der letzte den ersten überschreibt. </para> <para> - Das folgende Beispiel zeigt wie man ein zweidimensionales Array - erstellt, wie man Schlüssel für assoziative Arrays festlegt, und - wie man numerische Indizes in normalen Arrays überspringt und + Das folgende Beispiel zeigt wie man ein zweidimensionales Array + erstellt, wie man Schlüssel für assoziative Arrays festlegt, und + wie man numerische Indizes in normalen Arrays überspringt und fortsetzt. <example> <title><function>array</function></title> @@ -92,7 +92,7 @@ ]]> </programlisting> <para> - wird folgendes anzeigen: + wird folgendes anzeigen: <screen role="php"> <![CDATA[ Array @@ -109,9 +109,9 @@ </screen> </para> </example> - Beachten Sie, dass Index '3' doppelt definiert ist, und den letzten - definierten Wert 13 behält. Index 4 wurde nach dem Index 8 definiert, - und der nächste generierte Index (Wert 19) ist 9, da der größte Index + Beachten Sie, dass Index '3' doppelt definiert ist, und den letzten + definierten Wert 13 behält. Index 4 wurde nach dem Index 8 definiert, + und der nächste generierte Index (Wert 19) ist 9, da der größte Index 8 war. </para> <para> @@ -125,10 +125,10 @@ ]]> </programlisting> <para> - wird folgendes ausgeben: + wird folgendes ausgeben: <screen> <![CDATA[ -Array +Array ( [1] => 'Januar' [2] => 'Februar' @@ -140,7 +140,8 @@ </example> </para> <para> - Siehe auch: <function>list</function>. + Siehe auch <function>array_pad</function>, + <function>list</function>, und <function>range</function>. </para> </refsect1> </refentry> @@ -160,11 +161,11 @@ <methodparam choice="opt"><type>int</type><parameter>case</parameter></methodparam> </methodsynopsis> <para> - <function>array_change_key_case</function> wandelt die Schlüssel des + <function>array_change_key_case</function> wandelt die Schlüssel des Arrays <parameter>input</parameter> in Klein- bzw. Großbuchstaben um. - Die Richtung der Umwandlung wird mit dem optionalen Parameter - <parameter>case</parameter> festgelegt, mit dem die zwei Konstanten - <constant>CASE_UPPER</constant> und <constant>CASE_LOWER</constant> + Die Richtung der Umwandlung wird mit dem optionalen Parameter + <parameter>case</parameter> festgelegt, mit dem die zwei Konstanten + <constant>CASE_UPPER</constant> und <constant>CASE_LOWER</constant> übergeben werden können. Default ist <constant>CASE_LOWER</constant>. Diese Funktion lässt die numerischen Indizes unverändert. </para> @@ -213,9 +214,9 @@ und beginnend numerisch indiziert ist. </para> <para> - Sie können PHP dazu zwingen, die originalen Schlüssel des - Arrays input beizubehalten, indem Sie den optionalen Parameter - <parameter>preserve_keys</parameter> auf &true; setzen. Geben + Sie können PHP dazu zwingen, die originalen Schlüssel des + Arrays input beizubehalten, indem Sie den optionalen Parameter + <parameter>preserve_keys</parameter> auf &true; setzen. Geben Sie &false; an, werden in jedem erzeugten Array neue numerische Indizes erzeugt, welche bei Null beginnen. Default ist &false;. </para> @@ -301,10 +302,23 @@ <programlisting role="php"> <![CDATA[ $array = array (1, "hello", 1, "world", "hello"); -array_count_values ($array); // liefert array (1=>2, "hello"=>2, "world"=>1) +print_r(array_count_values ($array)); ]]> </programlisting> - </example> + <para> + Wird folgendes ausgeben: + <screen> +<![CDATA[ +Array +( + [1] => 2 + [hello] => 2 + [world] => 1 +) +]]> + </screen> + </para> + </example> </para> </refsect1> </refentry> @@ -323,8 +337,8 @@ <methodparam choice="opt"><type>array</type><parameter> ...</parameter></methodparam> </methodsynopsis> <para> - <function>array_diff</function> gibt ein Array mit allen Werten von - <parameter>array1</parameter>, welche in keinem der anderen Argumente + <function>array_diff</function> gibt ein Array mit allen Werten von + <parameter>array1</parameter>, welche in keinem der anderen Argumente enthalten sind, zurück. Beachten Sie, dass Schlüssel erhalten bleiben. </para> <para> @@ -338,7 +352,7 @@ ]]> </programlisting> </example> - </para> + </para> <para> Dies speichert <literal>array("blau");</literal> in <varname>$result</varname>. Mehrfache Vorkommen in $array1 @@ -388,31 +402,50 @@ <title><function>array_filter</function></title> <programlisting role="php"> <![CDATA[ -function ungerade($var) { +function odd($var) { return ($var % 2 == 1); } -function gerade($var) { - return ($var % 2 == 0); +function even($var) { + return ($var % 2 == 0); } $array1 = array ("a"=>1, "b"=>2, "c"=>3, "d"=>4, "e"=>5); $array2 = array (6, 7, 8, 9, 10, 11, 12); -$ungerade_arr = array_filter($array1, "ungerade"); -$gerade_arr = array_filter($array2, "gerade"); +echo "Odd :\n"; +print_r(array_filter($array1, "odd")); +echo "Even:\n"; +print_r(array_filter($array2, "even")); ]]> </programlisting> + <para> + Wird folgendes ausgeben: + <screen role="php"> +<![CDATA[ +Odd : +Array +( + [a] => 1 + [c] => 3 + [e] => 5 +) +Even: +Array +( + [0] => 6 + [2] => 8 + [4] => 10 + [6] => 12 +) +]]> + </screen> + </para> </example> - </para> - <para> - Dies speichert <literal>array ("a"=>1, "c"=>3, - "e"=>5);</literal> in <varname>$ungerade_arr</varname>, und - <literal>array (6, 8, 10, 12);</literal> in - <varname>$gerade_arr</varname>. </para> + ¬e.func-callback; <para> - Siehe auch <function>array_map</function>, + Siehe auch <function>array_map</function> und <function>array_reduce</function>. </para> </refsect1> @@ -421,9 +454,7 @@ <refentry id="function.array-flip"> <refnamediv> <refname>array_flip</refname> - <refpurpose> - Vertauscht Werte und Schlüssel in einem Array - </refpurpose> + <refpurpose>Vertauscht Werte und Schlüssel in einem Array</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> @@ -432,15 +463,15 @@ <methodparam><type>array</type><parameter>trans</parameter></methodparam> </methodsynopsis> <para> - <function>array_flip</function> Gibt ein <type>Array</type> in + <function>array_flip</function> Gibt ein <type>Array</type> in umgekehrter Reihenfolge zurück, d.h. Schlüssel von <parameter>trans</parameter> werden Werte, und umgekehrt werden - die Werte zu Schlüsseln. + die Werte zu Schlüsseln. </para> <para> Beachten Sie, dass die Werte von <parameter>trans</parameter> gültige Schlüssel sein müssen, z.B. haben sie entweder <type>integer</type> - oder <type>string</type> zu sein. Ist ein Wert vom falschen Typ wird + oder <type>string</type> zu sein. Ist ein Wert vom falschen Typ wird eine Warnung ausgegeben, und das Schlüssel/Werte-Paar <emphasis>wird nicht vertauscht</emphasis>. </para> @@ -450,7 +481,7 @@ verloren. </para> <para> - <function>array_flip</function> gibt im Fehlerfall + <function>array_flip</function> gibt im Fehlerfall &false; zurück. </para> <para> @@ -468,10 +499,24 @@ <example> <title><function>array_flip</function> Beispiel: Kollision</title> <programlisting role="php"> +<![CDATA[ $trans = array ("a" => 1, "b" => 1, "c" => 2); $trans = array_flip ($trans); -// nun enthält $trans : array(1 => "b", 2 => "c"); +print_r($trans); +]]> </programlisting> + <para> + Nun ist $trans: + <screen> +<![CDATA[ +Array +( + [1] => b + [2] => c +) +]]> + </screen> + </para> </example> </para> </refsect1> @@ -491,9 +536,9 @@ <methodparam><type>mixed</type><parameter>value</parameter></methodparam> </methodsynopsis> <para> - <function>array_fill</function> füllt ein Array mit - <parameter>num</parameter> Einträgen des Wertes des - <parameter>value</parameter> Parameters. Die Indizes des Arrays + <function>array_fill</function> füllt ein Array mit + <parameter>num</parameter> Einträgen des Wertes des + <parameter>value</parameter> Parameters. Die Indizes des Arrays beginnen mit dem <parameter>start_index</parameter> Parameter. </para> <para> @@ -501,21 +546,26 @@ <title><function>array_fill</function></title> <programlisting role="php"> <![CDATA[ -$a = array_fill(5, 6, 'Banane'); - -/* -$a hat nun die folgenden Einträge: - -$a[5] = "Banane"; -$a[6] = "Banane"; -$a[7] = "Banane"; -$a[8] = "Banane"; -$a[9] = "Banane"; -$a[10] = "Banane"; -*/ +$a = array_fill(5, 6, 'banana'); ]]> </programlisting> - </example> + <para> + $a würde mit <function>print_r</function> folgende Inhalte ausgeben: + <screen> +<![CDATA[ +Array +( + [5] => banana + [6] => banana + [7] => banana + [8] => banana + [9] => banana + [10] => banana +) +]]> + </screen> + </para> + </example> </para> </refsect1> </refentry> @@ -531,29 +581,37 @@ <type>array</type><methodname>array_intersect</methodname> <methodparam><type>array</type><parameter>array1</parameter></methodparam> <methodparam><type>array</type><parameter>array2</parameter></methodparam> - <methodparam choice="opt"><type>array</type><parameter>...</parameter></methodparam> + <methodparam choice="opt"><type>array</type><parameter> +...</parameter></methodparam> </methodsynopsis> <para> <function>array_intersect</function> gibt ein Array mit allen Werten - von <parameter>array1</parameter>, die auch in allen anderen - Argumenten enthalten sind, zurück. Beachten Sie, dass die Schlüssel - erhalten bleiben. + von <parameter>array1</parameter>, die auch in allen anderen + Argumenten enthalten sind, zurück. Beachten Sie, dass die Schlüssel + erhalten bleiben. </para> <para> <example> <title><function>array_intersect</function> Beispiel</title> <programlisting role="php"> <![CDATA[ -$array1 = array ("a" => "grün", "rot", "blau"); -$array2 = array ("b" => "grün", "gelb", "rot"); +$array1 = array ("a" => "green", "red", "blue"); +$array2 = array ("b" => "green", "yellow", "red"); $result = array_intersect ($array1, $array2); ]]> </programlisting> + <para> + Danach enthält <varname>$result</varname> + <screen role="php"> +<![CDATA[ +Array +( + [a] => green + [0] => red +) +]]> + </screen> + </para> </example> - </para> - <para> - Dies speichert <literal>array ("a" => "grün", "rot");</literal> in - <varname>$result</varname> </para> <note> <simpara> @@ -587,8 +645,8 @@ </methodsynopsis> <para> <function>array_key_exists</function> gibt &true; zurück, wenn - <parameter>key</parameter> in dem Array vorhanden ist. - <parameter>key</parameter> kann jeder für einen Array-Index + <parameter>key</parameter> in dem Array vorhanden ist. + <parameter>key</parameter> kann jeder für einen Array-Index mögliche Wert sein. </para> <para> @@ -606,7 +664,8 @@ </para> <note> <simpara> - Diese Funktion wurde mit PHP 4.0.6 eingeführt. + Der Name dieser Funktion ist in PHP 4.0.6 + <function>key_exists</function>. </simpara> </note> <para> @@ -630,13 +689,13 @@ </parameter></methodparam> </methodsynopsis> <para> - <function>array_keys</function> gibt die Schlüssel (numerisch und + <function>array_keys</function> gibt die Schlüssel (numerisch und String) des Arrays <parameter>input</parameter> zurück. </para> <para> - Ist der optionale Parameter <parameter>search_value</parameter> - angegeben, werden nur die Schlüssel für diesen Wert zurückgegeben. - Andernfalls werden all Schlüssel von <parameter>input</parameter> + Ist der optionale Parameter <parameter>search_value</parameter> + angegeben, werden nur die Schlüssel für diesen Wert zurückgegeben. + Andernfalls werden all Schlüssel von <parameter>input</parameter> zurückgegeben. </para> <para> @@ -644,26 +703,49 @@ <title><function>array_keys</function></title> <programlisting role="php"> <![CDATA[ -$array = array (0 => 100, "farbe" => "rot"); -array_keys ($array); // liefert array (0, "farbe") +$array = array (0 => 100, "color" => "red"); +print_r(array_keys ($array)); -$array = array ("blau", "rot", "grün", "blau", "blau"); -array_keys ($array, "blau"); // liefert array (0, 3, 4) +$array = array ("blue", "red", "green", "blue", "blue"); +print_r(array_keys ($array, "blue")); -$array = array ("farbe" => array("blau", "rot", "grün"), "grösse" => array("klein", "mittel", "gross")); -array_keys ($array); // liefert array ("farbe", "grösse") +$array = array ("color" => array("blue", "red", "green"), "size" => array("small", +"medium", "large")); +print_r(array_keys ($array)); ]]> </programlisting> + <para> + würde folgendes ausgeben: + <screen> +<![CDATA[ +Array +( + [0] => 0 + [1] => color +) +Array +( + [0] => 0 + [1] => 3 + [2] => 4 +) +Array +( + [0] => color + [1] => size +) +]]> + </screen> + </para> </example> </para> <note> <para> - Diese Funktion wurde in PHP 4 eingeführt, nachstehend finden Sie eine + Diese Funktion wurde in PHP 4 eingeführt, nachstehend finden Sie eine Implementierung für Benutzer von PHP 3. <example> <title> - Implementierung von <function>array_keys</function> für - Benutzer von PHP 3: + Implementierung von <function>array_keys</function> für + Benutzer von PHP 3: </title> <programlisting role="php"> <![CDATA[ @@ -672,10 +754,10 @@ while (list($k,$v) = each($arr)) { if ($term && $v != $term) { continue; - $t[] = $k; } - return $t; + $t[] = $k; } + return $t; } ]]> </programlisting> @@ -706,8 +788,8 @@ <para> <function>array_map</function> gibt ein Array mit allen Elementen von <parameter>arr1</parameter> zurück, nachdem die Callback-Funktion auf - jedes einzelne Element angewandt wurde. Die Anzahl Parameter, welche - Callback-Funktion akzeptiert, sollte der Anzahl der an + jedes einzelne Element angewandt wurde. Die Anzahl Parameter, welche + Callback-Funktion akzeptiert, sollte der Anzahl der an <function>array_map</function> übergebenen Arrays entsprechen. </para> <para> @@ -721,15 +803,27 @@ $a = array(1, 2, 3, 4, 5); $b = array_map("cube", $a); +print_r($b); ]]> </programlisting> + <para> + Dies speichert in <varname>$b</varname>: + <screen> +<![CDATA[ +Array +( + [0] => 1 + [1] => 8 + [2] => 27 + [3] => 64 + [4] => 125 +) +]]> + </screen> + </para> </example> </para> <para> - Dies speichert <literal>array (1, 8, 27, 64, 125);</literal> - in <varname>$b</varname>. - </para> - <para> <example> <title> <function>array_map</function> - Verwendung mehrerer Arrays @@ -737,7 +831,7 @@ <programlisting role="php"> <![CDATA[ function show_Spanish($n, $m) { - return "Die Zahl $n heißt auf Spanisch $m"; + return "The number $n is called $m in Spanish"; } function map_Spanish($n, $m) { @@ -748,54 +842,58 @@ $b = array("uno", "dos", "tres", "cuatro", "cinco"); $c = array_map("show_Spanish", $a, $b); - print_r($c); -// will output: -// Array -// ( -// [0] => Die Zahl 1 heißt auf Spanisch uno -// [1] => Die Zahl 2 heißt auf Spanisch dos -// [2] => Die Zahl 3 heißt auf Spanisch tres -// [3] => Die Zahl 4 heißt auf Spanisch cuatro -// [4] => Die Zahl 5 heißt auf Spanisch cinco -// ) - $d = array_map("map_Spanish", $a , $b); - print_r($d); - -// will output: -// Array -// ( -// [0] => Array -// ( -// [1] => uno -// ) -// -// [1] => Array -// ( -// [2] => dos -// ) -// -// [2] => Array -// ( -// [3] => tres -// ) -// -// [3] => Array -// ( -// [4] => cuatro -// ) -// -// [4] => Array -// ( -// [5] => cinco -// ) -// -// ) ]]> </programlisting> + <para> + Dies resultiert in: + <screen> +<![CDATA[ +// Ausgabe von $c +Array +( + [0] => The number 1 is called uno in Spanish + [1] => The number 2 is called dos in Spanish + [2] => The number 3 is called tres in Spanish + [3] => The number 4 is called cuatro in Spanish + [4] => The number 5 is called cinco in Spanish +) + +// Ausgabe von $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> @@ -821,51 +919,56 @@ $d = array_map(null, $a, $b, $c); print_r($d); - -// will output: -// Array -// ( -// [0] => Array -// ( -// [0] => 1 -// [1] => one -// [2] => uno -// ) -// -// [1] => Array -// ( -// [0] => 2 -// [1] => two -// [2] => dos -// ) -// -// [2] => Array -// ( -// [0] => 3 -// [1] => three -// [2] => tres -// ) -// -// [3] => Array -// ( -// [0] => 4 -// [1] => four -// [2] => cuatro -// ) -// -// [4] => Array -// ( -// [0] => 5 -// [1] => five -// [2] => cinco -// ) -// -// ) ]]> </programlisting> </example> </para> <para> + Würde folgendes ausgeben: + <screen> +<![CDATA[ +Array +( + [0] => Array + ( + [0] => 1 + [1] => one + [2] => uno + ) + + [1] => Array + ( + [0] => 2 + [1] => two + [2] => dos + ) + + [2] => Array + ( + [0] => 3 + [1] => three + [2] => tres + ) + + [3] => Array + ( + [0] => 4 + [1] => four + [2] => cuatro + ) + + [4] => Array + ( + [0] => 5 + [1] => five + [2] => cinco + ) + +) +]]> + </screen> + </para> + <para> Siehe auch <function>array_filter</function> und <function>array_reduce</function>. </para> @@ -903,18 +1006,31 @@ <title><function>array_merge</function></title> <programlisting role="php"> <![CDATA[ -$array1 = array ("farbe" => "rot", 2, 4); -$array2 = array ("a", "b", "farbe" => "grün", "form" => "trapezoid", 4); -array_merge ($array1, $array2); +$array1 = array ("color" => "red", 2, 4); +$array2 = array ("a", "b", "color" => "green", "shape" => "trapezoid", 4); +$result = array_merge ($array1, $array2); ]]> </programlisting> + <para> + The <literal>$result</literal> will be: + <screen role="php"> +<![CDATA[ +Array +( + [color] => green + [0] => 2 + [1] => 4 + [2] => a + [3] => b + [shape] => trapezoid + [4] => 4 +) +]]> + </screen> + </para> </example> </para> <para> - Das resultierende Array wird <literal>array("farbe" => "grün", - 2, 4, "a", "b", "form" => "trapezoid", 4)</literal>. - </para> - <para> Siehe auch <function>array_merge_recursive</function>. </para> </refsect1> @@ -958,14 +1074,32 @@ $result = array_merge_recursive ($ar1, $ar2); ]]> </programlisting> + <para> + The <literal>$result</literal> will be: + <screen role="php"> +<![CDATA[ +Array +( + [color] => Array + ( + [favorite] => Array + ( + [0] => red + [1] => green + ) + + [0] => blue + ) + + [0] => 5 + [1] => 10 +) +]]> + </screen> + </para> </example> </para> <para> - Resulting array will be <literal>array ("color" => array - ("favorite" => array ("red", "green"), "blue"), 5, - 10)</literal>. - </para> - <para> See also <function>array_merge</function>. </para> </refsect1> @@ -974,9 +1108,7 @@ <refentry id="function.array-multisort"> <refnamediv> <refname>array_multisort</refname> - <refpurpose> - Sortiert mehrere oder multidimensionale Arrays - </refpurpose> + <refpurpose>Sortiert mehrere oder multidimensionale Arrays</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> @@ -1003,7 +1135,7 @@ </para> <para> Die Struktur der Argumente ist etwas ungewöhnlich, aber - flexibel. Das allererste Argument muss ein Array sein. Die + flexibel. Das aller erste Argument muss ein Array sein. Die nachfolgenden Argumente können entweder ein Array oder eines der folgenden Sortierflags sein. </para> @@ -1044,7 +1176,7 @@ zurückgesetzt. </para> <para> - Liefert bei Erfolg &true;, und im Fehlerfall + Liefert bei Erfolg &true;, und im Fehlerfall &false;. </para> <para> @@ -1072,7 +1204,7 @@ <programlisting role="php"> <![CDATA[ $ar = array (array ("10", 100, 100, "a"), array (1, 3, "2", 1)); -array_multisort ($ar[0], SORT_ASC, SORT_STRING, +array_multisort ($ar[0], SORT_ASC, SORT_STRING, $ar[1], SORT_NUMERIC, SORT_DESC); ]]> </programlisting> @@ -1158,19 +1290,30 @@ <title><function>array_pop</function></title> <programlisting role="php"> <![CDATA[ -$stack = array ("Orange", "Apfel", "Himbeere"); -$frucht = array_pop ($stack); +$stack = array ("orange", "banana", "apple", "raspberry"); +$fruit = array_pop ($stack); ]]> </programlisting> + <para> + Danach hat <varname>$stack</varname> nur 3 Elemente: + <screen role="php"> +<![CDATA[ +Array +( + [0] => orange + [1] => banana + [2] => apple +) +]]> + </screen> + und <literal>rasberry</literal> wird <varname>$fruit</varname> + zugewiesen. + </para> </example> </para> + &return.falseproblem; <para> - Danach hat <varname>$stack</varname> nur 2 Elemente: - "Orange" und "Apfel", und <varname>$frucht</varname> enthält - "Himbeere". - </para> - <para> - Seihe auch <function>array_push</function>, + Siehe auch <function>array_push</function>, <function>array_shift</function>, und <function>array_unshift</function>. </para> @@ -1214,18 +1357,29 @@ <title><function>array_push</function></title> <programlisting role="php"> <![CDATA[ -$stack = array (1, 2); -array_push ($stack, "+", 3); +$stack = array ("orange", "banana"); +array_push ($stack, "apple", "raspberry"); ]]> </programlisting> + <para> + Danach enthält <varname>$stack</varname> + die folgenden Elemente: + <screen role="php"> +<![CDATA[ +Array +( + [0] => orange + [1] => banana + [2] => apple + [3] => raspberry +) +]]> + </screen> + </para> </example> </para> <para> - Nach diesem Beispiel hat <varname>$stack</varname> 4 Elemente: - 1, 2, "+", and 3. - </para> - <para> - Siehe auch: <function>array_pop</function>, + Siehe auch <function>array_pop</function>, <function>array_shift</function>, und <function>array_unshift</function>. </para> @@ -1283,7 +1437,7 @@ </para> </refsect1> </refentry> - + <refentry id="function.array-reverse"> <refnamediv> <refname>array_reverse</refname> @@ -1310,20 +1464,47 @@ <title><function>array_reverse</function></title> <programlisting role="php"> <![CDATA[ -$input = array ("php", 4.0, array ("green", "red")); +$input = array ("php", 4.0, array ("green", "red")); $result = array_reverse ($input); $result_keyed = array_reverse ($input, TRUE); ]]> </programlisting> + <para> + Danach haben <varname>$result</varname> und + <varname>$result_keyed</varname> die gleichen Elemente, aber + Beachten Sie den Unterschied zwischen den Schlüsseln. Die + Ausgabe von <varname>$result</varname> und + <varname>$result_keyed</varname> wird wie folgt aussehen: + <screen role="php"> +<![CDATA[ +Array +( + [0] => Array + ( + [0] => green + [1] => red + ) + + [1] => 4 + [2] => php +) +Array +( + [2] => Array + ( + [0] => green + [1] => red + ) + + [1] => 4 + [0] => php +) +]]> + </screen> + </para> + </example> </para> - <para> - Dies speichert in <varname>$result</varname> und - <varname>$result_keyed</varname> <literal>array(array ("green", - "red"), 4.0, "php")</literal>, allerdings ist - <varname>$result_keyed[0]</varname> noch immer - <literal>"php"</literal>. - </para> <note> <para> Der zweite Parameter wurde in PHP 4.0.3 hinzugefügt. @@ -1382,12 +1563,12 @@ </example> </para> <para> - Hier enthält <varname>$b</varname> <literal>15</literal>, - <varname>$c</varname> <literal>1200</literal> (= 1*2*3*4*5*10), + Hier enthält <varname>$b</varname> <literal>15</literal>, + <varname>$c</varname> <literal>1200</literal> (= 1*2*3*4*5*10), und <varname>$d</varname> enthält <literal>1</literal>. </para> <para> - Siehe auch <function>array_filter</function>, + Siehe auch <function>array_filter</function> und <function>array_map</function>. </para> </refsect1> @@ -1418,19 +1599,30 @@ <title><function>array_shift</function></title> <programlisting role="php"> <![CDATA[ -$args = array ("-v", "-f"); -$opt = array_shift ($args); +$stack = array ("orange", "banana", "apple", "raspberry"); +$fruit = array_shift ($stack); ]]> </programlisting> + <para> + Danach blieben in <varname>$stack</varname> 3 Elemente übrig: + <screen role="php"> +<![CDATA[ +Array +( + [0] => banana + [1] => apple + [2] => raspberry +) +]]> + </screen> + und <literal>orange</literal> wird + <varname>$fruit</varname> zugeordnet. + </para> </example> </para> <para> - Hier enthält <varname>$args</varname> noch das Element "-f", - und <varname>$opt</varname> enthält "-v". - </para> - <para> Siehe auch <function>array_unshift</function>, - <function>array_push</function>, and + <function>array_push</function>, und <function>array_pop</function>. </para> </refsect1> @@ -1452,16 +1644,16 @@ </parameter></methodparam> </methodsynopsis> <para> - <function>array_slice</function> liefert eine mittels - <parameter>offset</parameter> und <parameter>length</parameter> - spezifizierte Sequenz von Elementen des Arrays - <parameter>array</parameter> + <function>array_slice</function> liefert die mittels + <parameter>offset</parameter> und <parameter>length</parameter> + spezifizierte Sequenz von Elementen des Arrays + <parameter>array</parameter> </para> <para> - Ist <parameter>offset</parameter> positiv, beginnt die Sequenz bei - diesem Offset in dem <parameter>array</parameter>. Ist - <parameter>offset</parameter> negativ, beginnt die Sequenz - <parameter>offset</parameter> Elemente vor dem Ende von + Ist <parameter>offset</parameter> positiv, beginnt die Sequenz bei + diesem Offset in dem <parameter>array</parameter>. Ist + <parameter>offset</parameter> negativ, beginnt die Sequenz + <parameter>offset</parameter> Elemente vor dem Ende von <parameter>array</parameter>. </para> <para> @@ -1475,23 +1667,28 @@ Ende von <parameter>array</parameter>. </para> <para> + Beachten Sie, dass <function>array_slice</function> Schlüssel + ignoriert, und Offsets sowie Längen anhand der aktuellen + Positionen berechnet. + </para> + <para> <example> <title><function>array_slice</function></title> <programlisting role="php"> <![CDATA[ $input = array ("a", "b", "c", "d", "e"); -$output = array_slice ($input, 2); // liefert "c", "d", and "e" +$output = array_slice ($input, 2); // liefert "c", "d", und "e" $output = array_slice ($input, 2, -1); // liefert "c", "d" $output = array_slice ($input, -2, 1); // liefert "d" -$output = array_slice ($input, 0, 3); // liefert "a", "b", and "c" +$output = array_slice ($input, 0, 3); // liefert "a", "b", und "c" ]]> </programlisting> </example> </para> <para> Siehe auch <function>array_splice</function>. - </para> + </para> </refsect1> </refentry> @@ -1519,8 +1716,8 @@ <parameter>offset</parameter> und <parameter>length</parameter> angegebenen Elemente des Arrays <parameter>input</parameter>, und ersetzt diese durch die Elemente des Arrays - <parameter>replacement</parameter>, wenn angegeben und gibt die - entfernten Elemente zurück. + <parameter>replacement</parameter>, wenn angegeben und gibt ein + Array mit den entfernten Elemente zurück. </para> <para> Ist <parameter>offset</parameter> positiv, beginnt der zu @@ -1558,7 +1755,7 @@ Hier einige Entsprechungen: <programlisting role="php"> <![CDATA[ -array_push ($input, $x, $y) array_splice ($input, count ($input), 0, +array_push ($input, $x, $y) array_splice ($input, count ($input), 0, array ($x, $y)) array_pop ($input) array_splice ($input, -1) array_shift ($input) array_splice ($input, 0, 1) @@ -1568,11 +1765,11 @@ </programlisting> </para> <para> - Returns the array consisting of removed elements. + Gibt das Array mit den entfernten Elementen zurück. </para> <para> <example> - <title><function>array_splice</function> Beispiele</title> + <title><function>array_splice</function></title> <programlisting role="php"> <![CDATA[ $input = array ("rot", "grün", "blau", "gelb"); @@ -1584,11 +1781,11 @@ // $input ist nun array ("rot", "gelb") $input = array ("rot", "grün", "blau", "gelb"); -array_splice ($input, 1, count($input), "orange"); +array_splice ($input, 1, count($input), "orange"); // $input ist nun array ("rot", "orange") $input = array ("rot", "grün", "blau", "gelb"); -array_splice ($input, -1, 1, array("schwarz", "braun")); +array_splice ($input, -1, 1, array("schwarz", "braun")); // $input ist nun array ("rot", "grün", "blau", "schwarz", "braun") ]]> </programlisting> @@ -1599,7 +1796,7 @@ </para> </refsect1> </refentry> - + <refentry id="function.array-sum"> <refnamediv> <refname>array_sum</refname> @@ -1611,10 +1808,10 @@ <title>Beschreibung</title> <methodsynopsis> <type>mixed</type><methodname>array_sum</methodname> - <methodparam><type>array</type><parameter>arr</parameter></methodparam> + <methodparam><type>array</type><parameter>array</parameter></methodparam> </methodsynopsis> <para> - <function>array_sum</function> liefert die Summe der Werte eines + <function>array_sum</function> liefert die Summe der Werte eines Arrays als Integer oder Float. </para> <para> @@ -1624,15 +1821,29 @@ <![CDATA[ $a = array(2, 4, 6, 8); echo "sum(a) = ".array_sum($a)."\n"; -// Ausgabe: sum(a) = 20 $b = array("a"=>1.2,"b"=>2.3,"c"=>3.4); echo "sum(b) = ".array_sum($b)."\n"; -// Ausgabe: sum(b) = 6.9 ]]> </programlisting> + <para> + Obiges Programm wird folgendes ausgeben: + <screen role="php"> +<![CDATA[ +sum(a) = 20 +sum(b) = 6.9 +]]> + </screen> + </para> </example> </para> + <note> + <para> + PHP Versionen vor 4.0.6 haben das übergebene Array selbst + modifiziert, und Strings in Zahlen konvertiert (welche + abhängig von deren Wert meist zu null konvertiert wurden). + </para> + </note> </refsect1> </refentry> @@ -1653,10 +1864,12 @@ dem alle doppelten Einträge entfernt wurden. </para> <para> - Beachten Sie, dass Schlüssel erhalten bleiben. - <function>array_unique</function> erhält den ersten gefundenen - Schlüssel, für jeden Wert, und ignoriert alle folgenden - Schlüssel. + Beachten Sie, dass Schlüssel bewahrt bleiben. Erst behandelt + <function>array_unique</function> die Werte als Strings und sortiert + sie, danach wird der erste gefundene Schlüssel behalten, und alle + folgenden Schlüssel ignoriert. Das heißt nicht, dass der Schlüssel + des ersten zugehörigen Wertes aus dem unsortierten + <parameter>array</parameter> behalten wird. </para> <note> <simpara> @@ -1678,18 +1891,24 @@ <title><function>array_unique</function> example</title> <programlisting role="php"> <![CDATA[ -$input = array ("a" => "grün", "rot", "b" => "grün", "blau", "rot"); +$input = array ("a" => "green", "red", "b" => "green", "blue", "red"); $result = array_unique ($input); print_r($result); -// this will output : -//Array -//( -// [a] => grün -// [0] => rot -// [1] => blau -//) ]]> </programlisting> + <para> + Dieses Programm wird folgendes ausgeben: + <screen role="php"> +<![CDATA[ +Array +( + [b] => green + [1] => blue + [2] => red +) +]]> + </screen> + </para> </example> </para> <para> @@ -1700,17 +1919,21 @@ $input = array (4,"4","3",4,3,"3"); $result = array_unique ($input); var_dump($result); - -/* output: +]]> + </programlisting> + <para> + Dieses Programm wird folgendes ausgeben (PHP 4.0.6): + <screen role="php"> +<![CDATA[ array(2) { - [0]=> - int(4) - [1]=> - string(1) "3" + [3]=> + int(4) + [4]=> + int(3) } -*/ ]]> - </programlisting> + </screen> + </para> </example> </para> </refsect1> @@ -1748,17 +1971,28 @@ <title><function>array_unshift</function></title> <programlisting role="php"> <![CDATA[ -$queue = array ("p1", "p3"); -array_unshift ($queue, "p4", "p5", "p6"); +$queue = array ("orange", "banana"); +array_unshift ($queue, "apple", "raspberry"); ]]> </programlisting> + <para> + Als ERgebnis enthält <varname>$queue</varname> + die folgenden Elemente: + <screen role="php"> +<![CDATA[ +Array +( + [0] => apple + [1] => raspberry + [2] => orange + [3] => banana +) +]]> + </screen> + </para> </example> </para> <para> - Als Ergebnis enthält <varname>$queue</varname> nun 5 - Elemente: "p4", "p5", "p6", "p1", and "p3". - </para> - <para> Siehe auch <function>array_shift</function>, <function>array_push</function>, und <function>array_pop</function>. @@ -1778,7 +2012,7 @@ <methodparam><type>array</type><parameter>input</parameter></methodparam> </methodsynopsis> <para> - <function>array_values</function> liefert alle Werte des Arrays + <function>array_values</function> liefert alle Werte des Arrays <parameter>input</parameter>. </para> <para> @@ -1787,9 +2021,21 @@ <programlisting role="php"> <![CDATA[ $array = array ("size" => "XL", "color" => "gold"); -array_values ($array); // Liefert array ("XL", "gold") +print_r(array_values ($array)); ]]> </programlisting> + <para> + Dies wird folgendes ausgeben: + <screen role="php"> +<![CDATA[ +Array +( + [0] => XL + [1] => gold +) +]]> + </screen> + </para> </example> </para> <note> @@ -1815,6 +2061,9 @@ </example> </para> </note> + <para> + Siehe auch <function>array_keys</function>. + </para> </refsect1> </refentry> @@ -1829,7 +2078,7 @@ <title>Beschreibung</title> <methodsynopsis> <type>int</type><methodname>array_walk</methodname> - <methodparam><type>array</type><parameter>arr</parameter></methodparam> + <methodparam><type>array</type><parameter>array</parameter></methodparam> <methodparam><type>string</type><parameter>func</parameter></methodparam> <methodparam choice="opt"><type>mixed</type><parameter>userdata</parameter></methodparam> </methodsynopsis> @@ -1847,6 +2096,7 @@ eigene Funktion damit erstellen, und diese Funktion als Argument übergeben. </simpara> + ¬e.func-callback; <simpara> Sollte <parameter>func</parameter> mehr als zwei oder drei Argumente verlangen, wird - abhängig von @@ -1866,6 +2116,10 @@ Dann werden alle Änderungen an diesen Elementen direkt in dem selbst durchgeführt. </para> + <para> + Die Modifizierung des Arrays aus <parameter>func</parameter> + heraus könnte ein unvorhersehbares Verhalten hervorrufen. + </para> </note> <note> <para> @@ -1884,7 +2138,7 @@ <title><function>array_walk</function></title> <programlisting role="php"> <![CDATA[ -$fruits = array ("d"=>"Zitrone", "a"=>"Orange", "b"=>"Banane", "c"=>"Apfel"); +$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple"); function test_alter (&$item1, $key, $prefix) { $item1 = "$prefix: $item1"; @@ -1893,14 +2147,32 @@ function test_print ($item2, $key) { echo "$key. $item2<br>\n"; } - +echo "Before ...:\n"; array_walk ($fruits, 'test_print'); reset ($fruits); array_walk ($fruits, 'test_alter', 'fruit'); +echo "... and after:\n"; reset ($fruits); array_walk ($fruits, 'test_print'); ]]> </programlisting> + <para> + Das obige Programm wird folgendes ausgeben: + <screen role="php"> +<![CDATA[ +Before ...: +d. lemon +a. orange +b. banana +c. apple +... and after: +d. fruit: lemon +a. fruit: orange +b. fruit: banana +c. fruit: apple +]]> + </screen> + </para> </example> </para> <simpara> @@ -1926,9 +2198,9 @@ <methodparam choice="opt"><type>int</type><parameter>sort_flags</parameter></methodparam> </methodsynopsis> <para> - Diese Funktion sortiert ein Array so, dass der Zusammenhang zwischen - den Indizes und den entsprechenden Arrayelementen erhalten bleibt. - Dies wird hauptsächlich bei assoziativen Arrays verwendet, bei denen + Diese Funktion sortiert ein Array so, dass der Zusammenhang zwischen + den Indizes und den entsprechenden Arrayelementen erhalten bleibt. + Dies wird hauptsächlich bei assoziativen Arrays verwendet, bei denen die aktuelle Reihenfolge der Elemente bedeutend ist. </para> <example> @@ -1966,7 +2238,7 @@ Details siehe <function>sort</function>. </para> <para> - Siehe auch: <function>asort</function>, + Siehe auch <function>asort</function>, <function>rsort</function>, <function>ksort</function>, und <function>sort</function>. </para> @@ -2083,9 +2355,17 @@ ]]> </programlisting> <para> - Hier wird <literal>array ("event" => "SIGGRAPH", "city" - => "San Francisco", "state" => "CA")</literal> in - <varname>$result</varname> gespeichert. + Danach wird <varname>$result</varname>: + <screen role="php"> +<![CDATA[ +Array +( + [event] => SIGGRAPH + [city] => San Francisco + [state] => CA +) +]]> + </screen> </para> </example> </para> @@ -2108,7 +2388,7 @@ </methodsynopsis> <para> Liefert die Anzahl von Elementen in <parameter>var</parameter>, - welche typischerweise ein <type>Array</type> ist (da alles andere + welche typischerweise ein <type>Array</type> ist (da alles andere ein Element enthält). </para> <para> @@ -2118,10 +2398,10 @@ </para> <warning> <para> - <function>count</function> kann 0 zurückgeben wenn die Variable - nicht gesetzt ist, aber sie könnte ebenfalls 0 zurückgeben, wenn - eine Variable als leeres Array initialisiert wurde. Verwenden Sie - <function>isset</function> um zu testen, ob eine Variable gesetzt + <function>count</function> kann 0 zurückgeben wenn die Variable + nicht gesetzt ist, aber sie könnte ebenfalls 0 zurückgeben, wenn + eine Variable als leeres Array initialisiert wurde. Verwenden Sie + <function>isset</function> um zu testen, ob eine Variable gesetzt ist. </para> </warning> @@ -2135,9 +2415,9 @@ <title><function>count</function></title> <programlisting role="php"> <![CDATA[ -$a[0] = 1; -$a[1] = 3; -$a[2] = 5; +$a[0] = 1; +$a[1] = 3; +$a[2] = 5; $result = count ($a); //$result == 3 @@ -2152,14 +2432,14 @@ </para> <note> <para> - Die Funktion <function>sizeof</function> ist ein Alias für - <function>count</function>. + Die Funktion <function>sizeof</function> ist ein + <link linkend="aliases">Alias</link> für <function>count</function>. </para> </note> <para> - Siehe auch: <function>sizeof</function>, - <function>isset</function> und - <function>is_array</function>. + Siehe auch <function>is_array</function>, + <function>isset</function>, und + <function>strlen</function>. </para> </refsect1> </refentry> @@ -2187,7 +2467,7 @@ hinter das Ende der Elementenliste, gibt <function>current</function> &false; zurück. <warning> - <para> + <para> Enthält das Array leere Elemente (0 oder "", den leeren String), gibt diese Funktion auch für diese Elemente &false; zurück. Das macht es unmöglich, unter Verwendung von @@ -2199,18 +2479,18 @@ </warning> </para> <para> - Siehe auch: <function>end</function>, <function>next</function>, - <function>prev</function> und <function>reset</function>. + Siehe auch <function>end</function>, <function>next</function>, + <function>prev</function>, und <function>reset</function>. </para> </refsect1> </refentry> <refentry id="function.each"> <refnamediv> - <refname>each</refname> + <refname>each</refname> <refpurpose> Liefert das aktuelle Paar (Schlüssel und Wert) eines Arrays und - rückt den Array Cursor vor + rückt den Array Cursor vor. </refpurpose> </refnamediv> <refsect1> @@ -2224,9 +2504,9 @@ <parameter>array</parameter>, und erhöht den Array Cursor. Dieses Paar wird als Array mit 4 Elementen zurückgegeben, und zwar mit den Schlüsseln <emphasis>0</emphasis>, <emphasis>1</emphasis>, - <emphasis>key</emphasis>, and <emphasis>value</emphasis>. Die + <emphasis>key</emphasis>, und <emphasis>value</emphasis>. Die Elemente <emphasis>0</emphasis> und <emphasis>key</emphasis> - enthalten den Namen des Schlüssels, <emphasis>1</emphasis> and + enthalten den Namen des Schlüssels, <emphasis>1</emphasis> und <emphasis>value</emphasis> den Wert. </para> <para> @@ -2300,7 +2580,7 @@ <para> Siehe auch <function>key</function>, <function>list</function>, <function>current</function>, <function>reset</function>, - <function>next</function> und <function>prev</function>. + <function>next</function>, und <function>prev</function>. </para> </refsect1> </refentry> @@ -2319,14 +2599,14 @@ <methodparam><type>array</type><parameter>array</parameter></methodparam> </methodsynopsis> <para> - <function>end</function> rückt den internen Zeiger von + <function>end</function> rückt den internen Zeiger von <parameter>array</parameter> bis zum letzten Element vor, und gibt dieses Element zurück. </para> <para> - Siehe auch: <function>current</function>, - <function>each</function>, <function>end</function>, - <function>next</function> und <function>reset</function>. + Siehe auch <function>current</function>, + <function>each</function>, + <function>next</function>, und <function>reset</function>. </para> </refsect1> </refentry> @@ -2335,7 +2615,7 @@ <refnamediv> <refname>extract</refname> <refpurpose> - Importiert Variablen in die Symboltabelle eines Arrays + Importiert Variablen in die aktuelle Symboltabelle eines Arrays </refpurpose> </refnamediv> <refsect1> @@ -2362,6 +2642,12 @@ extrahierten Variablen zurück. </para> </note> + <note> + <para> + EXTR_IF_EXISTS und EXTR_PREFIX_IF_EXISTS wurde in Version 4.2.0. + eingeführt. + </para> + </note> <para> <function>extract</function> prüft jeden Schlüssel, ob dieser einen gültigen Variablennamen ergibt, und auch auf eventuelle @@ -2374,7 +2660,7 @@ <term>EXTR_OVERWRITE</term> <listitem> <simpara> - Im Falle einer Kollision wird die existierende Variable + Im Falle einer Kollision wird die existierende Variable überschrieben. </simpara> </listitem> @@ -2383,7 +2669,7 @@ <term>EXTR_SKIP</term> <listitem> <simpara> - Im Falle einer Kollision wird die existierende Variable + Im Falle einer Kollision wird die existierende Variable nicht überschrieben. </simpara> </listitem> @@ -2391,7 +2677,7 @@ <varlistentry> <term>EXTR_PREFIX_SAME</term> <listitem> - <simpara>Im Falle einer Kollision wird dem Variablennamen + <simpara>Im Falle einer Kollision wird dem Variablennamen <parameter>prefix</parameter> vorangestellt. </simpara> </listitem> @@ -2416,6 +2702,29 @@ </simpara> </listitem> </varlistentry> + <varlistentry> + <term>EXTR_IF_EXISTS</term> + <listitem> + <simpara> + Überschreibt die Variable nur, wenn sie bereits in der aktuellen + Symboltabelle existiert, sonst geschieht nichts. Dies ist dann + hilfreich, wenn Sie eine Liste mit gültigen Variablen definieren, + und dann z.B. nur jene Variablen extrahieren, welche Sie aus + $_REQUEST definiert haben. Dieser Flag wurde in PHP 4.2.0 + eingeführt. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term>EXTR_PREFIX_IF_EXISTS</term> + <listitem> + <simpara> + Erstellt nur Variablennamen mit Präfix, wenn die Version ohne + Präfix der selben Variable in der aktuellen Symboltabelle + existiert. Dieser Flag wurde in PHP 4.2.0 eingeführt. + </simpara> + </listitem> + </varlistentry> </variablelist> </para> <para> @@ -2425,17 +2734,17 @@ <para> Beachten Sie, dass <parameter>prefix</parameter> nur dann nötig ist, wenn <parameter>extract_type</parameter> EXTR_PREFIX_SAME, - EXTR_PREFIX_ALL, oder EXTR_PREFIX_INVALID ist. Ist das Resultat - trotz Präfix kein gültiger Variablenname, wird es nicht in die - Symboltabelle importiert. + EXTR_PREFIX_ALL, EXTR_PREFIX_INVALID, oder EXTR_PREFIX_IF_EXISTS + ist. Ist das Resultat trotz Präfix kein gültiger Variablenname, + wird es nicht in die Symboltabelle importiert. </para> <para> - <function>extract</function> gibt die Anzahl erfolgreich in die + <function>extract</function> gibt die Anzahl erfolgreich in die Symboltabelle importierter Variablen zurück. </para> <para> - Eine mögliche Verwendung für extract ist der Import der Variablen - in einem von <function>wddx_deserialize</function> gelieferten + Eine mögliche Verwendung für extract ist der Import der Variablen + in einem von <function>wddx_deserialize</function> gelieferten assoziativen Array in die Symboltabelle. </para> <para> @@ -2445,7 +2754,7 @@ <![CDATA[ <?php -/* Annahme: $var_array ist ein von wddx_deserialize +/* Annahme: $var_array ist ein von wddx_deserialize zurückgegebenes Array */ $size = "large"; @@ -2473,19 +2782,18 @@ <varname>$size</varname> wurde nicht überschrieben, da wir EXTR_PREFIX_SAME spezifiziert haben, was im Anlegen von <varname>$wddx_size</varname> endete. Wäre EXTR_SKIP spezifiziert - worden, dann wäre $wddx_size nicht angelegt - worden. EXTR_OVERWRITE hätte <varname>$size</varname> mit dem - Wert "medium" überschrieben, und EXTR_PREFIX_ALL hätte die neuen - Variablen <varname>$wddx_color</varname>, - <varname>$wddx_size</varname>, und <varname>$wddx_shape</varname> - angelegt. + worden, dann wäre $wddx_size nicht angelegt worden. EXTR_OVERWRITE + hätte <varname>$size</varname> mit dem Wert "medium" überschrieben, + und EXTR_PREFIX_ALL hätte die neuen Variablen + <varname>$wddx_color</varname>, <varname>$wddx_size</varname>, + und <varname>$wddx_shape</varname> angelegt. </para> <para> Sie müssen assoziative Arrays benutzen, numerisch indizierte Arrays liefern keine Resultate. </para> <para> - Siehe auch: <function>compact</function>. + Siehe auch <function>compact</function>. </para> </refsect1> </refentry> @@ -2493,9 +2801,7 @@ <refentry id="function.in-array"> <refnamediv> <refname>in_array</refname> - <refpurpose> - Prüft, ob ein Wert in einem Array existiert - </refpurpose> + <refpurpose>Prüft, ob ein Wert in einem Array existiert</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> @@ -2512,9 +2818,22 @@ </para> <para> Ist der dritte Parameter <parameter>strict</parameter> auf &true; - gesetzt, prüft <function>in_array</function> auch die Typen von + gesetzt, prüft <function>in_array</function> auch die + <link linkend="language.types">Typen</link> von <parameter>needle</parameter> in <parameter>haystack</parameter>. </para> + <note> + <para> + Ist <parameter>needle</parameter> ein String, erfolgt der Vergleich + unter Berücksichtigung der Groß- und Kleinschreibung. + </para> + </note> + <note> + <para> + In den PHP Versionen vor 4.2.0 durfte <parameter>needle</parameter> + kein Array sein + </para> + </note> <para> <example> <title><function>in_array</function></title> @@ -2522,10 +2841,23 @@ <![CDATA[ $os = array ("Mac", "NT", "Irix", "Linux"); if (in_array ("Irix", $os)) { - print "Irix gefunden"; + print "Got Irix"; +} +if (in_array ("mac", $os)) { + print "Got mac"; } ]]> </programlisting> + <para> + Die zweite Bedingung schlägt fehl, da <function>in_array</function> + die Groß-/Kleinschreibung berücksichtigt, daher wird das obige + Programm folgendes ausgeben: + <screen role="php"> +<![CDATA[ +Got Irix +]]> + </screen> + </para> </example> </para> <para> @@ -2537,20 +2869,48 @@ $a = array('1.10', 12.4, 1.13); if (in_array('12.4', $a, TRUE)) - echo "'12.4' found with strict check\n"; + echo "'12.4' found with strict check\n"; if (in_array(1.13, $a, TRUE)) - echo "1.13 found with strict check\n"; + echo "1.13 found with strict check\n"; +?> +]]> + </programlisting> + <para> + Dies wird folgendes anzeigen: + <screen role="php"> +<![CDATA[ +1.13 found with strict check +]]> + </screen> + </para> + </example> + </para> + <para> + <example> + <title><function>in_array</function> mit einem Array als needle</title> + <programlisting role="php"> +<![CDATA[ +<?php +$a = array(array('p', 'h'), array('p', 'r'), 'o'); + +if (in_array(array ('p', 'h'), $a)) + echo "'ph' is found\n"; +if (in_array(array ('f', 'i'), $a)) + echo "'fi' is not found\n"; +if (in_array('o', $a)) + echo "'o' is found\n"; ?> -// Dies wird folgendes ausgeben: +// Dies wird folgendes anzeigen: -1.13 found with strict check +'ph' is found +'o' is found ]]> </programlisting> </example> </para> <para> - Siehe auch: <function>array_search</function>. + Siehe auch <function>array_search</function>. </para> </refsect1> </refentry> @@ -2564,7 +2924,7 @@ </refpurpose> </refnamediv> <refsect1> - <title>Beschreibung</title> + <title>Beschreibung</title> <methodsynopsis> <type>mixed</type><methodname>array_search</methodname> <methodparam><type>mixed</type><parameter>needle</parameter></methodparam> @@ -2572,18 +2932,19 @@ <methodparam choice="opt"><type>bool</type><parameter>strict</parameter></methodparam> </methodsynopsis> <para> - Diese Funktion durchsucht <parameter>haystack</parameter> nach - <parameter>needle</parameter> und gibt bei Erfolg den Schlüssel + Diese Funktion durchsucht <parameter>haystack</parameter> nach + <parameter>needle</parameter> und gibt bei Erfolg den Schlüssel zurück, andernfalls &false;. </para> <para> Ist der optionale dritte Parameter <parameter>strict</parameter> auf &true; gesetzt, prüft <function>in_array</function> - auch die Typen von <parameter>needle</parameter> in + auch die Typen von <parameter>needle</parameter> in <parameter>haystack</parameter>. </para> + &return.falseproblem; <para> - Siehe auch: <function>in_array</function>. + Siehe auch <function>in_array</function>. </para> </refsect1> </refentry> @@ -2606,7 +2967,7 @@ Position im Array. </para> <para> - Siehe auch: <function>current</function> und + Siehe auch <function>current</function> und <function>next</function>. </para> </refsect1> @@ -2649,16 +3010,14 @@ Dieses Beispiel würde folgendes ausgeben: </para> <para> - <informalexample> - <programlisting> + <screen> <![CDATA[ d = Zitrone c = Apfel b = Banane a = Orange ]]> - </programlisting> - </informalexample> + </screen> </para> <para> Sie können das Verhalten der Sortierung mittels dem optionalen @@ -2666,10 +3025,9 @@ Details siehe <function>sort</function>. </para> <simpara> - Siehe auch: <function>asort</function>, - <function>arsort</function>, <function>ksort</function> - <function>sort</function>, <function>natsort</function> und - <function>rsort</function>. + Siehe auch <function>asort</function>, <function>arsort</function>, + <function>ksort</function>, <function>sort</function>, + <function>natsort</function>, und <function>rsort</function>. </simpara> </refsect1> </refentry> @@ -2708,16 +3066,14 @@ Dieses Beispiel würde folgendes ausgeben: </para> <para> - <informalexample> - <programlisting> + <screen> <![CDATA[ a = Orange b = Banane c = Apfel d = Zitrone ]]> - </programlisting> - </informalexample> + </screen> </para> <para> Sie können das Verhalten der Sortierung mittels dem optionalen @@ -2725,9 +3081,10 @@ Details siehe <function>sort</function>. </para> <simpara> - Siehe auch: <function>asort</function>, - <function>arsort</function>, <function>sort</function>, - <function>natsort</function> und <function>rsort</function>. + Siehe auch <function>asort</function>, <function>arsort</function>, + <function>krsort</function>, <function>uksort</function>, + <function>sort</function>, <function>natsort</function>, und + <function>rsort</function>. </simpara> <note> <para> @@ -2767,10 +3124,10 @@ <?php -$result = mysql_query ($conn, "SELECT id, name, salary FROM employees"); +$result = mysql_query ("SELECT id, name, salary FROM employees",$conn); while (list ($id, $name, $salary) = mysql_fetch_row ($result)) { print (" <tr>\n". - " <td><a href=\"info.php3?id=$id\">$name</a></td>\n". + " <td><a href=\"info.php?id=$id\">$name</a></td>\n". " <td>$salary</td>\n". " </tr>\n"); } @@ -2783,8 +3140,7 @@ </example> </para> <para> - Siehe auch: <function>each</function> und - <function>array</function>. + Siehe auch <function>each</function> und <function>array</function>. </para> </refsect1> </refentry> @@ -2830,8 +3186,7 @@ Der obige Code wird folgendes anzeigen: </para> <para> - <informalexample> - <programlisting> + <screen> <![CDATA[ Standard sorting Array @@ -2851,15 +3206,14 @@ [0] => img12.png ) ]]> - </programlisting> - </informalexample> + </screen> Detailliertere Informationen finden Sie auf Martin Pool's <ulink url="&url.strnatcmp;">Natural Order String Comparison</ulink> Seite. </para> <para> Siehe auch <function>natcasesort</function>, - <function>strnatcmp</function> und + <function>strnatcmp</function>, und <function>strnatcasecmp</function>. </para> </refsect1> @@ -2898,7 +3252,8 @@ </para> <para> Siehe auch <function>sort</function>, - <function>natsort</function>, <function>strnatcmp</function> und + <function>natsort</function>, + <function>strnatcmp</function>, und <function>strnatcasecmp</function>. </para> </refsect1> @@ -2941,8 +3296,8 @@ </warning> </para> <para> - Siehe auch: <function>current</function>, - <function>end</function>, <function>prev</function> und + Siehe auch <function>current</function>, + <function>end</function>, <function>prev</function>, und <function>reset</function>. </para> </refsect1> @@ -2960,13 +3315,13 @@ <methodparam><type>array</type><parameter>array</parameter></methodparam> </methodsynopsis> <simpara> - Dies ist nur ein Alias für die Funktion - <function>current</function>. + Dies ist nur ein <link linkend="aliases">Alias</link> + für die Funktion <function>current</function>. </simpara> <para> - Siehe auch: + Siehe auch <function>end</function>, <function>next</function>, - <function>prev</function> und <function>reset</function>. + <function>prev</function>, und <function>reset</function>. </para> </refsect1> </refentry> @@ -2997,14 +3352,14 @@ </para> </warning> </para> - <para> + <para> <function>prev</function> verhält sich wie <function>next</function>, nur dass hier der interne Zeiger um eine Position zurück, und nicht nach vorne gerückt wird. </para> <para> - Siehe auch: <function>current</function>, - <function>end</function>, <function>next</function> und + Siehe auch <function>current</function>, + <function>end</function>, <function>next</function>, und <function>reset</function>. </para> </refsect1> @@ -3029,8 +3384,9 @@ Bereich von <parameter>low</parameter> bis <parameter>high</parameter> zurück. Wenn low > high, wird die Sequenz von high nach low sein. + </para> <example> - <title><function>range</function> Beispiele</title> + <title><function>range</function></title> <programlisting role="php"> <![CDATA[ foreach(range(0, 9) as $number) { @@ -3045,7 +3401,6 @@ ]]> </programlisting> </example> - </para> <note> <para> Vor der Version 4.1.0 hat die Funktion @@ -3053,6 +3408,24 @@ erstellt. Die Unterstützung für Zeichenfolgen und Arrays in absteigender Reihenfolge wurde in 4.1.0 hinzugefügt. </para> + <example> + <title>Dekrementieren von Bereichen und Zeichenketten simulieren</title> + <programlisting role="php"> +<![CDATA[ +# array_reverse kann dazu verwendet werden, +# die Reihenfolge eines Bereiches umzudrehen +foreach(array_reverse(range(0,9)) as $number) { + echo $number; +} + +# array_map() kann benutzt werden, um Integer-Werte mittels +# chr() in Zeichen umzuwandeln +foreach(array_map('chr', range(ord('a'),ord('z'))) as $character) { + echo $character; +} +]]> + </programlisting> + </example> </note> <para> Siehe <function>shuffle</function> für ein weiteres @@ -3079,12 +3452,12 @@ <parameter>array</parameter> auf das erste Element zurück. </para> <para> - <function>reset</function> gibt den Wert des ersten Arrayelements + <function>reset</function> gibt den Wert des ersten Arrayelements zurück. </para> <para> - Siehe auch: <function>current</function>, - <function>each</function>, <function>next</function> und + Siehe auch <function>current</function>, + <function>each</function>, <function>next</function>, und <function>prev</function>. </para> </refsect1> @@ -3125,16 +3498,14 @@ Dieses Beispiel würde folgendes ausgeben: </para> <para> - <informalexample> - <programlisting> + <screen> <![CDATA[ 0 = Zitrone 1 = Orange 2 = Banane 3 = Apfel ]]> - </programlisting> - </informalexample> + </screen> </para> <para> Die Früchte wurden in umgekehrter alphabetischer Reihenfolge @@ -3146,9 +3517,9 @@ Details siehe <function>sort</function>. </para> <para> - Siehe auch: <function>arsort</function>, + Siehe auch <function>arsort</function>, <function>asort</function>, <function>ksort</function>, - <function>sort</function> und <function>usort</function>. + <function>sort</function>, und <function>usort</function>. </para> </refsect1> </refentry> @@ -3183,9 +3554,9 @@ </example> </para> <para> - Siehe auch: <function>arsort</function>, + Siehe auch <function>arsort</function>, <function>asort</function>, <function>ksort</function>, - <function>rsort</function>, <function>sort</function> und + <function>rsort</function>, <function>sort</function>, und <function>usort</function>. </para> </refsect1> @@ -3194,9 +3565,7 @@ <refentry id="function.sizeof"> <refnamediv> <refname>sizeof</refname> - <refpurpose> - Liefert die Anzahl Elemente einer Variable - </refpurpose> + <refpurpose>Liefert die Anzahl Elemente einer Variable</refpurpose> </refnamediv> <refsect1> <title>Beschreibung</title> @@ -3205,8 +3574,8 @@ <methodparam><type>mixed</type><parameter>var</parameter></methodparam> </methodsynopsis> <para> - Die Funktion <function>sizeof</function> ist ein Alias für - <function>count</function>. + Die Funktion <function>sizeof</function> ist ein + <link linkend="aliases">Alias</link> für <function>count</function>. </para> <para> Siehe auch <function>count</function>. @@ -3241,7 +3610,7 @@ while (list ($key, $val) = each ($fruits)) { echo "fruits[".$key."] = ".$val."\n"; } - + ?> ]]> </programlisting> @@ -3251,16 +3620,14 @@ Dieses Beispiel würde folgendes anzeigen: </para> <para> - <informalexample> - <programlisting> + <screen> <![CDATA[ fruits[0] = Apfel fruits[1] = Banane fruits[2] = Orange fruits[3] = Zitrone ]]> - </programlisting> - </informalexample> + </screen> </para> <para> Die Früchte wurden in alphabetischer Reihenfolge sortiert. @@ -3285,11 +3652,11 @@ </itemizedlist> </para> <para> - Siehe auch: <function>arsort</function>, + Siehe auch <function>arsort</function>, <function>asort</function>, <function>ksort</function>, <function>natsort</function>, <function>natcasesort</function>, <function>rsort</function>, <function>usort</function>, - <function>array_multisort</function> und + <function>array_multisort</function>, und <function>uksort</function>. </para> <note> @@ -3328,11 +3695,12 @@ für Beispiele von benutzerdefinierten Vergleichsfunktionen </para> </note> + ¬e.func-callback; <para> - Siehe auch: <function>usort</function>, - <function>uksort</function>, <function>sort</function>, - <function>asort</function>, <function>arsort</function>, - <function>ksort</function> und <function>rsort</function>. + Siehe auch <function>usort</function>, <function>uksort</function>, + <function>sort</function>, <function>asort</function>, + <function>arsort</function>, <function>ksort</function>, + und <function>rsort</function>. </para> </refsect1> </refentry> @@ -3358,12 +3726,11 @@ trivialen Kriterien sortiert werden, sollten Sie diese Funktion verwenden. </para> - <para> <example> <title><function>uksort</function></title> <programlisting role="php"> <![CDATA[ -function cmp ($a, $b) { +function cmp ($a, $b) { if ($a == $b) return 0; return ($a > $b) ? -1 : 1; } @@ -3378,28 +3745,25 @@ ]]> </programlisting> </example> - </para> <para> Dieses Beispiel würde folgendes ausgeben: </para> <para> - <informalexample> - <programlisting> + <screen> <![CDATA[ 20: twenty 10: ten 4: four 3: three ]]> - </programlisting> - </informalexample> + </screen> </para> + ¬e.func-callback; <para> - Siehe auch: <function>usort</function>, - <function>uasort</function>, <function>sort</function>, - <function>asort</function>, <function>arsort</function>, - <function>ksort</function>, <function>natsort</function> und - <function>rsort</function>. + Siehe auch <function>usort</function>, <function>uasort</function>, + <function>sort</function>, <function>asort</function>, + <function>arsort</function>, <function>ksort</function>, + <function>natsort</function>, und <function>rsort</function>. </para> </refsect1> </refentry> @@ -3433,16 +3797,11 @@ Reihenfolge nicht definiert. </para> <para> - Es ist auch möglich, eine Member Funktion eines Objektes als - Vergleichsfunktion zu verwenden. Siehe das nachstehende Beispiel - Nummer 3. - </para> - <para> <example> <title><function>usort</function></title> <programlisting role="php"> <![CDATA[ -function cmp ($a, $b) { +function cmp ($a, $b) { if ($a == $b) return 0; return ($a > $b) ? -1 : 1; } @@ -3462,8 +3821,7 @@ Dieses Beispiel würde folgendes anzeigen: </para> <para> - <informalexample> - <programlisting> + <screen> <![CDATA[ 0: 6 1: 5 @@ -3471,8 +3829,7 @@ 3: 2 4: 1 ]]> - </programlisting> - </informalexample> + </screen> </para> <note> <para> @@ -3490,13 +3847,13 @@ <![CDATA[ function cmp ($a, $b) { return strcmp($a["fruit"], $b["fruit"]); -} +} $fruits[0]["fruit"] = "Zitronen"; $fruits[1]["fruit"] = "Äpfel"; $fruits[2]["fruit"] = "Trauben"; -usort($fruits, "cmp"); +usort($fruits, "cmp"); while (list ($key, $value) = each ($fruits)) { echo "\$fruits[$key]: " . $value["fruit"] . "\n"; @@ -3513,23 +3870,22 @@ Dieses Beispiel würde folgendes anzeigen: </para> <para> - <informalexample> - <programlisting> + <screen> <![CDATA[ $fruits[0]: Äpfel $fruits[1]: Trauben $fruits[2]: Zitronen ]]> - </programlisting> - </informalexample> + </screen> </para> - + ¬e.func-callback; <para> <example> <title> <function>usort</function> mit Verwendung einer Member Funktion eines Objektes </title> <programlisting role="php"> +<![CDATA[ class TestObj { var $name; @@ -3557,6 +3913,7 @@ foreach ($a as $item) { print $item->name."\n"; } +]]> </programlisting> </example> </para> @@ -3564,30 +3921,26 @@ Dieses Beispiel würde folgendes anzeigen: </para> <para> - <informalexample> - <programlisting> + <screen> b c d - </programlisting> - </informalexample> - </para> - <para> - <warning> - <para> - Die zugrundeliegende quicksort Funktion in machen C - Bibliotheken (wie z.B. Solaris Systeme) könnte einen PHP Crash - verursachen, wenn die Vergleichsfunktion keine gleichbleibenden - Werte zurückgibt. - </para> - </warning> + </screen> </para> + <warning> + <para> + Die zugrundeliegende quicksort Funktion in machen C + Bibliotheken (wie z.B. Solaris Systeme) könnte einen PHP Crash + verursachen, wenn die Vergleichsfunktion keine gleichbleibenden + Werte zurückgibt. + </para> + </warning> <para> - Siehe auch: <function>uasort</function>, + Siehe auch <function>uasort</function>, <function>uksort</function>, <function>sort</function>, <function>asort</function>, <function>arsort</function>,<function>ksort</function>, - <function>natsort</function> und <function>rsort</function>. + <function>natsort</function>, und <function>rsort</function>. </para> </refsect1> </refentry>