cvs: phpdoc-ar /language operators.xml

[email protected] ("Hafid Benhadria") Sat, 08 Nov 2003 06:13:29 -0000
Newsgroups php.doc.ar
Message-ID <cvshafid1068272009@cvsserver>
hafid		Sat Nov  8 01:13:29 2003 EDT

  Added files:                 
    /phpdoc-ar/language	operators.xml 
  Log:
  Fulle Arabic Translation. EN 1.53 Compliant.
hafid-20031108011329.txt (text/plain, 29.1 KB)
Index: phpdoc-ar/language/operators.xml
+++ phpdoc-ar/language/operators.xml
<?xml version="1.0" encoding="ISO-8859-6"?>
<!-- $Revision: 1.1 $ -->
<!-- EN-Revision: 1.53 Maintainer: hafid Status: ready -->
 <chapter id="language.operators">
  <title>ÇäåïÔÚñðäÇÊ (Operators)</title>
  <simpara>
  </simpara>
  
  <sect1 id="language.operators.precedence">
   <title>ÃÓÈâêÉ ÇäåïÔÚñðäÇÊ (Operator Precedence)</title>
   <para>
    ÊïÍÏñðÏ ÃÓÈâêÉ åïÔÚñðä ÏÑÌÉ "ÇäÅÍãÇå" ÇäÐê êÑÈ× Èêæ 
    ÙÈÇÑÊêæ åÙÇ. Ùäé ÓÈêä ÇäåËÇä: áê ÇäÙÈÇÑÉ <literal>1 +
    5 * 3</literal>¬ ÇäÌèÇÈ çè <literal>16</literal> èäêÓ 
    <literal>18</literal> äÃæñî åïÔÚñðä ("*") ääÖÑÈ 
    äÏêç ÃÓÈâêÉ ÃÙäé åæ åïÔÚñðä ("+") ääÅÖÇáÉ.
    êåãæ ÇÓÊÎÏÇå ÇäÃâèÇÓ äâÓÑ ÇäÃÓÈâêɬ Åæ ÇâÊÖÊ ÇäÖñîÑèÑÉ. Ùäé 
    ÓÈêä ÇäåËÇä: <literal>(1 + 5) * 3</literal> ÊÙ×ê ÇäâêåÉ 
    <literal>18</literal>.
   </para>
   <para>
    ÇäÌÏèä ÇäÊñîÇäêñ êÓÑÏ äÇÆÍÉ ÃÓÈâêÉ ÇäåïÔÚñðäÇÊ åÙ 
    ÓÑÏ Ãâä ÇäåïÔÚñðäÇÊ ÃÓÈâêÉ ÃèäÇ. 
    <table>
     <title>ÃÓÈâêÉ ÇäåïÔÚñðäÇÊ</title>
     <tgroup cols="2">
      <thead>
       <row>
        <entry>ÊÔÇÑãêÉ (Associativity)</entry>
        <entry>ÇäåïÔÚñðäÇÊ</entry>
       </row>
      </thead>
      <tbody>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>,</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>or</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>xor</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>and</entry>
       </row>
       <row>
        <entry>êåêæ</entry>
        <entry>print</entry>
       </row>
       <row>
        <entry>êåêæ</entry>
        <entry>
         = += -= *= /= .= %= &amp;= |= ^= &lt;&lt;= &gt;&gt;=
        </entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>? :</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>||</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>&amp;&amp;</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>|</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>^</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>&amp;</entry>
       </row>
       <row>
        <entry>ÚêÑ ÊÔÇÑãêñ (non-associative)</entry>
        <entry>== != === !==</entry>
       </row>
       <row>
        <entry>ÚêÑ ÊÔÇÑãêñ</entry>
        <entry>&lt; &lt;= &gt; &gt;=</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>&lt;&lt; &gt;&gt;</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>+ - .</entry>
       </row>
       <row>
        <entry>êÓÇÑ</entry>
        <entry>* / %</entry>
       </row>
       <row>
        <entry>êåêæ</entry>
        <entry>! ~ ++ -- (int) (float) (string) (array) (object) @</entry>
       </row>
       <row>
        <entry>êåêæ</entry>
        <entry>[</entry>
       </row>
       <row>
        <entry>ÚêÑ ÊÔÇÑãêñ</entry>
        <entry>new</entry>
       </row>
      </tbody>
     </tgroup>
    </table>
   </para>
   <note>
    <para>
     ÈÇäÑñîÚå åæ Ãæñî äà <literal>!</literal> ÃÓÈâêÉ ÃÙäé ååÇ 
     <literal>=</literal>, PHP will still allow expressions
     êÔÈç ÇäÊñîÇäêñ: <literal>if (!$a = foo())</literal>¬ 
     åæ ÍêË Ãæñî ÇäåïÎòÑîÌ åæ <literal>foo()</literal> 
     ÓêÊå èÖÙç áê <varname>$a</varname>.
    </para>
   </note>
  </sect1>

  <sect1 id="language.operators.arithmetic">
   <title>ÇäåïÔÚñðäÇÊ ÇäÍÓÇÈêñîÉ (Arithmetic Operators)</title>
   <simpara>
    ÊîÐòãïÑ Ùäå ÇäÍÓÇÈ ÇäâÇÙÏêñ åæ ÇäåÏÑÓÉ¿ ÊÙåä çÐç åËä 
    Êäã ÈÇäÖñîÈ×. 
   </simpara>
   <table>
    <title>ÇäåïÔÚñðäÇÊ ÇäÍÓÇÈêñîÉ</title>
    <tgroup cols="3">
     <thead>
      <row>
       <entry>åËÇä</entry>
       <entry>ÅÓå</entry>
       <entry>æÊêÌÉ</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>$a + $b</entry>
       <entry>ÅÖÇáÉ (Addition)</entry>
       <entry>åÌåèÙ $a è $b.</entry>
      </row>
      <row>
       <entry>$a - $b</entry>
       <entry>×ÑÍ (Subtraction)</entry>
       <entry>áÇÑâ $a è $b.</entry>
      </row>
      <row>
       <entry>$a * $b</entry>
       <entry>ÇäÖñÑÈ (Multiplication)</entry>
       <entry>æÇÊÌ $a è $b.</entry>
      </row>
      <row>
       <entry>$a / $b</entry>
       <entry>ÇäâÓåÉ (Division)</entry>
       <entry>ÍÇÕä $a è $b.</entry>
      </row>
      <row>
       <entry>$a % $b</entry>
       <entry>ÇäÍÇÕä (Modulus)</entry>
       <entry>ÈÇâê âÓåÉ $a Ùäé $b.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
   <simpara>
    êñïÑÌðÙï åïÔÚñðä ÇäâÓåÉ ("/") âêåÉ ÙÇÆåÉ áê Ãêñ èâʬ 
    ÍÊé èÅæ ãÇæ ÇäåÙÇåäÇæ (operands) ÙÏÏêæ ÕÍêÍêæ (Ãè ÓäÇÓä æÕêñîÉ 
    ÍïèñðäîÊ Åäé ÃÙÏÇÏ ÕÍêÍÉ).
   </simpara>
   <simpara>
    ÇÓÊÙÑÖ ÃêÖÇ ÕáÍÉ ÇäÏñîäêä ÈÎÕèÕ 
    <link linkend="ref.math">ÇäÏñîèÇä ÇäÑñðêÇÖêñîÉ (Math functions)</link>. 
   </simpara>

   <!--
   <simpara>
    êïÑÌðÙï åïÔÚñðä ÇäâÓåÉ ("/") âêåÉ ÙÏÏêñîÉ ÕÍêÍÉ (æÇÊÌ 
    âÓåÉ ÙÏÏ ÕÍêÍ) ÅÐÇ ãÇæ ÇäåÙÇåäÇæ ÙÏÏÇæ ÕÍêÍÇæ (Ãè 
    ÓäÇÓä æÕêñîÉ ÍïèñðäîÊ Åäé ÃÙÏÇÏ ÕÍêÍÉ) èãÇæ ÇäÍÇÕä 
    ÙÏÏÇ ÕÍêÍÇ. ÅÐÇ ãÇæ ÃÍÏ ÇäåÙÇåäêæ ÙÈÇÑÉ Ùæ âêåÉ ÐÇÊ æâ×É ÙÇÆåÉ Ãè Ãæñî 
    ÇäÙåäêÉ ÊæÊÌ ÙæçÇ âêåÉ ÚêÑ ÙÏÏêñîÉ ÕÍêÍɬ áÅæñîç êÊå ÅÑÌÇÙ âêåÉ ÐÇÊ æâ×É ÙÇÆåÉ 
    .
   </simpara>
   -->
  </sect1>
  
  <sect1 id="language.operators.assignment">
   <title>åïÔÚñðäÇÊ ÇäÊñîÙêêæ (Assignment Operators)</title>
   <simpara>
    åïÔîÚñðä ÇäÊñîÙêêæ ÇäâÇÙÏêñ çè "=". äÑÈåÇ ÓÊÙÊâÏ ääèçäÉ ÇäÃèäé 
    çè ÇäÊñîáãêÑ ÈçÐÇ Ùäé Ãæñîç "êÓÇèê - equal to". ãïáñî Ùæ Ðäã. áê ÇäÍâêâɬ çè êÙæê Ãæ 
    ÇäåïÙÇåä ÇäÐê Ùäé ÇäêÓÇÑ êÍÕä Ùäé âêåÉ ÇäÙÈÇÑÉ ÇäÊñðê Ùäé 
    Çäêåêæ (Êäã çê: "êÍÕä Ùäé âêåÉ - gets set to").
   </simpara>
   <para>
    Åæñî âêåÉ ÙÈÇÑÉ ÇäÊñîÙêêæ çê ÇäâêåÉ ÇäåïÙêñîæîÉ. Ãê 
    Ãæñî âêåÉ "$a = 3" çê 3. êÓåÍ çÐÇ äã ÈÇäâêÇå ÈÈÙÖ 
    ÇäÍðêä: 
    <informalexample>
     <programlisting role="php"> 
<![CDATA[
$a = ($b = 4) + 5; // $a ÊÓÇèê 9 ÇäÂæ è $b ÙïêñðæîÊ âêåÊçÇ äà 4.
]]>
     </programlisting>
    </informalexample>
   </para>
   <para>
    ÈÇäÅÖÇáÉ Åäé åÙÇåä ÇäÊñîÙêêæ ÇäâÇÙÏêñ¬ çæÇã "åÔÚñðäÇÊ åïÑîãñîÈîÉ - combined
    operators" äÃÌä ãäñ ÇäåïÔÚñðäÇÊ ÇäÍÓÇÈêñîÉ ÇäËñïæÇÆêñîÉ èåïÔÚñðäÇÊ ÇäÓñîäÇÓä ÇäæñîÕêñîÉ (binary arithmetic and string operators)
    ÇäÊñðê ÊÓåÍ ÈÇÓÊÎÏÇå âêåÉ áê ÙÈÇÑÉ èåæ Ëå ÊÙêêæ  
    âêåÊçÇ äÏé æÊêÌÉ çÐç ÇäÙÈÇÑÉ. Ùäé ÓÈêä ÇäåËÇä: 
    <informalexample>
     <programlisting role="php">
<![CDATA[
$a = 3;
$a += 5; // ÊïÙêñðæ âêåÉ $a äà 8¬ èãÃæñîæÇ âäæÇ: $a = $a + 5;
$b = "ÃçäÇ ";
$b .= "ÃæÊå çæÇ!"; // ÊïÙêñðæ âêåÉ $b äà "ÃçäÇ ÃæÊå çæÇ!"¬ ÈÇäÖñîÈ׬ åËä $b = $b . "ÃæÊå çæÇ!";
]]>
     </programlisting>
    </informalexample>
   </para>
   <para>
    äÇÍØ Ãæñî ÇäÊñîÙêêæ êæÓÎ ÇäåÊÚêñðÑ ÇäÃÕäêñ ÈÇÊÌÇç ÇäåÊÚêñðÑ 
    ÇäÌÏêÏ (ÇäÊñîÙêêæ ÈèÇÓ×É ÇäâêåÉ)¬ ÈÍêË Ãæñî ÇäÊñîÚêêÑÇÊ Çä×ñîÇÑÆÉ Ùäé ÃÍÏçåÇ äæ ÊÄËÑ áê 
    ÇäÂÎÑ. êåãæ Ãæ äçÐÇ ÕäÉ ÃêÖÇ ÅÐÇ ÇÍÊÌÈ äæÓÎ ÔêÁ åÇ 
    ãåÕáèáÉ ãÈêÑÉ Öåæ ÍäâÉ åÔÏèÏÉ (tight loop). ÊÏÙå PHP 4 ÇäÊñîÙêêæ 
    ÈÇäÅÍÇäÉ (assignment by reference)¬ ÈÇÓÊÎÏÇå ÕêÚÉ <computeroutput>$var =
    &amp;$othervar;</computeroutput>¬ äãæ çÐÇ ÚêÑ ååãæ 
    áê PHP 3. êÙæê 'ÇäÊñîÙêêæ ÈÇäÅÍÇäÉ' Ãæñî ãäÇ ÇäåÊÚêñðÑêæ êÄèä ÃåÑçåÇ 
    èçåÇ êÔêÑÇæ Åäé æáÓ ÇäÈêÇæÇÊ èäÇ ÔêÁ êÊå æÓÎç áê Ãêñ åãÇæ. 
    äÊÙäñïå ÇäåÒêÏ ÈÎÕèÕ ÇäÅÍÇäÇʬ ÑÌÇÁë¬ ÇâÑà <link 
    linkend="language.references">ÔÑÍ ÇäÅÍÇäÇÊ</link>.
   </para>
  </sect1>

  <sect1 id="language.operators.bitwise">
   <title>ÇäåïÔÚñðäÇÊ ÇäÙÇåäÉ Ùäé ÇäÈÇêÊÇÊ (Bitwise Operators)</title>
   <simpara>
    ÊÓåÍ äã ÇäåïÔÚñðäÇÊ ÇäÙÇåäÉ Ùäé ÇäÈÇêÊÇÊ ÈÊáÙêä Ãè ÊÙ×êä ÇäÈÇêÊÇÊ ÇäÎÇÕÉ (specific bits) Öåæ 
    ÙÏÏ ÕÍêÍ. ÅÐÇ ãÇæ ÇäåÙòäîåîÇÊ Çäêïåæé èÇäêïÓÑé ÙÈÇÑÉ Ùæ 
    ÓäÇÓä æÕêñîɬ áÅæñî ÇäåïÔÚñðä ÇäÙÇåä Ùäé ÇäÈÇêÊÇÊ ÓêÙåä Ùäé ÇäÍÑèá áê çÐç 
    ÇäÓñðäÓäÉ ÇäæñîÕêñîÉ. 
   </simpara>
   <para>
    <informalexample>
     <programlisting role="php">
<![CDATA[
<?php
    echo 12 ^ 9; // êïÕòÏðÑ ÇäåïÎòÑîÌ '5'

    echo "12" ^ "9"; // êïÕòÏðÑ ÇäåïÎòÑîÌ ÍÑá ÇäåÓÇáÉ ÇäÎäáêñîÉ "Backspace character" (ascii 8)
                     // ('1' (ascii 49)) ^ ('9' (ascii 57)) = #8

    echo "hallo" ^ "hello"; // êïÕòÏðÑ ÇäåïÎòÑîÌ ÇäåïÊåËñðä áê âêå ascii #0 #4 #0 #0 #0
                            // 'a' ^ 'e' = #4
?>
]]>
     </programlisting>
    </informalexample> 
   </para>

   <table>
    <title>ÇäåïÔÚñðäÇÊ ÇäÙÇåäÉ Ùäé ÇäÈÇêÊÇÊ</title>
    <tgroup cols="3">
     <thead>
      <row>
       <entry>åËÇä</entry>
       <entry>ÅÓå</entry>
       <entry>æÊêÌÉ</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>$a &amp; $b</entry>
       <entry>è (And)</entry>
       <entry>ÊïÙêñîæ âêåÉ ÇäÈÇêÊÇÊ ÇäÊñðê ÙïêñðæîÊ âêåÊçÇ áê ãäñ åæ $a è $b.</entry>
      </row>
      <row>
       <entry>$a | $b</entry>
       <entry>Ãè (Or)</entry>
       <entry>ÊïÙîêñîæ âêåÉ ÇäÈÇêÊÇÊ ÇäÊñðê ÙïêñðæîÊ âêåÊçÇ ÅåÇ áê $a Ãè $b.</entry>
      </row>
      <row>
       <entry>$a ^ $b</entry>
       <entry>Xor</entry>
       <entry>
        ÊïÙêñîæ âêåÉ ÇäÈÇêÊÇÊ ÇäÊñðê ÙïêñðæîÊ âêåÊçÇ áê $a Ãè $b äãæ äêÓ áê ãäÇçåÇ. 
       </entry>
      </row>
      <row>
       <entry>~ $a</entry>
       <entry>äÇ (Not)</entry>
       <entry>
        äÇ ÊïÙêñîæ âêåÉ ÇäÈÇêÊÇÊ ÇäÊñðê ÙïêñðæîÊ âêåÊçÇ áê $a¬ èÇäÙãÓ ÕÍêÍ. 
       </entry>
      </row>
      <row>
       <entry>$a &lt;&lt; $b</entry>
       <entry>ÇäÅÒÇÍÉ Åäé ÇäêÓÇÑ (Shift left)</entry>
       <entry>
        êÒÍÒÍ ÇäÈÇêÊÇʬ ÇäÎÇÕÉ Èà $a¬ $b Î×èÇÊ Åäé ÇäêÓÇÑ (ãäñ Î×èÉ ÊÙæê 
        "ÇäÖñîÑÈ áê ÇËæêæ - multiply by two")
       </entry>
      </row>
      <row>
       <entry>$a &gt;&gt; $b</entry>
       <entry>ÇäÅÒÇÍÉ Åäé Çäêåêæ (Shift right)</entry>
       <entry>
        êïÒÍÒÍ ÇäÈÇêÊÇʬ ÇäÎÇÕÉ Èà $a¬ $b Î×èÇÊ Åäé Çäêåêæ (ãäñ Î×èÉ ÊÙæê 
        "ÇäâÓåÉ Ùäé ÇËæêæ - divide by two")
       </entry>
      </row>
     </tbody>
    </tgroup>
   </table>
  </sect1>

  <sect1 id="language.operators.comparison">
   <title>åïÔîÚñðäÇÊ ÇäåâÇÑæÉ (Comparison Operators)</title>
   <simpara>
    ÊÓåÍ åïÔîÚñðäÇÊ ÇäåâÇÑæÉ¬ åËäåÇ êèÍê ÅÓåçǬ ÈÇäåâÇÑæÉ 
    Èêæ âêåÊêæ. êåãæ ÃêÖÇ Ãæ ÊçÊå ÈåÔÇçÏÉ 
    <link linkend="types.comparisons">ÌÏÇèä åâÇÑæÉ ÇäÃæèÇÙ</link> 
    ÈÇÙÊÈÇÑ ÃæñîçÇ ÊïØòçðÑ ÃåËäÉ Ùæ åÎÊäá ÇäåâÇÑæÇÊ ÇäåÊÙäâÉ ÈÇäÃæèÇÙ. 
   </simpara>
   <table>
    <title>åïÔîÚñðäÇÊ ÇäåâÇÑæÉ</title>
    <tgroup cols="3">
     <thead>
      <row>
       <entry>åËÇä</entry>
       <entry>ÅÓå</entry>
       <entry>æÊêÌÉ</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>$a == $b</entry>
       <entry>êÓÇèê (Equal)</entry>
       <entry>&true; ÅÐÇ ãÇæ $a êÓÇèê $b.</entry>
      </row>
      <row>
       <entry>$a === $b</entry>
       <entry>ååÇËä (Identical)</entry>
       <entry>
        &true; ÅÐÇ ãÇæ $a êÓÇèê $b èãÇæÇ åæ æáÓ 
        ÇäæñîèÙ. (PHP 4 áâ×)
       </entry>
      </row>
      <row>
       <entry>$a != $b</entry>
       <entry>äÇ êÓÇèê (Not equal)</entry>
       <entry>&true; ÅÐÇ ãÇæ $a äÇ êÓÇèê $b.</entry>
      </row>
      <row>
       <entry>$a &lt;&gt; $b</entry>
       <entry>äÇ êÓÇèê (Not equal)</entry>
       <entry>&true; ÅÐÇ ãÇæ $a äÇ êÓÇèê $b.</entry>
      </row>
      <row>
       <entry>$a !== $b</entry>
       <entry>ÚêÑ ååÇËä (Not identical)</entry>
       <entry>
        &true; ÅÐÇ ãÇæ $a äÇ êÓÇèê $b Ãè äå êãèæÇ åæ æáÓ 
        ÇäæñîèÙ. (PHP 4 áâ×)
       </entry>
      </row>
      <row>
       <entry>$a &lt; $b</entry>
       <entry>ÃÕÚÑ åæ (Less than)</entry>
       <entry>&true; ÅÐÇ ãÇæ $a ÍÊåÇ ÃÕÚÑ åæ $b.</entry>
      </row>
      <row>
       <entry>$a &gt; $b</entry>
       <entry>ÃãÈÑ åæ (Greater than)</entry>
       <entry>&true; ÅÐÇ ãÇæ $a ÍÊåÇ ÃãÈÑ åæ $b.</entry>
      </row>
      <row>
       <entry>$a &lt;= $b</entry>
       <entry>ÃÕÚÑ åæ Ãè êÓÇèê (Less than or equal to) </entry>
       <entry>&true; ÅÐÇ ãÇæ $a ÃÕÚÑ åæ Ãè êÓÇèê $b.</entry>
      </row>
      <row>
       <entry>$a &gt;= $b</entry>
       <entry>ÃãÈÑ åæ Ãè êÓÇèê (Greater than or equal to) </entry>
       <entry>&true; ÅÐÇ ãÇæ $a ÃãÈÑ åæ Ãè êÓÇèê $b.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
   <para>
    çæÇã åïÔÚñðä ÔÑ×êñ ÂÎÑ çè åïÔÚñðä "?:" (Ãè ÇäËñïäÇËêñ) 
    ÇäÐê êÙåä ãåÇ áê C èÙÏÉ äÚÇÊ ÃÎÑé. 
    <informalexample>
     <programlisting role="php">
<![CDATA[
<?php
// åËÇä Ùæ ÇÓÊÎÏÇå: ÇäåïÔÚñðä ÇäËñïäÇËêñ (Ternary Operator)
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// åÇ áê ÇäÃÙäé çè ååÇËä äÈäÇÚ if/else çÐÇ 
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}
?>
]]>
     </programlisting>
    </informalexample> 
    ÇäÙÈÇÑÉ <literal>(expr1) ? (expr2) : (expr3)</literal>
    ÊÙ×ê ÇäâêåÉ <replaceable>expr2</replaceable> ÅÐÇ ãÇæÊ 
    <replaceable>expr1</replaceable> ÊÙ×ê ÇäâêåÉ &true; 
    <replaceable>expr3</replaceable> ÅÐÇ ãÇæÊ 
    <replaceable>expr1</replaceable> ÊÙ×ê ÇäâêåÉ &false;.
   </para>
   <para>
    ÇÓÊÙÑÖ ÃêÖÇ <function>strcasecmp</function>¬ 
    <function>strcmp</function> èáÕä ÇäÏñîäêä ÇäÎÇÕ Èà
    <link linkend="language.types">ÇäÃæèÇÙ</link>.
   </para>
  </sect1>

  <sect1 id="language.operators.errorcontrol">
   <title>åïÔÚñðäÇÊ ÇäÊñîÍãå ÈÇäÃÎ×ÇÁ (Error Control Operators)</title>
   <simpara>
    ÊÏÙå PHP åïÔÚñðäÇ èÇÍÏ ääÊÍãå áê ÇäÃÎ×ÇÁ: ÑåÒ at (@). ÙæÏåÇ 
    êïÖîÇá Åäé ÈÏÇêÉ ÙÈÇÑÉ áê PHP¬ áÅæñî Ãêñ ÑÓÇÆä Î×à êåãæ 
    Ãæ ÊïèäñîÏ åæ âÈä Êäã ÇäÙÈÇÑÉ ÓêÊå ÊÌÇçäçÇ. 
   </simpara>
   <simpara>
    ÅÐÇ ãÇæÊ åêÒÉ <link linkend="ini.track-errors">track_errors</link>
    åïáÙäɬ áÅæñî ÃêÉ ÑÓÇäÉ Î×à êÊå ÊèäêÏçÇ åæ âÈä ÇäÙÈÇÑÉ 
    ÓêÊå ÍáØçÇ áê ÇäåÊÚêñðÑ 
    <link linkend="reserved.variables.phperrormsg">$php_errormsg</link>.
    çÐÇ ÇäåïÊÚêñðÑ ÓêÊå ÓÍâçÇ ÙæÏ ãäñ Î×ì äÐä㬠âå ÈÊáâÏ ÈÇãÑÇ ÅÐÇ ãæÊ 
    ÊèñîÏ ÇÓÊÎÏÇåç. 
   </simpara>
   <para>
    <informalexample>
     <programlisting role="php">
<![CDATA[
<?php
/* Î×à åäá åâÕèÏ */
$my_file = @file ('non_existent_file') or
    die ("ÊÙÐÑ áÊÍ Çäåäá: êÊåËä ÇäÎ×à áê '$php_errormsg'");

// êÙåä çÐÇ äÃÌä ÃêÉ ÙÈÇÑɬ äêÓ áâ× ääÏèÇä: 
$value = @$cache[$key]; 
// äæ êÕÏÑ ÊæÈêçÇ ÅÐÇ ãÇæ ÇäáçÑÓ $key ÚêÑ åèÌèÏ. 

?>
]]>
     </programlisting>
    </informalexample>
   </para>
   <note>
    <simpara>
     êÙåä åïÔÚñðä @ áâ× Ùäé 
     <link linkend="language.expressions">ÇäÙÈÇÑÇÊ</link>. âÇÙÏÉ ÙåäêñîÉ ÈÓê×É 
     çê: ÅÐÇ ãÇæ ÈÅåãÇæã ÊæÇèä âêåÉ ÔêÁ åǬ áÅæñîç ÈÅåãÇæã ÅÖÇáÉ 
     ÇäåïÔÚñðä @ Åäé ÈÏÇêÊç. Ùäé ÓÈêä ÇäåËÇä: ÈÅåãÇæã ÅÖÇáÊç Åäé ÈÏÇêÉ ÇäåÊÚêñðÑÇʬ 
     ÇäÏñîèÇä èæÏÇÁÇÊ <function>include</function>¬ ÇäËèÇÈÊ 
     èçãÐÇ ÏèÇäêã. äêÓ ÈÅåãÇæã ÅÖÇáÊç Åäé ÈÏÇêÉ ÊÙÑêáÇÊ ÏÇäÉ Ãè Õæá¬ 
     Ãè ÇäÈæé ÇäÔñîÑ×êñîÉ åËä: <literal>if</literal> è
     <literal>foreach</literal>¬ èçãÐÇ ÏèÇäêã. 
    </simpara>
   </note>
   <simpara>
    ÇÓÊÙÑÖ ÃêÖÇ <function>error_reporting</function> èáÕä ÇäÏñîäêä áêåÇ êÎÕ 
    <link linkend="ref.errorfunc">ÏèÇä ÇäÊñîÙÇåä åÙ ÇäÃÎ×ÇÁ èÊÓÌêä ÇäÏñïÎèä (Error Handling and Logging functions)</link>.
   </simpara>
   <note>
    <para>
     Åæñî ÓÇÈâÉ åïÔÚñðä ÇäÊñîÍãå áê ÇäÃÎ×ÇÁ "@" äæ Êâèå ÈÊÙ×êä ÇäÑñîÓÇÆä 
     ÇäæñîÇÊÌÉ Ùæ ÃÎ×ÇÁ áê ÇäÊñîáÓêÑ (parse errors).
    </para>
   </note>
   <warning>
    <para>
     áê ÇäèâÊ ÇäÌÇÑê¬ áÅæñî ÓÇÈâÉ åïÔÚñðä ÇäÊñîÍãå áê ÇäÃÎ×ÇÁ "@" ÓÊâèå ÍÊé ÈÊÙ×êä 
     ÇäÅÙäÇå Ùæ ÇäÃÎ×ÇÁ áêåÇ êÎÕ ÇäÃÎ×ÇÁ ÇäÍÑÌÉ ÇäÊñðê Êæçê ÊæáêÐ 
     ÇäÎÇ×è×. åæ Èêæ ÃÔêÇÁ ÃÎÑé¬ áÅæñî çÐÇ êÙæê Ãæñîç ÅÐÇ ãæÊ ÊÓÊÎÏå "@" ÈÚÑÖ 
     ÅÒÇäÉ ÇäÃÎ×ÇÁ ÇäÕñîÇÏÑÉ Ùæ ÏÇäÉ åÇ èÍÊé Åæ äå Êãæ 
     åïÊÇÍÉ Ãè ÑïâðæÊ ÈÔãä ÎÇׯ¬ áÅæñî ÇäÎÇ×è× ÓêÊäÇÔé ÍêæÐÇã ÊÍÏêÏÇë 
     åæ Ïèæ ÇêÉ ÅÔÇÑÉ ääÓÈÈ. 
    </para>
   </warning>
  </sect1>
  
  <sect1 id="language.operators.execution">
   <title>åïÔÚñðäÇÊ ÇäÊñîæáêÐ (Execution Operators)</title>
   <para>
    ÊÏÙå PHP åïÔÚñðä ÊæáêÐ èÇÍÏ: ÇäáÇÕäÇÊ ÇäÙäêÇ ÇäÊñîÑÇÌÙêñîÉ "backticks" (``). äÇÍØ Ãæñî 
    çÐç äêÓÊ ÇâÊÈÇÓÇÊ åïáÑÏÉ! ÓÊÍÇèä PHP ÊæáêÐ 
    åÍÊèêÇÊ ÇäáÇÕäÇÊ ÇäÙäêÇ ÇäÊñîÑÇÌÙêñîÉ Ùäé ÃæñîçÇ ÃåÑ shell» ÓêÊå ÅÑÌÇÙ 
    ÇäåïÎòÑîÌ (Ãê: Ãæñîç äæ êÊå ÈÙËç áâ× Åäé ÇäåïÎòÑîÌ» êåãæ 
    ÊÙêêæç äÃÌä åÊÚêñðÑ). Åæñî ÇÓÊÎÏÇå åïÔÚñðä ÇäáÇÕäÉ ÇäÙäêÇ ÇäÊñîÑÇÌÙêñîÉ êåÇËä 
    <function>shell_exec</function>. 
    <informalexample>
     <programlisting role="php">
<![CDATA[
$output = `ls -al`;
echo "<pre>$output</pre>";
]]>
     </programlisting>
    </informalexample>
   </para>
   <note>
    <para>
     Åæñî åïÔÚñðä ÇäáÇÕäÉ ÇäÙäêÇ ÇäÊñîÑÇÌÙêñîÉ åïÙ×ñîä ÙæÏåÇ êãèæ &safemode; åïáÙäÇë 
     Ãè ÙæÏåÇ Êãèæ <function>shell_exec</function> åïÙ×äÉ. 
    </para>
   </note>
   <para>
    ÇÓÊÙÑÖ ÃêÖÇ áÕä ÇäÏñîäêä ÇäÎÇÕ Èà <link linkend="ref.exec">Program
    ÏèÇä ÇäÊñîæáêÐ (Execution functions)</link>¬ <function>popen</function>¬ 
    <function>proc_open</function> è 
    <link linkend="features.commandline">ÇÓÊÎÏÇå PHP Åæ×äÇâÇ åæ 
    åæ Ó×Ñ ÇäÃèÇåÑ</link>.
   </para>
  </sect1>

  <sect1 id="language.operators.increment">
   <title>åïÔÚñðäÇÊ ÇäÊñîÒÇêÏ/ÇäÊñîæÇâÕ (Incrementing/Decrementing Operators)</title>
   <para>
    ÊÏÙå PHP ÇäåïÔÚñðäÇÊ ÇäÔñîÈêçÉ ÈÃÓäèÈ C èÇäÎÇÕÉ ÈÇäÊñîÒÇêÏ èÇäÊñîæÇâÕ ÇäåÓÈâêæ èÇääÇÍâêæ (pre- and post-increment and decrement)
    .
   </para>
   <table>
    <title>åïÔÚñðäÇÊ ÇäÊñîÒÇêÏ/ÇäÊñîæÇâÕ</title>
    <tgroup cols="3">
     <thead>
      <row>
       <entry>åËÇä</entry>
       <entry>ÅÓå</entry>
       <entry>ÊÃËêÑ</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>++$a</entry>
       <entry>ÇäÊñîÒÇêÏ ÇäåïÓÈâ (Pre-increment)</entry>
       <entry>êÒêÏ áê $a ÈèÇÍϬ èåæ Ëå êïÑÌÙ $a.</entry>
      </row>
      <row>
       <entry>$a++</entry>
       <entry>ÇäÊñîÒÇêÏ ÇääÇÍâ (Post-increment)</entry>
       <entry>êïÑÌÙ $a¬ èåæ Ëå êÒêÏ áê $a ÈèÇÍÏ.</entry>
      </row>
      <row>
       <entry>--$a</entry>
       <entry>ÇäÊñîæÇâÕ ÇäåïÓÈâ (Pre-decrement)</entry>
       <entry>êïæâÕ åæ $a ÈèÇÍϬ èåæ Ëå êïÑÌÙ $a.</entry>
      </row>
      <row>
       <entry>$a--</entry>
       <entry>ÇäÊñîæÇâÕ ÇääÇÍâ (Post-decrement)</entry>
       <entry>êïÑÌÙ $a¬ èåæ Ëå êæâÕ åæ $a ÈèÇÍÏ.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
   <para>
    ÌðÏ çæÇ ÎÇ×è×Ç ãåËÇä ÈÓê×: 
    <informalexample>
     <programlisting role="php">
<![CDATA[
<?php
echo "<h3>ÇäÊñîÒÇêÏ ÇääÇÍâ</h3>";
$a = 5;
echo "êÌÈ Ãæ Êãèæ 5: " . $a++ . "<br />\n";
echo "êÌÈ Ãæ Êãèæ 6: " . $a . "<br />\n";

echo "<h3>ÇäÊñîÒÇêÏ ÇäåïÓÈâ</h3>";
$a = 5;
echo "êÌÈ Ãæ Êãèæ 6: " . ++$a . "<br />\n";
echo "êÌÈ Ãæ Êãèæ 6: " . $a . "<br />\n";

echo "<h3>ÇäÊñîæÇâÕ ÇääÇÍâ</h3>";
$a = 5;
echo "êÌÈ Ãæ Êãèæ 5: " . $a-- . "<br />\n";
echo "êÌÈ Ãæ Êãèæ 4: " . $a . "<br />\n";

echo "<h3>ÇäÊñîæÇâÕ ÇäåïÓÈâ</h3>";
$a = 5;
echo "êÌÈ Ãæ Êãèæ 4: " . --$a . "<br />\n";
echo "êÌÈ Ãæ Êãèæ 4: " . $a . "<br />\n";
?>
]]>
     </programlisting>
    </informalexample>
   </para>
   <para>
    ÊÊÈÙ PHP ÅÕ×äÇÍÇÊ Perl ÙæÏ ÇäÊñÙÇ×ê åÙ ÇäÙåäêÇÊ ÇäÍÓÇÈêñîÉ 
    Ùäé ÇäåÊÚêñðÑÇÊ ÇäÍÑáêñîÉ (character variables) èäêÓ ÇÕ×äÇÍÇÊ C. Ùäé ÓÈêä ÇäåËÇä: áê Perl¬ 'Z'+1 
    ÊïÕÈÍ 'AA' áê Íêæ Ãæñîç áê C¬ áÅæñî 'Z'+1 ÊïÕÈÍ '[' ( ord('Z') == 90, ord('[') == 91 ).
    äÇÍØ Ãæñî ÇäåÊÚêñðÑÇÊ ÇäÍÑáêñîÉ êåãæ ÇäÒñðêÇÏÉ áêçÇ äãæ äÇ êåãæ ÇäÅæâÇÕ åæçÇ. 
    <example>
     <title>ÇäÙåäêÇÊ ÇäÍÓÇÈêñîÉ Ùäé ÇäåïÊÚêñðÑÇÊ ÇäÍÑáêñîÉ</title>
     <programlisting role="php">
<![CDATA[
<?php
$i = 'W';
for($n=0; $n<6; $n++)
  echo ++$i . "\n";

/*
  êïæÊðÌ åïÎÑÌÇë ÔÈêçÇ ÈÇäÊñîÇäêñ: 

X
Y
Z
AA
AB
AC

*/
?>
]]>
     </programlisting>
    </example>
   </para>
  </sect1>

  <sect1 id="language.operators.logical">
   <title>ÇäåïÔÚñðäÇÊ Çäåæ×âêñîÉ (Logical Operators)</title>

   <table>
    <title>ÇäåïÔÚñðäÇÊ Çäåæ×âêñîÉ</title>
    <tgroup cols="3">
     <thead>
      <row>
       <entry>åËÇä</entry>
       <entry>ÅÓå</entry>
       <entry>æÊêÌÉ</entry>
      </row>
     </thead>
     <tbody>
      <row>
       <entry>$a and $b</entry>
       <entry>è (And)</entry>
       <entry>&true; ÅÐÇ ãÇæ ãäñ åæ $a è $b ÕÍêÍêæ: &true;.</entry>
      </row>
      <row>
       <entry>$a or $b</entry>
       <entry>Ãè (Or)</entry>
       <entry>&true; ÅÐÇ ãÇæ $a Ãè $b ÕÍêÍÇ: &true;.</entry>
      </row>
      <row>
       <entry>$a xor $b</entry>
       <entry>Xor</entry>
       <entry>&true; ÅÐÇ ãÇæ $a Ãè $b ÕÍêÍÇ: &true;¬ äãæ äêÓ ãäÇçåÇ.</entry>
      </row>
      <row>
       <entry>! $a</entry>
       <entry>äÇ (Not)</entry>
       <entry>&true; ÅÐÇ äå êãæ $a ÕÍêÍÇ: &true;.</entry>
      </row>
      <row>
       <entry>$a &amp;&amp; $b</entry>
       <entry>è (And)</entry>
       <entry>&true; ÅÐÇ ãÇæ ãäñ åæ $a è $b ÕÍêÍêæ: &true;.</entry>
      </row>
      <row>
       <entry>$a || $b</entry>
       <entry>Ãè (Or)</entry>
       <entry>&true; ÅÐÇ ãÇæ $a Ãè $b ÕÍêÍÇ: &true;.</entry>
      </row>
     </tbody>
    </tgroup>
   </table>
   <simpara>
    ÓÈÈ ÇäÊñîæèÙêæ ÇäåÎÊäáêæ äåïÔÚñðäÇÊ "and" è "or"
    çè ÃæñîçÇ ÊÙåä ÈÍÓÈ ÃÓÈâêÇÊ åÎÊäáÉ. (ÇÓÊÙÑÖ 
    <link linkend="language.operators.precedence">ÃÓÈâêÉ ÇäåïÔÚñðäÇÊ - Operator
    Precedence</link>.)
   </simpara>
  </sect1>

  <sect1 id="language.operators.string">
   <title>åïÔÚñðäÇÊ ÇäÓñîäÇÓä ÇäæñîÕêñîÉ (String Operators)</title>
   <simpara>
    çæÇã åïÔÚñðäêæ <type>ääÓäÇÓä ÇäæñîÕêñîÉ</type>. ÇäÃèä çè 
    åïÔÚñðä ÇäÊñîÊÇÈÙ "concatenation operator" ('.')¬ ÇäÐê êïÑÌÙ ÊÊÇÈÙ 
    èÓê×ÇÊç (arguments) Çäêåæé èÇäêÓÑé. ÇäËÇæê çè åïÔÚñðä ÇäÊñîÙêêæ ÇäÊîÊÇÈÙêñ 
    "concatenating assignment operator" ('.=')¬ ÇäÐê êïäÍñðâ ÇäèÓê×É Ùäé ÇäÌçÉ Çäêåæé 
    ÈÇäèÓê×É ÇäÊñðê Ùäé ÇäÌçÉ ÇäêÓÑé. ÑÌÇÁë¬ ÇâÑÇ <link
    linkend="language.operators.assignment">åïÔÚñðäÇÊ ÇäÊñîÙêêæ (Assignment
    Operators)</link> åæ ÃÌä åÒêÏ åæ ÇäåÙäèåÇÊ. 
   </simpara>

   <para>
    <informalexample>
     <programlisting role="php">
<![CDATA[
$a = "ÃçäÇ ";
$b = $a . "êÇ âÏÓ!"; // ÇäÂæ¬ $b ÊÍÊèê "ÃçäÇ êÇ âÏÓ!"

$a = "ÃçäÇ ";
$a .= "êÇ âÏÓ!";     // ÇäÂæ¬ $a ÊÍÊèê "ÃçäÇ êÇ âÏÓ!"
]]>
     </programlisting>
    </informalexample>
   </para>
   <para>
    ÇÓÊÙÑÖ ÃêÖÇ áÕèä ÇäÏñîäêä Íèä 
    <link linkend="language.types.string">æèÙ ÇäÓñðäÓäÉ ÇäæñîÕêñîÉ</link> è 
    <link linkend="ref.strings">ÏèÇä ÇäÓñîäÇÓä ÇäæñîÕêñîÉ</link>.
   </para>
  </sect1>
  
  <sect1 id="language.operators.array">
   <title>åïÔÚñðäÇÊ ÇäåÕáèáÇÊ (Array Operators)</title>
   <simpara>
    åïÔÚñðä ÇäåÕáèáÇÊ ÇäèÍêÏ áê PHP çè åïÔÚñðä <literal>+</literal>.
    êâèå ÈÅäÍÇâ ÇäåÕáèáÉ ÇäÊñðê Ùäé ÇäÌçÉ Çäêåæé ÈÇäåÕáèáÉ ÇäÊñðê Ùäé ÇäÌçÉ ÇäêÓÑé¬ áê Íêæ 
    Ãæñî ÇäåáÇÊêÍ ÇäåïãÑñîÑÉ (duplicated keys) äÇ êÊå ÓÍâçÇ. 
   </simpara>
   <para>
    <informalexample>
     <programlisting role="php">
<![CDATA[
$a = array("a" => "ÊáÇÍÉ", "b" => "åèÒÉ");
$b = array("a" =>"ÅÌÇÕ", "b" => "áÑÇèäÉ", "c" => "ãÑÒ");

$c = $a + $b;

var_dump($c);
]]>
     </programlisting>
    </informalexample>
    ÙæÏ ÇäÊñîæáêЬ Óêâèå çÐÇ ÇäÎÇ×è× È×ÈÇÙÉ ÇäÊñîÇäêñ: 
    <screen role="php">
<![CDATA[
array(3) {
  ["a"]=>
  string(5) "ÊáÇÍÉ"
  ["b"]=>
  string(6) "åèÒÉ"
  ["c"]=>
  string(6) "ãÑÒ"
}

]]>
    </screen>
   </para>
   <para>
    ÇÓÊÙÑÖ ÃêÖÇ áÕèä ÇäÏñîäêä ÈÎÕèÕ 
    <link linkend="language.types.array">æèÙ ÇäåÕáèáÉ</link> è 
    <link linkend="ref.array">ÏèÇä ÇäåÕáèáÇÊ</link>.
   </para>
  </sect1>
 </chapter>
 
<!-- 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
-->