cvs: phpdoc-da /reference/array/functions each.xml end.xml extract.xml

[email protected] ("Jesper Laursen") Sun, 10 Oct 2004 09:17:36 -0000
Newsgroups php.doc.da
Message-ID <cvslauer1097399856@cvsserver>
lauer		Sun Oct 10 05:17:36 2004 EDT

  Added files:                 
    /phpdoc-da/reference/array/functions	each.xml end.xml extract.xml 
  Log:
  Initial translation
lauer-20041010051736.txt (text/plain, 14.8 KB)
http://cvs.php.net/co.php/phpdoc-da/reference/array/functions/each.xml?r=1.1&p=1
Index: phpdoc-da/reference/array/functions/each.xml
+++ phpdoc-da/reference/array/functions/each.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.15 Maintainer: lauer Status: ready -->
  <refentry id="function.each">
   <refnamediv>
    <refname>each</refname>
    <refpurpose>
     Returnerer den aktuelle nøgle og værdi fra et array, og flytte 
     den interne array pointer en plads frem
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beskrivelse</title>
     <methodsynopsis>
      <type>array</type><methodname>each</methodname>
      <methodparam><type>array</type><parameter>&amp;array</parameter></methodparam>
     </methodsynopsis>
    <para>
     Returnerer den aktuelle nøgle og værdi fra arrayet 
     <parameter>array</parameter> og flytter array pointeren en plads frem.
     Dette par er returneret i en array med 4 elementer.
     Med nøglerne <literal>0</literal>, <literal>1</literal>, 
     <literal>key</literal> og
     <literal>value</literal>. Elementerne <literal>0</literal> and
     <literal>key</literal> indeholder navnet på nøglenværdien og
     <literal>1</literal> og <literal>value</literal> indeholder dataen.
    </para>
    <para>
     Hvis den interne pointer for arrayet peger efter den sidste element 
     af arrayet, vil <function>each</function> returnere &false;.
    </para>
    <para>
     <example>
      <title><function>each</function> eksempel</title>
      <programlisting role="php">
<![CDATA[
<?php
$foo = array("bob", "fred", "jussi", "jouni", "egon", "marliese");
$bar = each($foo);
print_r($bar);
?>
]]>
      </programlisting>
      <para>
       <varname>$bar</varname> indeholder nu følgende nægler/værdier:
      </para>
      <screen>
<![CDATA[
Array
(
    [1] => bob
    [value] => bob
    [0] => 0
    [key] => 0
)
]]>
      </screen>
     </example>
    </para>
    <para>
     <informalexample>
      <programlisting role="php">
<![CDATA[
<?php
$foo = array("Robert" => "Bob", "Seppo" => "Sepi");
$bar = each($foo);
print_r($bar);
?>
]]>
      </programlisting>
      <para>
       <varname>$bar</varname> indeholder nu følgende nægler/værdier:
      </para>
      <screen>
<![CDATA[
Array
(
    [1] => Bob
    [value] => Bob
    [0] => Robert
    [key] => Robert
)
]]>
      </screen>
     </informalexample>
    </para>
    <para>
     <function>each</function> bliver typisk brugt i forbindelse med
     <function>list</function> til at gå igennem et array. Her er et eksempel:
     <example>
      <title>Gennemgang af array med <function>each</function></title>
      <programlisting role="php">
<![CDATA[
<?php
$fruit = array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}
?>
]]>
      </programlisting>
      <para>
       Viser:
      </para>
      <screen>
<![CDATA[
a => apple
b => banana
c => cranberry
]]>
      </screen>
     </example>
    </para>
    <para>
     Efter at <function>each</function> er blevet udført, vil den interne
     array pointer peje på næste element eller efter det sidste element, hvis
     den rammer enden af arrayet. Du skal bruge <function>reset</function>
     hvis du gennemgå arrayet igen med each funktionen.
    </para>
    <caution>
     <para>
      Når man indsætter et nyt element i et array bliver array pointeren
      sat til det første element igen. Derfor vil vi i vores eksempel
      ovenfor have lavet en uendelig løkke, hvis vi havde tildelt en ny 
      variable til <varname>$fruit</varname> inde i vores løkke.
     </para>
    </caution>
    <para>
     Se også <function>key</function>, <function>list</function>,
     <function>current</function>, <function>reset</function>,
     <function>next</function>, <function>prev</function> og 
     <link linkend="control-structures.foreach">foreach</link>.
    </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/co.php/phpdoc-da/reference/array/functions/end.xml?r=1.1&p=1
Index: phpdoc-da/reference/array/functions/end.xml
+++ phpdoc-da/reference/array/functions/end.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.11 Maintainer: lauer Status: ready -->
  <refentry id="function.end">
   <refnamediv>
    <refname>end</refname>
    <refpurpose>
     Sætte den interne pointer i et array til dets sidste element
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beskrivelse</title>
     <methodsynopsis>
      <type>mixed</type><methodname>end</methodname>
      <methodparam><type>array</type><parameter>&amp;array</parameter></methodparam>
     </methodsynopsis>
    <para>
     <function>end</function> flytter <parameter>array</parameter>'s
     interne pointer til det sidste element i rækken og returnerer den værdi.
    </para>
    <para>
     <example>
      <title>Et simpelt eksempel med <function>end</function></title>
      <programlisting role="php">
<![CDATA[
<?php

$fruits = array('apple', 'banana', 'cranberry');
echo end($fruits); // cranberry
      
?>
]]>
      </programlisting>
     </example>
    </para>
    <para>
     Se også <function>current</function>,
     <function>each</function>,
     <function>prev</function>,
     <function>next</function> og
     <function>reset</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/co.php/phpdoc-da/reference/array/functions/extract.xml?r=1.1&p=1
Index: phpdoc-da/reference/array/functions/extract.xml
+++ phpdoc-da/reference/array/functions/extract.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.17 Maintainer: lauer Status: ready -->
  <refentry id="function.extract">
   <refnamediv>
    <refname>extract</refname>
    <refpurpose>
     Sætter variabler efter indholdet af et array
    </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Beskrivelse</title>
     <methodsynopsis>
      <type>int</type><methodname>extract</methodname>
      <methodparam><type>array</type><parameter>var_array</parameter></methodparam>
      <methodparam choice="opt"><type>int</type><parameter>extract_type</parameter></methodparam>
      <methodparam choice="opt"><type>string</type><parameter>prefix</parameter></methodparam>
     </methodsynopsis>
    <para>
     Denne funktion bruges til at fremstille variabler fra et array.
     Den tager et associativ array <parameter>var_array</parameter> og behandler
     nøglerne som variablenavne og værdierne som de nye variablers værdier.
     For hvert nøgle/værdi par vil den lave en variable, alt efter hvad 
     <parameter>extract_type</parameter> og 
     <parameter>prefix</parameter> er sat til.
    </para>
    <note>
     <para>
      Vi starter ved version 4.0.5, hvor denne funktion returnerede antallet
      af variabler som blev udpakket.
     </para>
    </note>
    <note>
     <para>
      <constant>EXTR_IF_EXISTS</constant> og 
      <constant>EXTR_PREFIX_IF_EXISTS</constant> blev tilføjet i version 4.2.0.
     </para>
    </note>
    <note>
     <para>
      <constant>EXTR_REFS</constant> blev tilføjet i version 4.3.0.
     </para>
    </note>
    <para>
     <function>extract</function> kontrollerer hver nøgle for at se om 
     det er et korrekt variablenavn. Den tjekker også for om der allerede
     er sat en variable med det navn. Måden ukorrekte variablenavne og
     sammenfald med tidligere variabler skal behandles på, bestemmes ved
     parameteren <parameter>extract_type</parameter>. Den kan blive sat til 
     en af følgende værdier:
     <variablelist>
      <varlistentry>
       <term><constant>EXTR_OVERWRITE</constant></term>
       <listitem>
        <simpara>
         Hvis der er et sammenfald, overskriv den eksisterende variable.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term><constant>EXTR_SKIP</constant></term>
       <listitem>
        <simpara>
         Hvis der er et sammenfald, overskriv ikke den eksisterende variable.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term><constant>EXTR_PREFIX_SAME</constant></term>
       <listitem>
        <simpara>Hvis der er et sammenfald, tilføj <parameter>prefix</parameter>
        foran variablenavnet.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term><constant>EXTR_PREFIX_ALL</constant></term>
       <listitem>
        <simpara>
         Start alle variabelnavne med <parameter>prefix</parameter>. 
         I PHP 4.0.5 ville det også inklidere nummervariabler.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term><constant>EXTR_PREFIX_INVALID</constant></term>
       <listitem>
        <simpara>
         Indsæt kun <parameter>prefix</parameter> foran ukorrekte/nummer
         variabler. Denne mulighed blev tilføjet i PHP 4.0.5.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term><constant>EXTR_IF_EXISTS</constant></term>
       <listitem>
        <simpara>
         Overskriver kun variablen hvis den allerede findes og ellers skal
         den ikke gøre noget. Dette er brugbart ved definering af en liste
         af korrekte variablenavne og man derefter udpakker de variabler
         der er blevet sat med f.eks. $_REQUEST. Denne mulighed blev tilføjet
         i PHP 4.2.0.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term><constant>EXTR_PREFIX_IF_EXISTS</constant></term>
       <listitem>
        <simpara>
         Fremstiller kun variablenavne med prefix, hvis den orginale version
         af samme variable allerede findes. Denne mulighed blev tilføjet i
         PHP 4.2.0.
        </simpara>
       </listitem>
      </varlistentry>
      <varlistentry>
       <term><constant>EXTR_REFS</constant></term>
       <listitem>
        <simpara>
         Udpakker alle variabler som referencer. Det betyder at de nye variabler
         peger på de værdier der står i <parameter>var_array</parameter> 
         parameteren. Du kan bruge denne indstilling som den eneste eller du 
         kan sætte den sammen med andre værdier ved at indsætte OR 
         mellem de to settings i <parameter>extract_type</parameter>. 
         Denne indstilling blev muligt i PHP 4.3.0.
        </simpara>
       </listitem>
      </varlistentry>
     </variablelist>
    </para>
    <para>
     Hvis <parameter>extract_type</parameter> ikke er sat, vil den som 
     som standard blive sat til <constant>EXTR_OVERWRITE</constant>.
    </para>
    <para>
     Bemærk at <parameter>prefix</parameter> kun er krævet hvis 
     <parameter>extract_type</parameter> er <constant>EXTR_PREFIX_SAME</constant>,
     <constant>EXTR_PREFIX_ALL</constant>, <constant>EXTR_PREFIX_INVALID</constant> 
     eller <constant>EXTR_PREFIX_IF_EXISTS</constant>. Hvis variabelnavnet
     med prefix foran, ikke er et korrekt variablenavn, vil den variable ikke
     blive oprettet.
    </para>
    <para>
     <function>extract</function> returnerer antallet af variabler
     der er blevet oprettet korrekt.
    </para>
    <warning>
     <para>
      Brug ikke <function>extract</function> ved usikker data som f.eks.
      bruger-input ($_GET, ...). Hvis du gør dette, f.eks. hvis du ønsker at
      køre gammel kode som ikke bruger 
      <link linkend="security.globals">register_globals</link>, vær sikker
      på at du bruger en af de ikke overskrivende indstillinger 
      <parameter>extract_type</parameter> kan sættes til, som f.eks.
      <constant>EXTR_SKIP</constant> og pas på hvis du udpakker
      <varname>$_SERVER</varname>, <varname>$_SESSION</varname>,
      <varname>$_COOKIE</varname>, <varname>$_POST</varname> og
      <varname>$_GET</varname> i den rækkefølge.
     </para>
    </warning>
    <para>
     Et eksempel hvor brugen af <function>extract</function> ville være perfekt,
     er ved et associativt array fra funktionen
     <function>wddx_deserialize</function>.
    </para>
    <para>
     <example>
      <title><function>extract</function> eksempel</title>
      <programlisting role="php">
<![CDATA[
<?php

/* Gå ud fra at $var_array er et array returneret af wddx_deserialize */

$size = "large";
$var_array = array("color" => "blue",
                   "size"  => "medium",
                   "shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");

echo "$color, $size, $shape, $wddx_size\n";

?>
]]>
      </programlisting>
      <para>
       Overstående eksempel vil udskrive følgende:
      </para>
      <screen>
<![CDATA[
blue, large, sphere, medium
]]>
      </screen>
     </example>
    </para>
    <para>
     Variablen <varname>$size</varname> blev ikke overskrevet, fordi vi havde 
     sat <constant>EXTR_PREFIX_SAME</constant>, hvilket resultere i 
     <varname>$wddx_size</varname> bliver lavet. Hvis <constant>EXTR_SKIP</constant>
     var bestemt, ville $wddx_size ikke engang blive lavet.
     <constant>EXTR_OVERWRITE</constant> ville have betydet at <varname>$size</varname> 
     havde fået værdien "medium" og <constant>EXTR_PREFIX_ALL</constant> 
     ville have betydet nye variablenavne kaldet <varname>$wddx_color</varname>,
     <varname>$wddx_size</varname> og <varname>$wddx_shape</varname>.
    </para>
    <para>
     Du skal bruge et associativt array. Et array indekseret med numre vil ikke
     komme med et resultat med mindre at du bruger 
     <constant>EXTR_PREFIX_ALL</constant> eller
     <constant>EXTR_PREFIX_INVALID</constant>.
    </para>
    <para>
     Se også <function>compact</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
-->