خانه / برنامه نویسی وب / آموزش PHP / آموزش PHP_ساختار دستوری PHP_تعریف و کار با آرایه ها در PHP

آموزش PHP_ساختار دستوری PHP_تعریف و کار با آرایه ها در PHP

آموزش PHP_ساختار دستوری PHP_تعریف و کار با آرایه ها در PHP

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

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

$Books1 = ” HTML ” ;
$Books2 = ” ASP ” ;
&Books3 = ” PHP ” ;

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

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

  1. آرایه عددی ( Numeric array ) : در این نوع آرایه ، اعضای آرایه همه با یک نام واحد تعریف شده و هر کدام یک اندیس عددی منحصر به فرد خود را دارند ، که به وسیله آن شناسایی و قایل دسترسی می شوند .
  2. آرایه متناظر ( Associative array ) : در این نوع آرایه هر عضو به صورت یک جفت مقدار و شناسه عددی ( ID Key ) تعریف می شود . برای دسترسی به هر عضو آرایه باید از شناسه عددی آن استفاده کرد .
  3. آرایه تو در تو ( Multidimensional array ) : این نوع آرایه از دو یا چند آرایه تو در تو تشکیل می شود .

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

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

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

    حالت اول
    تعریف آرایه عددی
    $ Books = array ( ” HTML ” , ” CSS ” , ” ASP ” , ” PHP ” ) ;

  2. در روش دوم تعریف آرایه های عددی ، هنگام تعریف اعضای آرایه ، اندیس آنها را نیز تعیین می کنیم . در این حالت می توان اندیس های متفاوتی را نیز در نظر گرفت .
  3. حالت دوم
    تعریف آرایه عددی
    $ Books [ 0 ] = ” HTML ” ;
    $ Books [ 1 ] = ” CSS ” ;
    $ Books [ 2 ] = ” ASP ” ;
    $ Books [ 3 ] = ” PHP ” ;

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

در روش دوم ، هر عضو آرایه به صورت یک جفت مقدار و یک شناسه عددی ( ID Key ) تعریف می شود .
برای نگهداری گونه های خاصی از اطلاعات ، معملا آرایه های عددی مناسب نیستند و بهتر است از آرایه های متناظر استفاده شود .
نحوه استفاده از این آرایه را در مثال های زیر آموزش داده ایم . در آرایه زیر اسامی چند نفر به همراه اسامی آنها را تعریف کرده ایم :

  1. حالت اول
  2. تعریف آرایه متناظر
    & ages = array ( ” Ali ” => 32 , ” Reza ” => 30 , ” Ahmad => 34 ) ;
  3. حالت دوم
  4. تعریف آرایه متناظر
    & 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?" ;
? >

خروجی
Is Megan a part of the Griffin family?

منبع :developer1.ir

درباره admin

پاسخ بدهید

ایمیلتان منتشر نمیشودفیلدهای الزامی علامت دار شده اند *

*


رفتن به بالا
ساخت سایت : عصر آسیا مجری طراحی سایت در اصفهان