1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

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

شروع موضوع توسط Amon Amarth ‏20/4/13 در انجمن PHP

  1. کاربر ارشد

    تاریخ عضویت:
    ‏7/6/12
    ارسال ها:
    12,082
    تشکر شده:
    28,151
    امتیاز دستاورد:
    113
    جنسیت:
    مرد
    آموزش PHP/ تعریف و کار با آرایه ها در PHP



    آرایه چیست و چه کاربردی دارد ؟
    می دانید که متغیر فضایی است که می تواند مقداری اطلاعات مثل متن یا عدد را در خود نگهداری نماید . هر متغیر معمولی فقط می تواند یک مقدار را در خود جای دهد و نه بیشتر . این محدودیت گاهی اوقات ما را دچار مشکل می سازد .
    برای مثال فرض کنید که لیستی از کتاب های آموزشی دارید . نگهداری نام هر یک از کتاب ها در یک متغیر جدا به صورت زیر خواهد بود : ​
    [TABLE="class: ex"]
    [TR]
    [TD="class: prdes, align: center"] $Books1 = " HTML " ;
    $Books2 = " ASP " ;
    &Books3 = " PHP " ; [/TD]
    [/TR]
    [/TABLE]
    حال فرض کنید که می خواهید بین کتاب ها جستجو کرده و کتاب خاصی را پیدا کنید . در حالتی که 3 کتاب دارید ، ساده است اما هنگامی که 300 کتاب دارید چه ؟ .آنگاه استفاده از روش سنتی فوق غیر ممکن خواهد بود و باید از آرایه ها استفاده نمایید . ​
    آرایه متغیری است که می تواند چندین مقدار را در خود نگهداری نماید . این نوع متغیر تمامی موارد مورد نظر را درون خود با یک نام واحد نگهداری کرده . و به هر عضو یک اندیس Index اختصاص می دهد . شما می توانید به راحتی با به کار بردن نام آرایه و اندیس مورد نظر به هر عضو آرایه دسترسی داشته باشید . همچنین می توانید به راحتی با استفاده از ساختارهای حلقه ای بین اعضای آرایه حرکت کنید .
    به طور کلی در PHP 3 نوع آرایه داریم : ​

    1. [*=center]آرایه عددی ( Numeric array ) : در این نوع آرایه ، اعضای آرایه همه با یک نام واحد تعریف شده و هر کدام یک اندیس عددی منحصر به فرد خود را دارند ، که به وسیله آن شناسایی و قایل دسترسی می شوند .
      [*=center]آرایه متناظر ( Associative array ) : در این نوع آرایه هر عضو به صورت یک جفت مقدار و شناسه عددی ( ID Key ) تعریف می شود . برای دسترسی به هر عضو آرایه باید از شناسه عددی آن استفاده کرد .
      [*=center]آرایه تو در تو ( Multidimensional array ) : این نوع آرایه از دو یا چند آرایه تو در تو تشکیل می شود .
    آرایه عددی ( Numeric array ) : ​
    در این نوع آرایه که رایج ترین نوع آرایه می باشد ، اعضای آرایه همگی با یک نام یکسان تعریف شده و هر عضو یک شناسه یا اندیس دارد که به وسیله آن شناسایی و قابل دسترسی می شود .
    دو روش کلی برای تعریف آرایه های عددی در PHP وجود دارد : ​

    1. [*=center]در حالت اول آرایه را به صورت اتوماتیک ساخته شده و به هر عضو به ترتیب از ابتدا یک اندیس عددی اختصاص می یابد . این اندیس به صورت پیش فرض از صفر شروع می شود :
      [TABLE="class: ex"]
      [TR]
      [TD="class: prname"] حالت اول
      تعریف آرایه عددی [/TD]
      [TD="class: prdes"] $ Books = array ( " HTML " , " CSS " , " ASP " , " PHP " ) ;
      [/TD]
      [/TR]
      [/TABLE]
      [*=center]در روش دوم تعریف آرایه های عددی ، هنگام تعریف اعضای آرایه ، اندیس آنها را نیز تعیین می کنیم . در این حالت می توان اندیس های متفاوتی را نیز در نظر گرفت .
      [TABLE="class: ex"]
      [TR]
      [TD="class: prname"] حالت دوم
      تعریف آرایه عددی [/TD]
      [TD="class: prdes"] $ Books [ 0 ] = " HTML " ;
      $ Books [ 1 ] = " CSS " ;
      $ Books [ 2 ] = " ASP " ;
      $ Books [ 3 ] = " PHP " ;
      [/TD]
      [/TR]
      [/TABLE]
    آرایه متناظر ( Associative array ) : ​
    در روش دوم ، هر عضو آرایه به صورت یک جفت مقدار و یک شناسه عددی ( ID Key ) تعریف می شود .
    برای نگهداری گونه های خاصی از اطلاعات ، معملا آرایه های عددی مناسب نیستند و بهتر است از آرایه های متناظر استفاده شود .
    نحوه استفاده از این آرایه را در مثال های زیر آموزش داده ایم . در آرایه زیر اسامی چند نفر به همراه اسامی آنها را تعریف کرده ایم : ​
    1. [TABLE="class: ex"]
      [TR]
      [TD="class: prname, align: center"] حالت اول
      تعریف آرایه متناظر [/TD]
      [TD="class: prdes, align: center"] & ages = array ( " Ali " => 32 , " Reza " => 30 , " Ahmad => 34 ) ; [/TD]
      [/TR]
      [/TABLE]
    2. [TABLE="class: ex"]
      [TR]
      [TD="class: prname, align: center"] حالت دوم
      تعریف آرایه متناظر [/TD]
      [TD="class: prdes, align: center"] & ages [ ' Ali ' ] = " 32 " ;
      & ages [ ' Reza ' ] = " 30 " ;
      & ages [ ' Ahmad ' ] = " 34 " ; [/TD]
      [/TR]
      [/TABLE]
    آرایه های تو در تو ( Multidimensional array ) : ​
    در آرایه های تو در تو ، ابتدا اعضای آرایه اصلی تعریف می شوند . سپس هر یک از اعضای آرایه اصلی ، خود می تواند یک آرایه را تشکیل دهد . اعضای آرایه دوم نیز می توانند به نوبه خود یک آرایه باشند و به همین ترتیب . روش تعریف یک آرایه تو در تو و استفاده از آن را در قالب مثال های عملی زیر نمایش داده ایم : ​
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname, align: center"] نحوه
    آرایه تو در تو [/TD]
    [TD="class: prdes, align: left"]
    $families = array ( "Griffin"=>array ( "Peter", "Lois", "Megan" ), "Quagmire"=>array ( "Glenn" ), "Brown"=>array ( "Cleveland", "Loretta", "Junior" ) ) ; [/TD]
    [/TR]
    [/TABLE]
    در مثال زیر نحوه استفاده و نمایش اعضای یک آرایه تو در تو نمایش داده شده است : ​
    [TABLE="class: ex"]
    [TR]
    [TD="class: prname, align: center"] مثال [/TD]
    [TD="class: prdes, align: left"]
    < ? php echo " Is " . $families['Griffin'][2] . " a part of the Griffin family?" ; ? > [/TD]
    [/TR]
    [TR]
    [TD="class: prname, align: center"] خروجی [/TD]
    [TD="class: prdes, align: center"] Is Megan a part of the Griffin family ? [/TD]
    [/TR]
    [/TABLE]

    [HR][/HR]منبع: developer1