برنامه نویسی PHP

آموزش برنامه نویسی PHP و طراحی وب – قسمت سوم

آموزش برنامه نویسی PHP و طراحی وب – قسمت سومReviewed by محمد مخلوقی on Jun 22Rating:

در جلسه ی قبل کمی با ساختار زبان برنامه نویسی PHP آشنا شدیم و درمورد syntax کلی این زبان به همراه معرفی کار با متغیرها، کامنت گذاری در کد و ساختار توابع در این زبان آشنا شدیم. اما مطالبی که تا کنون آموختیم چیزی جز دانسته های عمومی در باره این زبان برنامه نویسی نیست و مطالبی هم که امروز در مورد آن بحث خواهیم کرد از همین دسته هستند.

ساختارهای شرطی if :
از ساختارهای شرطی در زبان php همانند سایر زبان های برنامه نویسی در زمانی استفاده میشود که بخواهیم در صورت برقرار بودن شرط یا شرط هایی یکسری دستورات خاص اجرا شده و در صورت عدم برقراری آنها گروه دیگری از دستورات اجرا شوند.
در زبان php ساختارهای شرطی زیر تعریف شده است.در این قسمت به توضیح مختصر هریک از آنها پرداخته و سپس در ادامه به توضیح کاملتر و ارایه مثال های عملی میپردازیم.

If statement : از این ساختار در زمانی استفاده میشود که بخواهیم در صورت برقرار بودن شرط یا شرط هایی دستورات خاصی اجرا شوند.
If … else statement : از این ساختار در زمانی استفاده میشود که بخواهیم در صورت برقرار بودن شرط یا شرط هایی یکسری دستورات اجرا شده و در صورت عدم برقراری آن شرط دستورات دیگری اجرا شوند.
If…else if…else statement : در این ساختار بیش از دو گروه شرط داریم.در هر قسمت شرطی که درست باشد دستورات مربوط به آن شرط اجرا میشود.

۱) If … statement :

از ساختار دستوری if در زمانی استفاده میشود که بخواهیم در صورت برقرار بودن شرط یا شرط هایی یکسری دستورات خاصی اجرا شوند. در صورت عدم برقراری شرط های تعیین شده این دستور هیچ کدی را اجرا نمیکند.
شکل کلی استفاده از این دستور به شرح زیر است :

if ( شرط یا شروط مورد نظر )
        کدها و دستوراتی که می خواهید اجرا شوند ;

مثال :

< ?php
    if ( $x == "1" )
        echo "one";
?>

مثال: در مثال زیر ابتدا مقدار نام روز جاری را در متغیر D$  ریخته ایم. سپس یک دستور شرطی if قرار داده ایم تا در صورتی که مقدار متغیر D$ برابر با Fri بود، به کاربر ” آخر هفته خوش ” را بگوید:

< ?php
    $d = date ( "D" ) ;
    if ( $d == " Fri " ) echo " Have a nice weekend! " ;
?>

ساختارهای حلقه ای while:
گاهی اوقات در کدنویسی خود نیاز داریم دستور یا دستوراتی خاص به تعداد دفعات لازم و یا تا زمانی که شرط تعیین شده برای آن صحیح است تکرار و اجرا شوند. به عباررت دیگر میخواهیم دستورات مورد نظرمان در یک حلقه تا زمانی که شرط تعیین شده برای آن درست است اجرا شوند. در این حالت از ساختارهای شرطی حلقه استفاده می کنیم.
در این ساختار یک شرط یا شروطی را در پرانتز مقابل عبارت while تعیین میکنیم. سپس کدهای مورد نطر خود را درون دستور while قرار می دهیم. تا زمانی که شرط تعیین شده درست باشد برنامه بصورت متناوب دستورات while را اجرا میکند.
در php دو نوع حلقه while داریم :

while : این حلقه تا زمانی که شرط یا شروط تعیین شده در مقابل عبارت while درست باشد دستورات درون خود را بصورت متناوب اجرا میکند.
do …. whlie: این حلقه یکبار دستورات تعیین شده را برای آن اجرا میکند، سپس شرط یا شروط تعیین شده در انتهای حلقه ی while را بررسی کرده و تا زمانی که درست باشند دستورات حلقه را مجددا بصورت متناوب تکرار میکند.

نکته: در دستور while ممکن است به علت درست نبودن شرط تعیین شده هیچگاه دستورات آن اجرا نشوند.ولی در حلقه do … while حتی اگر شرط هم درست نباشد حداقل دستورات حلقه یکبار اجرا  می شوند.

۱ ) حلقه while :
این حلقه تا زمانی که شرط یا شروط تعیین شده برای آن که در پرانتز مقابل کلمه while قرار دارند درست باشد دستورات خود را بصورت دوره ای تکرار میکند.

شکل کلی استفاده از این حلقه بصورت زیر است:


</pre>
<pre>while ( شرط یا شروط مورد نظر )
    {
        کدها و دستوراتی که می خواهید در حلقه تکرار شوند ;
     }

مثال :

< ?php
    while ( $i =< 5 )
      {
         echo "The number is " . $i . "< br >";
         $i++;
       }
?>

نکته مهم: در دستور while و یا هر ساختار حلقه ای دیگر، باید کدی وجود داشته باشد تا شمارنده حلقه را افزایش یا کاهش داده و یا باعث شود شرط حلقه بعد از مدتی نادرست شود. و گرنه حلقه تا بی نهایت ادامه پیدا کرده و کامپیوترتان هنگ می کند.

مثال: در مثال زیر یک حلقه ساده را تعریف کرده ایم. شمارنده این حلقه از یک شروع شده و به ازای هر عدد مقدار آن را چاپ می کند. سپس یک واحد شمارنده افزایش می یابد. این روند تا رسیدن شمارنده به عدد ۵ ادامه دارد:

< ? php
    while ( $i <= 5 )
     {
        $i = 1 ;
        echo " The number is " . $i . "< br/ >";
        $i++ ;
      }
? >

خروجی:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5

۲ ) حلقه do … while :
شرط این حلقه در انتهای حلقه تعیین میشود. این حلقه ابتدا یکبار دستورات تعیین شده در آن را اجرا میکند، سپس شرط تعیین شده در انتهای حلقه را بررسی کرده و تا زمانی که درست باشد بصورت دوره ای دستورات خود را اجرا میکند.
دستورات این نوع حلقه حتی اگر شرط آن غلط باشد، حداقل یکبار اجرا میشود.

شکل کلی استفاده از این حلقه بصورت زیر است:

do
      {
          کدها و دستوراتی که می خواهید در حلقه تکرار شوند ;
       }
      while ( شرط یا شروط مورد نظر )  ;

مثال:

< ?php   
  do
      {
         echo "The number is " . $i . "< br >";
         $i++;
       }
    while ( $i =< 5 ) ;
?>

خروجی:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5

ساختارهای حلقه ای for و foreach :

۱ ) حلقه for: این حلقه دستورات خود را به تعداد دفعات تعیین شده برای آن و یا تا زمانی که شرط آن درست باشد تکرار و اجرا میکند.
برای مثال شما میخواهید دستور معینی به تعداد ۱۰ بار تکرار شود در این حالت باید دستور خود را در یک حلقه for قرار دهید.
شکل کلی تعریف و استفاده از این حلقه بصورت زیر است:

    for ( init ; condition ; incresment )
    {
        کدها و دستوراتی که می خواهید در حلقه تکرار شوند ;
    }

مثال:

< ?php
    for ( $i = 1 ; $i <= 5 ; $i++ )
    {
        echo "The number is " . $i . "< br/ >"
    }
?> 

 

syntax توضیح هر یک از موارد

پارامتر

توضیح

init این پارامتر میتواند یک متغیر باشد که به عنوان اغازکر شمارنده حلقه تعیین شود. همچنین میتواند یک کد یا دستور باشد که یکبار در ابتدا حلقه اجرا خواهد شد.
Condition تعیین کننده شرط یا شروط لازم برای ادامه کار حلقه است.تا زمانی که این شرط یا شروط درست باشند حلقه به کار خود ادامه داده و دستورات را تکرار میکند.
Increment این پارامتر میتواند یک دستور باشد که در هربار اجرای حلقه مقدار متغیر شمارنده حلقه را افزایش یا کاهش دهد. همچنین میتواند دستوری باشد که یکبار در انتهای کار حلقه اجرا شود.

 

مثال: در مثال زیر یک حلقه ساده را تعریف کرده ایم. شمارنده حلقه از ۱ شروع شده و به ازای هر عدد یکبار حلقه اجرا شده و مقدار عدد شمارنده یک واحد افزایش می یابد. روند اجرای حلقه تا زمانی که عدد شمارنده به ۵ برسد ادامه داشته و سپس متوقف می شود:


< ? php
     for ( $i=1 ; $i <= 5 ; $i++ )
      {
         echo "The number is " . $i . "<br>";
       }
 ? >

خروجی:

The number is 1
The number is 2
The number is 3
The number is 4
The number is 5

۲ ) حلقه foreach :

این حلقه برای حرکت درون آرایه ها و تکرار دستورات مورد نظر بر اساس اعضای آرایه استفاده میشود.

شکل کلی تعریف و استفاده از این حلقه بصورت زیر است:


foreach ( $array as $value )
     {
         کدها و دستوراتی که می خواهید به ازای هر عضو آرایه تکرار شوند ;
     } 

مثال:

 < ?php
     foreach ( $x as $value )
     {
         echo &value . "< br/ >" ;
     }
 ?> 

نحوه کار حلقه foreach:

 

به ازای هربار اجرای حلقه مقدار عنصرجاری آرایه به متغیر value داده شده و اندیس آرایه یک واحد به جلو حرکت میکند.این روند تا زمانی ادامه دارد که به انتهای آرایه برسیم. سپس اجرای حلقه متوقف میشود. در کد مثال ، array$ نام آرایه مورد نظر و value$، پارامتر دریافت مقدار عضو جاری آرایه است.

 

مثال: در مثال زیر یک آرایه ۳ عضوی به نام x$ تعریف کرده ایم. سپس آن را در یک حلقه foreach قرار داده و مقدار اعضای آرایه را به ترتیب در خروجی نمایش داده ایم:

 < ? php
     $x = array ("one","two","three") ;
     foreach ( $x as $value )
      {
         echo $value . "< br >";
       } 
 ? > 

خروجی:

one
two
three

ساختارهای دستوری switch :

از ساختار دستوری فوق در زمانی استفاده میشود که بخواهیم به ازای مقادیر مختلف یک متغیر خاص دستور یا دستورات خاصی اجرا شوند.

برای مثال فرض کنید که یک متغیر به نام number داریم. می خواهیم کدی طراحی کرده و متغیر number را در دستور switch آن قرار دهیم. سپس به ازای هریک از مقادیر مورد نظر برای متغیر number گروه خاص از دستورات اجرا شوند.مثلا برای مقدار ۱ خروجی one و برای مقدار ۲ خروجی twoو الی اخر باشد. در این حالت از ساختار دستوری switch استفاده میکنیم.

شکل کلی استفاده از این ساختار switch به شکل زیر است:

             switch ( متغیر مورد نظر )

   {

       case مقدار اول :

             اگر مقدار متغیر با مقدار اول برابر بود این دستورات اجرا شوند ;

             break ;

       case مقدار دوم :

             اگر مقدار متغیر با مقدار دوم برابر بود این دستورات اجرا شوند ;

             break ;

         default :

               های تعیین شده برابر نبود ، این دستورات اجرا شوند case در صورتی که مقدر متغیر با مقدار هیچ کدام از ;

     }

 

به کار بردن ساختار switch در عمل:

 

در مثال زیر به صورت عملی نحوه استفاده از دستور switch را نشان داده ایم.

مثال: در مثال زیر یک متغیر به نام x تعریف و مقدار دهی کر ده ایم. سپس آن را در یک دستور switch به کار برده ایم . این دستور مقدار متغیر را بررسی کرده و چنانچه مقدار آن ۱ باشد ، عبارت one را نشان داده ، برای مقدار ۲ عبارت two ، برای مقدار ۳ عبارت three و برای سایر مقادیر عبارت bigger than 3 را نمایش می دهد.

             < ? php
   $x = 1 ;
   switch ( $x )
     {
         case 1 :
               echo " one ";
               break ;
         case 2 :
              echo " two " ;
              break ;
         case 3 :
              echo " three " ;
              break ;
          default :
              echo " bigger than three " ;
      }
 ? > 

خروجی:

One

 

آرایه چیست و چه کاربردی دارد؟

 

می دانید که متغیر فضایی است که می تواند مقداری اطلاعات مثل متن یا عدد را در خود نگهداری نماید . هر متغیر معمولی فقط می تواند یک مقدار را در خود جای دهد و نه بیشتر . این محدودیت گاهی اوقات ما را دچار مشکل می سازد.

برای مثال فرض کنید که لیستی از کتاب های آموزشی دارید. نگهداری نام هر یک از کتاب ها در یک متغیر جدا به صورت زیر خواهد بود :

$Books1 = ” HTML ” ;

$Books2 = ” ASP ” ;

&Books3 = ” PHP ” ;

 

حال فرض کنید که می خواهید بین کتاب ها جستجو کرده و کتاب خاصی را پیدا کنید . در حالتی که ۳ کتاب دارید ، ساده است اما هنگامی که ۳۰۰ کتاب دارید چه ؟ .آنگاه استفاده از روش سنتی فوق غیر ممکن خواهد بود و باید از آرایه ها استفاده نمایید.

 

آرایه متغیری است که می تواند چندین مقدار را در خود نگهداری نماید. این نوع متغیر تمامی موارد مورد نظر را درون خود با یک نام واحد نگهداری کرده. و به هر عضو یک اندیس Index اختصاص می دهد. شما می توانید به راحتی با به کار بردن نام آرایه و اندیس مورد نظر به هر عضو آرایه دسترسی داشته باشید . همچنین می توانید به راحتی با استفاده از ساختارهای حلقه ای بین اعضای آرایه حرکت کنید.

 

به طور کلی در PHP 3 نوع آرایه داریم:

 

آرایه عددی ( Numeric array ) : در این نوع آرایه ، اعضای آرایه همه با یک نام واحد تعریف شده و هر کدام یک اندیس عددی منحصر به فرد خود را دارند، که به وسیله آن شناسایی و قایل دسترسی می شوند.

آرایه متناظر ( Associative array ) : در این نوع آرایه هر عضو به صورت یک جفت مقدار و شناسه عددی ( ID Key ) تعریف می شود. برای دسترسی به هر عضو آرایه باید از شناسه عددی آن استفاده کرد.

آرایه تو در تو ( Multidimensional array ) : این نوع آرایه از دو یا چند آرایه تو در تو تشکیل می شود.

 

آرایه عددی ( Numeric array ):

در این نوع آرایه که رایج ترین نوع آرایه می باشد، اعضای آرایه همگی با یک نام یکسان تعریف شده و هر عضو یک شناسه یا اندیس دارد که به وسیله آن شناسایی و قابل دسترسی می شود.

دو روش کلی برای تعریف آرایه های عددی در PHP وجود دارد:

 

در حالت اول آرایه را به صورت اتوماتیک ساخته شده و به هر عضو به ترتیب از ابتدا یک اندیس عددی اختصاص می یابد . این اندیس به صورت پیش فرض از صفر شروع می شود :

$ Books = array ( ” HTML ” , ” CSS ” , ” ASP ” , ” PHP ” ) ; حالت اول

تعریف آرایه عددی

 

در روش دوم تعریف آرایه های عددی، هنگام تعریف اعضای آرایه، اندیس آنها را نیز تعیین می کنیم. در این حالت می توان اندیس های متفاوتی را نیز در نظر گرفت.

$ Books [ 0 ] = ” HTML ” ;
$ Books [ 1 ] = ” CSS ” ;
$ Books [ 2 ] = ” ASP ” ;
$ Books [ 3 ] = ” PHP ” ;
حالت دوم

تعریف آرایه عددی

 

آرایه متناظر ( Associative array ):

در روش دوم، هر عضو آرایه به صورت یک جفت مقدار و یک شناسه عددی ( ID Key ) تعریف می شود.

برای نگهداری گونه های خاصی از اطلاعات، معملا آرایه های عددی مناسب نیستند و بهتر است از آرایه های متناظر استفاده شود.

نحوه استفاده از این آرایه را در مثال های زیر آموزش داده ایم. در آرایه زیر اسامی چند نفر به همراه اسامی آنها را تعریف کرده ایم:

& ages = array ( ” Ali ” => 32 , ” Reza ” => 30 , ” Ahmad => 34 ) ; حالت اول

تعریف آرایه متناظر

حالت دوم

& ages [ ‘ Ali ‘ ] = ” 32 ” ;
& ages [ ‘ Reza ‘ ] = ” 30 ” ;
& ages [ ‘ Ahmad ‘ ] = ” 34 ” ;

 

آرایه های تو در تو ( Multidimensional array ):

در آرایه های تو در تو، ابتدا اعضای آرایه اصلی تعریف می شوند. سپس هر یک از اعضای آرایه اصلی، خود می تواند یک آرایه را تشکیل دهد . اعضای آرایه دوم نیز می توانند به نوبه خود یک آرایه باشند و به همین ترتیب . روش تعریف یک آرایه تو در تو و استفاده از آن را در قالب مثال های عملی زیر نمایش داده ایم :

 $families = array

   (

     "Griffin"=>array

       (

           "Peter",

           "Lois",

           "Megan"

       ),

     "Quagmire"=>array

       (

             "Glenn"

       ),

     "Brown"=>array

       (

             "Cleveland",

            "Loretta",

             "Junior"

         )

       ) ;

در مثال زیر نحوه استفاده و نمایش اعضای یک آرایه تو در تو نمایش داده شده است:

 < ? php          echo " Is " . $families['Griffin'][2] .          " a part of the Griffin family?" ; ? > 

شما کاربران عزیز و گرامی می توانید پرسش های خود را در رابطه با مطالب آموزشی در بخش نظرات مطرح نمایید.

0 پاسخ

ارسال یک پاسخ

در گفتگو ها شرکت کنید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *