[PHP-DOC] cvs: phpdoc /de/functions var.xml From: Thomas Schuermann (thomas.schuermann <email protected>)
Date: 09/13/00

tschuer Wed Sep 13 09:33:36 2000 EDT

  Modified files:
    /phpdoc/de/functions var.xml
  Log:
  moved serialize + unserialize from misc.xml to var.xmland some minor corrections
  
Index: phpdoc/de/functions/var.xml
diff -u phpdoc/de/functions/var.xml:1.19 phpdoc/de/functions/var.xml:1.20
--- phpdoc/de/functions/var.xml:1.19 Fri Sep 8 13:02:12 2000
+++ phpdoc/de/functions/var.xml Wed Sep 13 09:33:35 2000
@@ -67,7 +67,6 @@
     </para>
    </refsect1>
   </refentry>
-
   
   <refentry id="function.doubleval">
    <refnamediv>
@@ -75,7 +74,7 @@
     <refpurpose>Konvertiert einen Wert nach double</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>double <function>doubleval</function></funcdef>
@@ -88,7 +87,7 @@
     </para>
     <para>
      Als <parameter>var</parameter> können beliebige skalare Ausdrücke,
- aber keine Arrays oder Objeket übergeben werden.
+ aber keine Arrays oder Objekte übergeben werden.
      <informalexample>
       <programlisting role="php">
 $var = '122.34343The';
@@ -111,7 +110,7 @@
     <refpurpose>Prüft, ob eine Variable einen Wert enthält</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>empty</function></funcdef>
@@ -150,7 +149,7 @@
     <refpurpose>Liefert den Datentyp einer Variablen</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>string <function>gettype</function></funcdef>
@@ -196,7 +195,7 @@
     <refpurpose>Konvertiert einen Wert nach integer</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>intval</function></funcdef>
@@ -229,7 +228,7 @@
     <refpurpose>Prüft, ob Variable ein Array ist</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>is_array</function></funcdef>
@@ -261,7 +260,7 @@
     </refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int
@@ -285,7 +284,7 @@
     <refpurpose>Prüft, ob eine Variable vom Typ double ist</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>is_double</function></funcdef>
@@ -293,17 +292,14 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- Liefert true, wenn <parameter>var</parameter> vom Ty double ist,
+ Liefert true, wenn <parameter>var</parameter> vom Typ double ist,
      sonst false.
     </para>
     <para>
      Siehe auch <function>is_array</function>,
- <function>is_float</function>,
- <function>is_int</function>,
- <function>is_integer</function>,
- <function>is_real</function>,
- <function>is_string</function>,
- <function>is_long</function> und
+ <function>is_float</function>, <function>is_int</function>,
+ <function>is_integer</function>, <function>is_real</function>,
+ <function>is_string</function>, <function>is_long</function> und
      <function>is_object</function>.
     </para>
    </refsect1>
@@ -315,7 +311,7 @@
     <refpurpose>Prüft, ob eine Variable vom Typ float ist</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>is_float</function></funcdef>
@@ -327,12 +323,9 @@
     </para>
     <para>
      Siehe auch <function>is_double</function>,
- <function>is_real</function>,
- <function>is_int</function>,
- <function>is_integer</function>,
- <function>is_string</function>,
- <function>is_object</function>,
- <function>is_array</function> und
+ <function>is_real</function>, <function>is_int</function>,
+ <function>is_integer</function>, <function>is_string</function>,
+ <function>is_object</function>, <function>is_array</function> und
      <function>is_long</function>.
     </para>
    </refsect1>
@@ -344,7 +337,7 @@
     <refpurpose>Prüft, ob eine Variable vom Typ int ist</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>is_int</function></funcdef>
@@ -356,12 +349,9 @@
     </para>
     <para>
      Siehe auch <function>is_double</function>,
- <function>is_float</function>,
- <function>is_integer</function>,
- <function>is_string</function>,
- <function>is_real</function>,
- <function>is_object</function>,
- <function>is_array</function> und
+ <function>is_float</function>, <function>is_integer</function>,
+ <function>is_string</function>, <function>is_real</function>,
+ <function>is_object</function>, <function>is_array</function> und
      <function>is_long</function>.
     </para>
    </refsect1>
@@ -373,7 +363,7 @@
     <refpurpose>Prüft, ob eine Variable vom Typ integer ist</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>is_integer</function></funcdef>
@@ -386,12 +376,9 @@
     </para>
     <para>
      Siehe auch <function>is_double</function>,
- <function>is_float</function>,
- <function>is_int</function>,
- <function>is_string</function>,
- <function>is_real</function>,
- <function>is_object</function>,
- <function>is_array</function> und
+ <function>is_float</function>, <function>is_int</function>,
+ <function>is_string</function>, <function>is_real</function>,
+ <function>is_object</function>, <function>is_array</function> und
      <function>is_long</function>.
     </para>
    </refsect1>
@@ -403,7 +390,7 @@
     <refpurpose>Prüft, ob eine Variable vom Typ long ist</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>is_long</function></funcdef>
@@ -411,16 +398,14 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- Diese Funktion ist ein Synonym für <function>is_integer</function>.
+ Diese Funktion ist ein Synonym für
+ <function>is_integer</function>.
     </para>
     <para>
      Siehe auch <function>is_double</function>,
- <function>is_float</function>,
- <function>is_int</function>,
- <function>is_real</function>,
- <function>is_string</function>,
- <function>is_object</function>,
- <function>is_array</function> und
+ <function>is_float</function>, <function>is_int</function>,
+ <function>is_real</function>, <function>is_string</function>,
+ <function>is_object</function>, <function>is_array</function> und
      <function>is_integer</function>.
     </para>
    </refsect1>
@@ -429,10 +414,10 @@
   <refentry id="function.is-object">
    <refnamediv>
     <refname>is_object</refname>
- <refpurpose>Prüft, oben eine Variable vom Tpy object ist</refpurpose>
+ <refpurpose>Prüft, ob eine Variable vom Typ object ist</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>is_object</function></funcdef>
@@ -440,17 +425,14 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- Liefert true, wenn <parameter>var</parameter> ein Objekt
- enthält, sonst false.
+ Liefert true, wenn <parameter>var</parameter> ein Objekt enthält,
+ sonst false.
     </para>
     <para>
      Siehe auch <function>is_long</function>,
- <function>is_int</function>,
- <function>is_integer</function>,
- <function>is_float</function>,
- <function>is_double</function>,
- <function>is_real</function>,
- <function>is_string</function> und
+ <function>is_int</function>, <function>is_integer</function>,
+ <function>is_float</function>, <function>is_double</function>,
+ <function>is_real</function>, <function>is_string</function> und
      <function>is_array</function>.
     </para>
    </refsect1>
@@ -462,7 +444,7 @@
     <refpurpose>Prüft, ob Variable vom Typ real ist</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>is_real</function></funcdef>
@@ -474,12 +456,9 @@
     </para>
     <para>
      Siehe auch <function>is_long</function>,
- <function>is_int</function>,
- <function>is_integer</function>,
- <function>is_float</function>,
- <function>is_double</function>,
- <function>is_object</function>,
- <function>is_string</function> und
+ <function>is_int</function>, <function>is_integer</function>,
+ <function>is_float</function>, <function>is_double</function>,
+ <function>is_object</function>, <function>is_string</function> und
      <function>is_array</function>.
     </para>
    </refsect1>
@@ -494,7 +473,7 @@
     </refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int
@@ -524,7 +503,7 @@
     <refpurpose>Prüft, ob Variable vom Typ string ist</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>is_string</function></funcdef>
@@ -537,12 +516,9 @@
     </para>
     <para>
      Siehe auch <function>is_long</function>,
- <function>is_int</function>,
- <function>is_integer</function>,
- <function>is_float</function>,
- <function>is_double</function>,
- <function>is_real</function>,
- <function>is_object</function> und
+ <function>is_int</function>, <function>is_integer</function>,
+ <function>is_float</function>, <function>is_double</function>,
+ <function>is_real</function>, <function>is_object</function> und
      <function>is_array</function>.
     </para>
    </refsect1>
@@ -554,7 +530,7 @@
     <refpurpose>Prüft die Existenz einer Variablen</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>isset</function></funcdef>
@@ -568,7 +544,7 @@
     </para>
     <para>
      Wird eine Variable oder ein Array-Element mit
- <function>unset</function> freigegeben so liefert
+ <function>unset</function> freigegeben, so liefert
      <function>isset</function> anschließend ebenfalls false.
      <informalexample>
       <programlisting role="php">
@@ -595,7 +571,7 @@
     </refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>void <function>print_r</function></funcdef>
@@ -605,8 +581,8 @@
     <para>
      Diese Funktion zeigt Informationen über eine Variable oder einen
      Ausdruck in lesbarer Form an. Einfache Werte werden direkt ausgegeben,
- Arrays und Objekte werden dagegen als eingerückte Schlüssel/Wert Paare
- ausgegeben.
+ Arrays und Objekte werden dagegen als eingerückte Schlüssel /
+ Wert-Paare ausgegeben.
     </para>
     <para>
      <function>print_r</function> ähnelt <function>var_dump</function>, giebt
@@ -624,21 +600,83 @@
     </para>
     <warning>
      <para>
- Diese Funktion ist nicht in der Lage, zyklische Referenzen aufzulösen,
- d.h. die Ausgabe eines Arrays oder Objektes, das sich selbst enthält,
- wie z.B. <literal>print_r($GLOBALS)</literal>, wird niemals beendet.
+ Diese Funktion ist nicht in der Lage, zyklische Referenzen
+ aufzulösen, d.h. die Ausgabe eines Arrays oder Objektes, das sich
+ selbst enthält, wie z.B. <literal>print_r($GLOBALS)</literal>,
+ wird niemals beendet.
      </para>
     </warning>
    </refsect1>
   </refentry>
 
+ <refentry id="function.serialize">
+ <refnamediv>
+ <refname>serialize</refname>
+ <refpurpose>
+ Erzeugt ein speicherbares Datenformat
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Beschreibung:</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>string <function>serialize</function></funcdef>
+ <paramdef>mixed <parameter>value</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ <function>Serialize</function> gibt eine Zeichenkette (String)
+ zurück, die eine Byte-Stream entsprechende Wiedergabe von
+ <parameter>value</parameter> enthält und beliebig abgespeichert
+ werden kann.
+ </simpara>
+ <simpara>
+ Diese Funktion dient der Speicherung oder Übergabe von
+ PHP-Werten, ohne dass diese ihren Wert oder ihre Struktur
+ verlieren.
+ </simpara>
+ <simpara>
+ Um eine serialisierte Zeichenkette wieder als PHP-Wert verfügbar
+ zu machen steht die <function>unserialize</function>-Funktion zur
+ Verfügung. <function>Serialize</function> kann mit den Typen
+ <type>integer</type>, <type>double</type>, <type>string</type>,
+ <type>array</type> (mehrdimensional) und <type>object</type>
+ umgehen. Beim Objekt werden die Eigenschaften serialisiert, die
+ Methoden gehen aber verloren.
+ </simpara>
+ <para>
+ <example>
+ <title><function>Serialize</function>-Beispiel:</title>
+ <programlisting role="php">
+// $session_data enthält ein mehrdimensionales Array mit
+// Session-Informationen des aktuellen Benutzers. Wir benutzen
+// serialize() um diese Infos am Ende der Anfrage in eine
+// Datenbank zu speichern.
+
+$conn = odbc_connect ("webdb", "php", "moorhuhn");
+$stmt = odbc_prepare ($conn,
+ "UPDATE sessions SET data = ? WHERE id = ?");
+$sqldata = array (serialize($session_data), $PHP_AUTH_USER);
+if (!odbc_execute ($stmt, &amp;$sqldata)) {
+ $stmt = odbc_prepare ($conn,
+ "INSERT INTO sessions (id, data) VALUES(?, ?)");
+ if (!odbc_execute($stmt, &amp;$sqldata)) {
+ /* Etwas lief schief. Fluche, heule und stöhne. */
+ }
+}
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
   <refentry id="function.settype">
    <refnamediv>
     <refname>settype</refname>
     <refpurpose>Legt den Typ einer Variablen fest</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>settype</function></funcdef>
@@ -647,7 +685,7 @@
      </funcprototype>
     </funcsynopsis>
     <para>
- Der Tpy der Variable <parameter>var</parameter> wird
+ Der Typ der Variablen <parameter>var</parameter> wird
      festgelegt als <parameter>type</parameter>.
     </para>
     <para>
@@ -672,10 +710,10 @@
   <refentry id="function.strval">
    <refnamediv>
     <refname>strval</refname>
- <refpurpose>Konvertierung zum string</refpurpose>
+ <refpurpose>Konvertierung zum String</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>string <function>strval</function></funcdef>
@@ -687,7 +725,7 @@
      <parameter>var</parameter> als String-Repräsentation zurück.
     </para>
     <para>
- <parameter>var</parameter> darf veon jedem einfache Datentyp,
+ <parameter>var</parameter> darf von jedem einfache Datentyp,
      aber kein Array oder Objekt sein.
     </para>
     <para>
@@ -698,13 +736,66 @@
    </refsect1>
   </refentry>
 
+ <refentry id="function.unserialize">
+ <refnamediv>
+ <refname>unserialize</refname>
+ <refpurpose>
+ Erzeugt aus einem gespeicherten Datenformat einen Wert in PHP
+ </refpurpose>
+ </refnamediv>
+ <refsect1>
+ <title>Beschreibung:</title>
+ <funcsynopsis>
+ <funcprototype>
+ <funcdef>mixed <function>unserialize</function></funcdef>
+ <paramdef>string <parameter>str</parameter></paramdef>
+ </funcprototype>
+ </funcsynopsis>
+ <simpara>
+ <function>Unserialize</function> nimmt eine einzelne
+ Variable aus einer serialisierten Datenmenge (siehe unter
+ <function>serialize</function>) und wandelt sie in einen
+ PHP-Wert um. Dieser Wert wird als Funktionsergebnis zurück
+ gegeben. Er kann vom Typ <type>integer</type>,
+ <type>double</type>, <type>string</type>, <type>array</type>
+ oder <type>object</type> sein. Wurde ein Objekt serialisiert,
+ können dessen Methoden nicht zurück gegeben werden.
+ </simpara>
+ <para>
+ <example>
+ <title><function>Unserialize</function>-Beispiel:</title>
+ <programlisting role="php">
+// Als Beispiel benutzen wir unserialize() um Daten aus einer
+// Datenbank nach $session_data zu laden. Das Beispiel vervollständigt
+// das unter serialize() beschriebene.
+
+$conn = odbc_connect ("webdb", "php", "moorhuhn");
+$stmt = odbc_prepare ($conn, "SELECT data FROM sessions WHERE id = ?");
+$sqldata = array ($PHP_AUTH_USER);
+if (!odbc_execute ($stmt, &amp;$sqldata) || !odbc_fetch_into ($stmt, &amp;$tmp)) {
+ // wenn execute oder fetch fehlschlägt, initialisiere ein leeres Array
+ $session_data = array();
+} else {
+ // die serialisierten Daten sollten nun in $tmp[0] stehen
+ $session_data = unserialize ($tmp[0]);
+ if (!is_array ($session_data)) {
+ // etwas ging schief, also wieder ein leeres Array initialisieren
+ $session_data = array();
+ }
+}
+ </programlisting>
+ </example>
+ </para>
+ </refsect1>
+ </refentry>
+
   <refentry id="function.unset">
    <refnamediv>
     <refname>unset</refname>
     <refpurpose>Löschen einer Variablen</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>int <function>unset</function></funcdef>
@@ -737,7 +828,7 @@
     <refpurpose>Giebt alle Informationen zu einer Variablen aus</refpurpose>
    </refnamediv>
    <refsect1>
- <title>Beschreibung</title>
+ <title>Beschreibung:</title>
     <funcsynopsis>
      <funcprototype>
       <funcdef>void <function>var_dump</function></funcdef>
@@ -746,9 +837,9 @@
     </funcsynopsis>
     <para>
      Diese Fuktion liefert Informationen über Typ und Wert des
- Parameter <parameter>expression</parameter> zurück.
- Arrays und Objekte werden rekursiv durchlaufen und mit
- entsprechender Einrückung dargestellt
+ Parameter <parameter>expression</parameter> zurück. Arrays und
+ Objekte werden rekursiv durchlaufen und mit entsprechender
+ Einrückung dargestellt.
     </para>
     <para>
      Siehe auch <function>print_r</function>.