Home  |  Linux  | Mysql  | PHP  | XML
From:Pedram Salehpoor Date:Tue Jun 24 11:27:49 2008
Subject:cvs: phpdoc-fa /language expressions.xml
psalehpoor		Tue Jun 24 17:27:49 2008 UTC

  Added files:                 
    /phpdoc-fa/language	expressions.xml 
  Log:
  translation to persian
  

http://cvs.php.net/viewvc.cgi/phpdoc-fa/language/expressions.xml?view=markup&rev=1.1
Index: phpdoc-fa/language/expressions.xml
+++ phpdoc-fa/language/expressions.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 1.31 Maintainer: pedram Status: ready -->
<!-- $Revision: 1.1 $ -->
 <chapter xml:id="language.expressions" xmlns="http://docbook.org/ns/docbook">
   <title>عبارت‌ها</title>
   <simpara>
    عبارات مهم‌ترین بخش سازنده PHP است در PHP هر چیزی که نوشته می‌شود 
	عبارت است. ساده‌ترین و در عین حال دقیقترین تعریف برای عبارت این است که عبارت 
	هر چیزی است که مقدار داشته باشد.
   </simpara>
   <simpara>
    اصلی‌ترین شکل عبارات ثابت‌ها و متغیرها هستند. 
	وقتی شما "$a = 5" می‌نویسید مقدار '5' را در $a وارد می‌نمایید.   '5' واضح است که مقدر ۵ دارد
     (در این حالت '5' یک ثابت صحیح است).
   </simpara>
   <simpara>
    پس از این انتصاب شما انتظار دارید مقدار $a برابر با 5 باشد بنابراین زمانی که می‌نویسید
	$b = $a شما انتظار دارید همانند عبارت $b = 5 عمل نماید. به عبارت دیگر $a یک عبارت با مقدار
    5 است. اگر هم چیز درست عمل نماید همین اتفاق خواهد افتاد.
   </simpara>
   <para>
    مثال‌های پیچیده‌تر برای عبارت توابع هستند. برای نمونه تابع زیر را در نظر بگیرید:
    <informalexample>
     <programlisting role="php">
<![CDATA[
<?php
function foo ()
{
    return 5;
}
?>
]]>
     </programlisting>
    </informalexample>
   </para>
   <simpara>
    اگر شما با با مفهو توابع آشنا باشید (اگر نیستید به فصل درباره
    <link linkend="language.functions">توابع </link> نگاه کنید) شما هنگام تایپ نمودن <literal>$c = foo()</literal>
		فرض خواهید کرد که همانند نوشتن عبارت <literal>$c = 5</literal> است و حق نیز با شما است. 
		توابع عباراتی هستند که مقدار آنها مقدار بازگردانده شده توسط تابع است. با توجه به این که foo() مقدار 5 
		را بازمی‌گرداند مقدار عبارت 'foo()' برابر با 5 است. معمولا توابع تنها یک مقدار ثابت را باز نمی‌گردانند بلکه آن را محاسبه 
		می‌نمایند.
   </simpara>
   <simpara>
    البته مقادیر در PHP حتما نباید مقادیر صحیح باشد و
	عموما نیز نیستند. PHP از مقادیر عددی خطی پشتیبانی می‌نماید: مقدار <type>integer</type>
    مقدار ممیز شناور (<type>float</type>) مقدار <type>string</type> و مقدار <type>boolean</type> 
	   (مقادیر خطی مقادیری هستند که نمی‌توان آنها را به اندازه‌های کوچک تقسیم نمود برای نمونه برخلاف آرایه‌ها ). 
	   PHP همچنین از دو نوع ترکیبی (غیرخطی نیز پشتیبانی می‌نماید) :آرایه‌ها و اشیا. هر دو این نوع مقدارها را می‌توان در متغیرها 
	   نسبت داده یا از توابع بازگرداند.
   </simpara>
   <simpara>
    PHP عبارات را بصورت گسترده‌تری مانند سایر زبان‌ها در نظر 
	می‌گیرد. PHP یک زبان عبارت-محور است و همه چیز را میذتوان در آن یک عبارت در نظر گرفت.
	مثال قبلی را دوباره در نظر بگیرید '$a = 5'. بسادگی می‌توان دید دو مقدار در این جا دخیل هستند مقدار 
	عدد ثابت صحیح '5' و مقدار $a که به مقدار 5 بروز می‌گردد. انتصاب خود به مقدار انتصاب ارزیابی می‌گردد که در 
	این جا 5 است. در عمل '$a = 5' بدون توجه به عملکرد آن عبارتی با مقدار 5 است. بنابراین نوشتن چیزی مانند
    '$b = ($a = 5)' مشابه نوشتن '$a = 5; $b = 5;' است (یک سمی کالن نشان دهنده پایان جمله است). 
	چون انتصاب‌ها بصورت راست به چپ ارزیابی می‌گردند شما همچنین می‌توانید بنویسید '$b = $a = 5'.
   </simpara>
   <simpara>
    یک مثال خوب دیگر برای عبارت-محوری افزایش و کاهش پیشوندی و پسوندی است
	. کاربران PHP زبان‌های دیگری با علامت ++ و
    -- آشنا هستند.  این‌ها <link linkend="language.operators.increment">
    عملگرهای کاهش و افزایش</link> هستند. در 
    PHP/FI 2 حمله '$a++' هیچ مقداری ندارد (یک عبارت نیست)
	و نمی‌توانید آن را انتصاب دهید یا به گونه‌ای دیگر از آن استفاده نمایید.
	PHP توانایی کاهش/افزایش را با استفاده از این عبارات همانند C افزایش داده است.
    در PHP مانند C دو نوع افزایش پیشوندی و پسوندی وجود دارد. افزایش پبشوندی یا پسوندی هر دو متغیر را افزایش می‌دهند.
	تفاوت تنها در مقدار عبارت افزایش است. کاهش پیشوندی '++$variable' به مقدار پیاده‌سازی شده ارزیابی می‌گردد. 
	(PHP متغیر را کاهش داده و پس از آن مقدار را می‌خواند به مین دلیل به آن کاهش پیشوندی 
	گفته می‌شود). کاهش پسوندی که به صورت '$variable++' نوشته می‌شود مقدار اصلی 
    $variable پیش از کاهش بازگردانده می‌شود (PHP کاهش متغیر پس از خواندن مقدار آن است بنابراین به آن کاهش پسوندی گفته می‌شود).
   </simpara>
   <simpara>
    یک نوع عبارت معمول عبارت <link
    linkend= "language.operators.comparison">مقایسه</link>
     است. این عبارت‌ها به &false; یا &true; ارزیابی می‌گردد. PHP
    از &gt; (بزرگتر از) &gt;= (بزرگتر از مساوی با) == (برابر)
    != (نابرابر) &lt; (کوچک‌تر از) و &lt;= (کوچک‌تر از یا مساوی با) پشتیبانی می‌نماید.
    زبان همچنین از یک سری عملگرهای دقیق مشابهت نیز پشتیبانی می‌نماید: ===
    (برابر با و یک نوع) and !== (نابرابر یا دارای نوع غیر یکسان).
    این عبارت‌ها عموما در جملات شرطی استفاده می‌شوند مانند جمله <literal>if</literal>.
   </simpara>
   <simpara>
    آخرین نمونه عبارت ترکیب عملگر و انتصاب هستند. شما پیش از این می‌دانید که اگر شما 
	بخواهید مقدار $a را 1 افزایش دهید می‌توانید براحتی بنویسید '$a++' یا '++$a'.
    اما اگر بخواهید بیش از یک واحد به آن بیافزایید اما آشکارا این راه مناسبی برای این افزایش نیست.
	یک راه بهتر برای این کار '$a = $a + 3' است.  '$a + 3' به مقدار  $a
    به اضافه 3 ارزیابی می‌گردد. و دوباره به $a منتصب می‌گردد که نتیجه آن افزایش $a به اندازه 3 واحد است. 
	در PHP همانند بسیاری از زبان‌های دیگر مانند C شما می‌توانید این عبارت را بصورت کوتاه‌تری نیز بنویسید.
	اضافه نمودن 3 واحد به مقدار فعلی $a می‌تواند بصورت '$a += 3' نوشته شود. این به معنای
	"مقدار $a را بگیر به آن 3 واحد اضافه نمایید و آن را دوباره به  $a منتصب کن" است.
    علاوه بر کوتاه بودن و واضح بودن سرعت اجرا نیز افزایش می‌یابد.
	مقدار '$a += 3' مانند مقدار یک انتصاب معمولی است یعنی مقدار انتصاب.
	توجه کنید که این مقدار
    3 نیست بلکه مقدار ترکیبی $a به اضافه 3 است (این مقدار به $a انتصاب داده می‌شود). 
	هر عملگر دودویی برای عملگر انتصاب می‌تواند بکار رود برای نمونه '$a -= 5' (مقدار 5 را از
    مقدار $a کم کن) '$b *= 7' (مقدار $b را در 7 ضرب کن) و غیره.
   </simpara>
   <para>
    عبارت دیگری وجود دارد که بنظر عجیب می‌آید مگر این که آن را در زبان‌های دیگری دیده باشید. این عملگر عملگر سه تایی است:
   </para>
   <para>
    <informalexample>
     <programlisting role="php">
<![CDATA[
<?php
$first ? $second : $third
?>
]]>
     </programlisting>
    </informalexample>
   </para>
   <para>
    مقدار اولین زیرعبارت اگر برابر با &true; باشد (غیر صفر)آنگاه دومین زیر عبارت ارزیابی خواهد گردید. در غیر این صورت
	عبارت سوم ارزیابی شده و آن مقدار عبارت خواهد بود.
   </para>
   <para>
    مثال پایین به شما کمک خواهد کرد تا عبارات و افزایش پیشوندی و پسوندی را بصورت عمومی‌تر درک نمایید:
   </para>
   <para>
    <informalexample>
     <programlisting role="php">
<![CDATA[
<?php
function double($i)
{
    return $i*2;
}
$b = $a = 5;        /* assign the value five into the variable $a and $b */
$c = $a++;          /* post-increment, assign original value of $a 
                       (5) to $c */
$e = $d = ++$b;     /* pre-increment, assign the incremented value of 
                       $b (6) to $d and $e */

/* at this point, both $d and $e are equal to 6 */

$f = double($d++);  /* assign twice the value of $d before
                       the increment, 2*6 = 12 to $f */
$g = double(++$e);  /* assign twice the value of $e after
                       the increment, 2*7 = 14 to $g */
$h = $g += 10;      /* first, $g is incremented by 10 and ends with the 
                       value of 24. the value of the assignment (24) is 
                       then assigned into $h, and $h ends with the value 
                       of 24 as well. */
?>
]]>
     </programlisting>
    </informalexample>
   </para>
   <simpara>
    بعضی عبارات را می‌توان جمله در نظر گرفت. در این حالت جمله به شکل 'expr' ';' یک عبارت به همراه ; است. 
	در '$b=$a=5;' $a=5 یک عبارت صحیح است اما یک جمله به تنهایی نیست.
	'$b=$a=5;' یک جمله معتبر است.
   </simpara>
   <simpara>
    آخرین موضوع ارزشمند مقدار واقعی برای عبارت است. در بشتر رویدادها در اجرای شرطی و حلقه‌ها شما علاقه‌مند نیستید 
	که جمقدار مشخص عبارت را بدانید. و تنها برای شما مقدار &true; یا &false; مهم است.
    
    <!-- (PHP doesn't have a
    dedicated boolean type) : WRONG, PHP does. -->
    
    ثابت‌های &true; و &false; (غیرحساس به حروف بزرگ و کوچک) دو مقدار منطقی boolean است. زمانی که مورد نیاز است 
	یک عبارت بصورت خودکار به boolean تبدیل می‌شوند.
    <link linkend="language.types.typecasting">بخش درباره تبدیل نوع</link> را برای جزئیات بیشتر ببینید.
   </simpara>
   <simpara>
    PHP یک پیاده‌اسزی قوی و کامل برای عبارات پیاده نموده است 
	و مستند نمودن آن از حوزه این راهنما فراتر است. مثال‌های بالا به شما ایده خوبی درباره چگونگی عبارات و ساخت عبارات را 
	فرا می‌گیرد. در طول ادامه این راهنما ما برای نشان دادن <varname>expr</varname> عبارت صحیح PHP استفاده خواهیم کرد.
   </simpara>
  </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
-->

Navigate in group php.doc.fa at sever news.php.net
Previous Next




  
No Copyright
You are free to use Anything
Site Maintained by PHP Developer
Powered By PHP Consultants