betz Wed May 29 05:56:12 2002 EDT
Modified files:
/phpdoc-de/language operators.xml
Log:
sync to en
Index: phpdoc-de/language/operators.xml
diff -u phpdoc-de/language/operators.xml:1.14 phpdoc-de/language/operators.xml:1.15
--- phpdoc-de/language/operators.xml:1.14 Wed Mar 27 12:47:49 2002
+++ phpdoc-de/language/operators.xml Wed May 29 05:56:11 2002
@@ -1,9 +1,124 @@
<?xml version="1.0" encoding="iso-8859-1"?>
+<!-- EN-Revision: 1.37 Maintainer: betz Status: ready -->
+<!-- CREDITS: tzwenny -->
+
<chapter id="language.operators">
<title>Operatoren</title>
<simpara>
</simpara>
+ <sect1 id="language.operators.precedence">
+ <title>Operator-Rangfolge</title>
+ <para>
+ Die Operator-Rangfolge legt fest, wie "eng" ein Operator zwei
+ Ausdr�cke miteinander verbindet. Zum Beispiel ist das Ergebnis des
+ Ausdruckes <literal>1 + 5 * 3</literal> <literal>16</literal>
+ und nicht <literal>18</literal>, da der Mulitiplikations-Operator ("*")
+ in der Rangfolge h�her steht als der Additions-Operator ("+").
+ Wenn n�tig, k�nnen Sie Klammern setzen, um die Rangfolge der
+ Operatoren zu beeinflussen. Zum Beispiel: <literal>(1 + 5) * 3</literal>
+ ergibt <literal>18</literal>.
+ </para>
+ <para>
+ Die folgende Tabelle zeigt die Rangfolge der Operatoren, oben steht
+ der Operator mit dem niedrigsten Rang.
+
+ <table>
+ <title>Operator-Rangfolge</title>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Associativity</entry>
+ <entry>Operator</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>links</entry>
+ <entry>,</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>or</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>xor</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>and</entry>
+ </row>
+ <row>
+ <entry>rechts</entry>
+ <entry>print</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>= += -= *= /= .= %= &= |= ^= ~= <<= >>=</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>? :</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>||</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>&&</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>|</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>^</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>&</entry>
+ </row>
+ <row>
+ <entry>keine Richtung</entry>
+ <entry>== != ===</entry>
+ </row>
+ <row>
+ <entry>keine Richtung</entry>
+ <entry>< <= > >=</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry><< >></entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>+ - .</entry>
+ </row>
+ <row>
+ <entry>links</entry>
+ <entry>* / %</entry>
+ </row>
+ <row>
+ <entry>rechts</entry>
+ <entry>! ~ ++ -- (int) (float) (string) (array) (object) @</entry>
+ </row>
+ <row>
+ <entry>rechts</entry>
+ <entry>[</entry>
+ </row>
+ <row>
+ <entry>keine Richtung</entry>
+ <entry>new</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </para>
+ </sect1>
+
<sect1 id="language.operators.arithmetic">
<title>Arithmetische Operatoren</title>
<simpara>
@@ -13,7 +128,7 @@
</simpara>
<table>
- <title>Arithmetic Operators</title>
+ <title>Arithmetische Operatoren</title>
<tgroup cols="3">
<thead>
<row>
@@ -51,61 +166,65 @@
</tbody>
</tgroup>
</table>
-
-<!-- This appears to be inaccurate. Division always returns a float.
<simpara>
- The division operator ("/") returns an integer value (the result
- of an integer division) if the two operands are integers (or
- strings that get converted to integers). If either operand is a
- floating-point value, floating-point division is performed.
+ Der Divisions-Operator ("/") gibt immer eine Flie�kommazahl
+ zur�ck, sogar wenn die zwei Operanden Ganzzahlen sind (oder
+ Zeichenketten, die nach Ganzzahlen umgewandelt wurden).
</simpara>
---></sect1>
+ </sect1>
<sect1 id="language.operators.assignment">
<title>Zuweisungsoperatoren</title>
<simpara>
Der einfachste Zuweisungsoperator ist "=". Wahrscheinlich kommt
- man als erstes auf die Idee, ihn mit "ist gleich" zu bezeichnen.
+ man als erstes auf die Idee, ihn mit "ist gleich" zu bezeichnen.
Das ist falsch. In Wirklichkeit bedeutet er, dass dem linken Operanden
- der Wert des rechten Operanden zugewiesen wird (man m�sste ihn also
- mit "wird gesetzt auf den Wert von" �bersetzen).
+ der Wert des Ausdrucks auf der rechten Seite zugewiesen wird (man m�sste
+ ihn also mit "wird gesetzt auf den Wert von" �bersetzen).
</simpara>
<para>
Der Wert eines Zuweisungs-Ausdruckes ist der zugewiesene Wert.
- D. h. der Wert des Ausdruckes "$a = 3" ist 3. Das erlaubt es,
- einige raffinierte Dinge zu tun:
-<informalexample>
-<programlisting>
+ D.h. der Wert des Ausdruckes "$a = 3" ist 3. Das erlaubt es,
+ einige raffinierte Dinge anzustellen:
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
$a = ($b = 4) + 5 // $a ist nun gleich 9 und $b wurde auf den Wert 4 gesetzt.
-</programlisting>
-</informalexample>
+]]>
+ </programlisting>
+ </informalexample>
</para>
<para>
Zus�tzlich zu dem oben vorgestellten Zuweisungsoperator "=" gibt
es "kombinierte Operatoren" f�r alle bin�ren, arithmetischen und
String-Operatoren, die es erlauben, den Wert einer Variablen in einem Ausdruck
zu benutzen, und dieser anschlie�end das Ergebnis des Ausdrucks
- als neuen Wert zuzuweisen. Beispiel: <informalexample><programlisting>
+ als neuen Wert zuzuweisen. Zum Beispiel:
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
$a = 3;
$a += 5; // setzt $a auf den Wert 8, als ob wir geschrieben haetten: $a = $a + 5;
$b = "Hallo ";
-$b .= "Du!"; // setzt $b auf den Wert "Hallo Du!", aequivalent zu $b = $b . "There!";
-</programlisting></informalexample>
+$b .= "Du!"; // setzt $b auf den Wert "Hallo Du!", aequivalent zu $b = $b . "Du!";
+]]>
+ </programlisting>
+ </informalexample>
</para>
<para>
- Man beachte, dass die Zuweisung nur den Wert der Ursprungsvarialbe der
- neuen Variable zuweist (assignment by value)(sie "kopiert"), weshalb sich
- �nderungen an der einen Variablen nicht auf die andere auswirken
- werden. Das kann wichtig sein wenn man einen gro�en Array o. �. in
- einer Schleife kopieren muss. PHP4 unterst�tzt 'assignement by
- reference' (Zuweisung als Verweis), mithilfe der
- <computeroutput>$var = &$othervar;</computeroutput>-Syntax, dies
- funktioniert jedoch nicht in PHP3. 'Assignement by reference' bedeutet,
- dass beide Variablen nach der Zuweisung die selben Daten repr�sentieren.
- Nach der Zuweisung ver�ndert eine �nderung der Variable
<computeroutput>$var</computeroutput>
- auch den Inhalt der Variable <computeroutput>&$othervar;</computeroutput>,
nichts
- wird kopiert, stattdessen wird ein "Verweis" auf die erste Variable angelegt.
+ Man beachte, dass die Zuweisung nur den Wert der Ursprungsvarialbe der
+ neuen Variable zuweist (Zuweisung als Wert, sie "kopiert"), weshalb sich
+ �nderungen an der einen Variablen nicht auf die andere auswirken
+ werden. Das kann wichtig sein,wenn man einen gro�en Array o. �. in
+ einer Schleife kopieren muss. PHP 4 unterst�tzt 'assignement by
+ reference' (Zuweisung als Verweis), mit Hilfe der Schreibweise
+ <computeroutput>$var = &$othervar;</computeroutput>, das
+ funktioniert jedoch nicht in PHP 3. 'Assignement by reference' bedeutet,
+ dass beide Variablen nach der Zuweisung die selben Daten repr�sentieren
+ und nichts kopiert wird.
+ Um mehr �ber Referenzen zu lernen, lesen Sie bitte den Abschnitt
+ <link linkend="language.references">Referenzen erkl�rt</link>.
</para>
</sect1>
@@ -114,66 +233,87 @@
<title>Bit-Operatoren</title>
<simpara>
Bit-Operatoren erlauben es, in einem Integer bestimmte Bits "ein- oder
- auszuschalten" (auf 0 oder 1 zu setzen).
+ auszuschalten" (auf 0 oder 1 zu setzen). Wenn beide, der links- und
+ rechsseitge Parameter, Zeichenketten sind, arbeiten die Bit-Operatoren
+ mit den einzelnen Zeichen.
</simpara>
+ <para>
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<?php
+ echo 12 ^ 9; // Ausgabe '5'
+
+ echo "12" ^ "9"; // Ausgabe:das Backspace-Zeichen (ascii 8)
+ // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8
+
+ echo "hallo" ^ "hello"; // Gibt die ASCII-Werte #0 #4 #0 #0 #0
+ // 'a' ^ 'e' = #4 aus
+?>
+]]>
+ </programlisting>
+ </informalexample>
+ </para>
- <table>
- <title>Bit-Operatoren</title>
- <tgroup cols="3">
- <thead>
- <row>
- <entry>Beispiel</entry>
- <entry>Name</entry>
- <entry>Ergebnis</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>$a & $b</entry>
- <entry>Und</entry>
- <entry>Die Bits sind in $a und in $b gesetzt.</entry>
+ <table>
+ <title>Bit-Operatoren</title>
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Beispiel</entry>
+ <entry>Name</entry>
+ <entry>Ergebnis</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>$a & $b</entry>
+ <entry>Und</entry>
+ <entry>Bits, die in $a und $b gesetzt sind werden gesetzt.</entry>
</row>
<row>
<entry>$a | $b</entry>
<entry>Oder</entry>
- <entry>Die Bits sind entweder in $a oder in $b gesetzt.</entry>
+ <entry>Bits, die in $a oder $b gesetzt sind werden gesetzt.</entry>
</row>
<row>
<entry>$a ^ $b</entry>
<entry>Entweder oder (Xor)</entry>
- <entry>Die Bits sind in $a oder in $b gesetzt, aber nicht in beiden.
- </entry>
+ <entry>Bits, die entweder in $a oder $b gesetzt sind, werden gesetzt
+ aber nicht in beiden.
+ </entry>
</row>
<row>
<entry>~ $a</entry>
<entry>Nicht</entry>
- <entry>Die Bits, die in $a nicht gesetzt sind, sind gesetzt, und
- umgekehrt.</entry>
+ <entry>Die Bits, die in $a nicht gesetzt sind, werden gesetzt und
+ umgekehrt.
+ </entry>
</row>
<row>
<entry>$a << $b</entry>
<entry>Nach links verschieben</entry>
- <entry>Verschiebung der Bits von $a um $b Stellen nach links (Jede
- Stelle entspricht einer Mulitplikation mit zwei.</entry>
+ <entry>Verschiebung der Bits von $a um $b Stellen nach links (jede
+ Stelle entspricht einer Mulitplikation mit zwei).
+ </entry>
</row>
<row>
<entry>$a >> $b</entry>
- <entry>Nach links verschieben</entry>
+ <entry>Nach rechts verschieben</entry>
<entry>Verschiebt die Bits von $a um $b Stellen nach rechts (jede Stelle
- entspricht einer Division durch zwei).</entry>
+ entspricht einer Division durch zwei).
+ </entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
-
-
<sect1 id="language.operators.comparison">
<title>Vergleichs-Operatoren</title>
<simpara>
- Vergleichs-Operatoren erlauben es - wie der Name
- schon sagt - zwei Werte zu vergleichen.
+ Vergleichs-Operatoren erlauben es - wie der Name
+ schon sagt - zwei Werte zu vergleichen.
</simpara>
<table>
@@ -196,7 +336,8 @@
<entry>$a === $b</entry>
<entry>Identisch</entry>
<entry>Gibt &true; zur�ck wenn $a gleich $b ist und beide
- vom gleichen Typ sind(funktioniert nur in PHP4)</entry>
+ vom gleichen Typ sind(nur PHP 4).
+ </entry>
</row>
<row>
<entry>$a != $b</entry>
@@ -204,6 +345,19 @@
<entry>Gibt &true; zur�ck, wenn $a nicht gleich $b ist.</entry>
</row>
<row>
+ <entry>$a <> $b</entry>
+ <entry>Ungleich</entry>
+ <entry>Gibt &true; zur�ck, wenn $a nicht gleich $b ist.</entry>
+ </row>
+ <row>
+ <entry>$a !== $b</entry>
+ <entry>Nicht identisch</entry>
+ <entry>
+ Gibt &true; zur�ck, wenn $a nicht gleich $b ist, oder wenn beide
+ nicht vom gleichen Typ sind (nur PHP 4).
+ </entry>
+ </row>
+ <row>
<entry>$a < $b</entry>
<entry>Kleiner Als</entry>
<entry>Gibt &true; zur�ck, wenn $a kleiner als $b ist.</entry>
@@ -227,23 +381,23 @@
</tgroup>
</table>
- <para>
+ <para>
Ein weiter Vergleichs-Operator ist der "?:"- oder Trinit�ts-Operator.
Er arbeitet genauso wie in C und vielen anderen Programmier-Sprachen.
-
- <informalexample>
- <programlisting>
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
(ausdr1) ? (ausdr2) : (ausdr3);
- </programlisting>
- </informalexample>
-
- Dieser Ausdruch gibt
- <replaceable>ausdr2</replaceable> zur�ck, wenn
- <replaceable>ausdr1</replaceable> &true; zur�ckgibt, und
- <replaceable>ausdr3</replaceable>, wenn
- <replaceable>ausdr1</replaceable> &false; zur�ckgibt.
- </para>
- </sect1>
+]]>
+ </programlisting>
+ </informalexample>
+ Dieser Ausdruck gibt
+ <replaceable>ausdr2</replaceable> zur�ck, wenn
+ <replaceable>ausdr1</replaceable> &true; zur�ckgibt und
+ <replaceable>ausdr3</replaceable>, wenn
+ <replaceable>ausdr1</replaceable> &false; zur�ckgibt.
+ </para>
+ </sect1>
<sect1 id="language.operators.errorcontrol">
@@ -267,60 +421,87 @@
<para>
<informalexample>
<programlisting role="php">
-<?php
-/* Beabsichtigter SQL-Fehler (zus�tzliches Anfuehrungszeichen): */
-$res = @mysql_query( "select name, code from 'namelist" ) or
- die( "SQL-Anfrage fehlgeschlagen: Fehlermeldung: '$php_errormsg'" );
-?>
+<![CDATA[
+<?php
+/* Beabsichtigter Dateifehler */
+$my_file = @file ('nicht_vorhandene_Datei') or
+ die ("Datei konnte nicht ge�ffnetwerden: Fehler war:'$php_errormsg'");
+
+// Das funktioniert bei jedem Ausdruck, nicht nur bei Funktionen:
+$value = @$cache[$key];
+// erzeugt keine Notice, falls der Index $key nicht vorhanden ist.
+
+?>
+]]>
</programlisting>
</informalexample>
-
</para>
-
+ <note>
+ <simpara>
+ Der @-Operator funktioniert nur bei Ausdr�cken. Eine einfache
+ Daumenregel: wenn Sie den Wert von etwas bestimmen k�nnen, dann
+ k�nnen Sie den @-Operator davor schreiben. Zum Beispiel k�nnen Sie
+ ihn vor Variablen, Funktionsaufrufe und vor
+ <function>include</function> setzen, vor Konstanten und so weiter.
+ Nicht verwenden k�nnen Sie diesen Operator vor Funktions- oder
+ Klassendefinitionen oder vor Kontrollstrukturen wie zum Beispiel
+ <literal>if</literal> und <literal>foreach</literal> und so weiter.
+ </simpara>
+ </note>
<simpara>
Siehe auch <function>error_reporting</function>.
</simpara>
-
+ <warning>
+ <para>
+ Zum gegenw�rtigen Zeitpunkt deaktiviert der "@"
+ Fehler-Kontrolloperator die Fehlermeldungen selbst bei kritischen
+ Fehlern, die die Ausf�hrung eines Skripts beenden. Unter anderem
+ bedeutet das, wenn Sie "@" einer bestimmten Funktion voranstellen,
+ diese aber nicht zur Verf�gung steht oder falsch geschrieben wurde, Ihr
+ PHP-Skript einfach beendet wird, ohne Hinweis auf die Ursache.
+ </para>
+ </warning>
</sect1>
-
<sect1 id="language.operators.execution">
<title>Operatoren zur Programmausf�hrung</title>
-
<para>
- PHP unterst�tzt einen Operator zur Ausf�hrung externer Programme:
- Die sog. Backticks (``). Achtung: Die Backticks sind keine einfachen
Anf�hrungszeichen,
- sondern entsprechen auf den meisten Tastaturen den Tasten f�r die
- frz. Accents.
- PHP versucht, den Text zwischen den Backticks als Kommandozeilen-Befehl
- auszuf�hren. Zur�ckgegeben wird der die Ausgabe des aufgegebenen Programms (d.
h. die
- Ausgabe wird nicht einfach gel�scht, sondern kann einer Variablen zugewiesen
werden).
+ PHP unterst�tzt einen Operator zur Ausf�hrung externer Programme:
+ Die sog. Backticks (``). Achtung: Die Backticks sind keine einfachen
+ Anf�hrungszeichen! PHP versucht, den Text zwischen den Backticks als
+ Kommandozeilen-Befehl auszuf�hren. Die Ausgabe des aufgerufenen Programms
+ wird zur�ckgegeben (d.h. wird nicht einfach
+ ausgegeben, sondern kann einer Variablen zugewiesen werden).
- <informalexample>
- <programlisting role="php">
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
$output = `ls -al`;
-echo "<pre>$output</pre>";
- </programlisting>
- </informalexample>
-
+echo "<pre>$output</pre>";
+]]>
+ </programlisting>
+ </informalexample>
</para>
-
+ <note>
+ <para>
+ Der Backtick-Operator steht nicht zur Verf�gung, wenn der
+ <link linkend="ini.safe-mode">Safe Mode</link> aktiviert
+ ist oder die Funktion <function>shell_exec</function> deaktiviert wurde.
+ </para>
+ </note>
<para>
- Siehe auch <function>system</function>,
- <function>passthru</function>, <function>exec</function>,
- <function>popen</function>, und
- <function>escapeshellcmd</function>.
+ Siehe auch <function>escapeshellcmd</function>, <function>exec</function>,
+ <function>passthru</function>, <function>popen</function>,
+ <function>shell_exec</function> und <function>system</function>.
</para>
-
</sect1>
-
<sect1 id="language.operators.increment">
<title>Inkrementierungs- bzw. Dekrementierungsoperatoren</title>
<para>
- PHP unterst�tzt Pr�- und Post-Inkrementierungs- und
Dekrementierungsoperatoren im
- Stil der Programmiersprache C.
+ PHP unterst�tzt Pr�- und Post-Inkrementierungs- und Dekrementierungsoperatoren im
+ Stil der Programmiersprache C.
</para>
<table>
@@ -337,58 +518,65 @@
<row>
<entry>++$a</entry>
<entry>Pr�-Inkrement</entry>
- <entry>Erh�ht den Wert von $a um eins (inkrementiert $a), und gibt
anschlie�end den neuen Wert von $a
- zur�ck.</entry>
+ <entry>Erh�ht den Wert von $a um eins (inkrementiert $a) und gibt
+ anschlie�end den neuen Wert von $a zur�ck.
+ </entry>
</row>
<row>
<entry>$a++</entry>
<entry>Post-Inkrement</entry>
- <entry>Gibt zuerst den aktuellen Wert von $a zur�ck und erh�ht dann den Wert
von $a um eins.</entry>
+ <entry>Gibt zuerst den aktuellen Wert von $a zur�ck und erh�ht dann
+ den Wert von $a um eins.
+ </entry>
</row>
<row>
<entry>--$a</entry>
<entry>Pr�-Dekrement</entry>
- <entry>Vermindert den Wert von $a um eins (dekrementiert $a), und gibt
anschlie�end den neuen Wert
- von $a zur�ck.</entry>
+ <entry>Vermindert den Wert von $a um eins (dekrementiert $a) und gibt
+ anschlie�end den neuen Wert von $a zur�ck.
+ </entry>
</row>
<row>
<entry>$a--</entry>
<entry>Post-Dekrement</entry>
- <entry>Gibt zuerst den aktuellen Wert von $a zur�ck und erniedrigt dann den
Wert von $a um eins.</entry>
+ <entry>Gibt zuerst den aktuellen Wert von $a zur�ck und erniedrigt
+ dann den Wert von $a um eins.
+ </entry>
</row>
</tbody>
</tgroup>
</table>
<para>
- Ein einfach Beispiel-Skript:
- <informalexample>
- <programlisting>
-<?php
-echo "<h3>Post-Inkrement</h3>";
+ Ein einfach Beispiel-Skript:
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
+<?php
+echo "<h3>Post-Inkrement</h3>";
$a = 5;
-echo "Sollte 5 sein: " . $a++ . "<br>\n";
-echo "Sollte 6 sein: " . $a . "<br>\n";
+echo "Sollte 5 sein: " . $a++ . "<br />\n";
+echo "Sollte 6 sein: " . $a . "<br />\n";
-echo "<h3>Prae-Inkrement</h3>";
+echo "<h3>Pre-Inkrement</h3>";
$a = 5;
-echo "Sollte 6 sein: " . ++$a . "<br>\n";
-echo "Sollte 6 sein: " . $a . "<br>\n";
+echo "Sollte 6 sein: " . ++$a . "<br />\n";
+echo "Sollte 6 sein: " . $a . "<br />\n";
-echo "<h3>Post-Dekrement</h3>";
+echo "<h3>Post-Dekrement</h3>";
$a = 5;
-echo "Sollte 5 sein: " . $a-- . "<br>\n";
-echo "Sollte 4 sein: " . $a . "<br>\n";
+echo "Sollte 5 sein: " . $a-- . "<br />\n";
+echo "Sollte 4 sein: " . $a . "<br />\n";
-echo "<h3>Praedekrement</h3>";
+echo "<h3>Pre-Dekrement</h3>";
$a = 5;
-echo "Sollte 4 sein: " . --$a . "<br>\n";
-echo "Sollte 4 sein: " . $a . "<br>\n";
-?>
- </programlisting>
- </informalexample>
+echo "Sollte 4 sein: " . --$a . "<br />\n";
+echo "Sollte 4 sein: " . $a . "<br />\n";
+?>
+]]>
+ </programlisting>
+ </informalexample>
</para>
-
</sect1>
@@ -441,139 +629,37 @@
</table>
<simpara>
- Der Grund daf�r, dass es je zwei unterschiedliche Operatoren f�r
- die "Und"- und die "Oder"-Verkn�pfung gibt ist, dass die beiden
- Operatoren jeweils einen unterschiedliche Pl�tze in der Operator-Rangfolge
- haben. (siehe auch <link
linkend="language.operators.precedence">Operator-Rangfolge</link>.)
+ Der Grund daf�r, dass es je zwei unterschiedliche Operatoren f�r
+ die "Und"- und die "Oder"-Verkn�pfung gibt ist der, dass die beiden
+ Operatoren jeweils Rangfolgen haben. (siehe auch
+ <link linkend="language.operators.precedence">Operator-Rangfolge</link>.)
</simpara>
</sect1>
- <sect1 id="language.operators.precedence">
- <title>Operator-Rangfolge</title>
- <para>
- Die Operator-Rangfolge legt fest, wie "eng" ein Operator zwei
- Ausdr�cke miteinander verbindet. Das Ergebnis des Ausdruckes
- <literal>1 + 5 * 3</literal> ist z. B. 16 und nicht 18, da der
- Mulitiplikations-Operator (*) in der Rangfolge h�her steht als
- der Additions-Operator (+).</para>
- <para>
- Die folgende Tabelle zeigt die Rangfolge der Operatoren, oben steht
- der Operator mit dem niedrigsten Rang.
-
- <table>
- <title>Operator-Rangfolge</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Associativity</entry>
- <entry>Operator</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>links</entry>
- <entry>,</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>or</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>xor</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>and</entry>
- </row>
- <row>
- <entry>rechts</entry>
- <entry>print</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>= += -= *= /= .= %= &= |= ^= ~= <<= >>=</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>? :</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>||</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>&&</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>|</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>^</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>&</entry>
- </row>
- <row>
- <entry>keine Richtung</entry>
- <entry>== != ===</entry>
- </row>
- <row>
- <entry>keine Richtung</entry>
- <entry>< <= > >=</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry><< >></entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>+ - .</entry>
- </row>
- <row>
- <entry>links</entry>
- <entry>* / %</entry>
- </row>
- <row>
- <entry>rechts</entry>
- <entry>! ~ ++ -- (int) (double) (string) (array) (object) @</entry>
- </row>
- <row>
- <entry>rechts</entry>
- <entry>[</entry>
- </row>
- <row>
- <entry>keine Richtung</entry>
- <entry>new</entry>
- </row>
- </tbody>
- </tgroup>
- </table></para></sect1>
-
<sect1 id="language.operators.string">
<title>Zeichenketten-Operatoren</title>
<simpara>
- Es gibt in PHP zwei Operatoren f�r Zeichenketten. Der erste ist
- Vereinigungs-Operator. ('.'), dessen R�ckgabewert eine Zeichenkette,
- zusammengesetzt aus dem rechten und dem linken Argument, ist.
- Der zweite ist der Vereinigungs-Zuweisungsoperator ('.='). Siehe
- <link linkend="language.operators.assignment">Zuweisungs-Operatoren</link> f�r
- weitere Informationen.
+ Es gibt in PHP zwei Operatoren f�r Zeichenketten. Der erste ist der
+ Vereinigungs-Operator ('.'), dessen R�ckgabewert eine zusammengesetzte
+ Zeichenkette aus dem rechten und dem linken Argument ist.
+ Der zweite ist der Vereinigungs-Zuweisungsoperator ('.='), der das
+ Argument auf der rechten Seite an das Argument der linken Seite anh�ngt.
+ Siehe
+ <link linkend="language.operators.assignment">Zuweisungs-Operatoren</link>
+ f�r weitere Informationen.
</simpara>
<para>
- <informalexample>
- <programlisting>
+ <informalexample>
+ <programlisting role="php">
+<![CDATA[
$a = "Hallo ";
-$b = $a . "Welt!"; // $b enthaelt jetzt den Text "Hallo Welt!"
+$b = $a . "Welt!"; // $b enth�lt jetzt den Text "Hallo Welt!"
$a = "Hallo ";
-$a .= "Welt!"; // $a enth�lt jetzt den Text "Hallo Welt!"
+$a .= "Welt!"; // $a enth�lt jetzt den Text "Hallo Welt!"
+]]>
</programlisting>
- </informalexample>
+ </informalexample>
</para>
</sect1>