آموزش 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 نوع آرایه داریم : [*=center]آرایه عددی ( Numeric array ) : در این نوع آرایه ، اعضای آرایه همه با یک نام واحد تعریف شده و هر کدام یک اندیس عددی منحصر به فرد خود را دارند ، که به وسیله آن شناسایی و قایل دسترسی می شوند . [*=center]آرایه متناظر ( Associative array ) : در این نوع آرایه هر عضو به صورت یک جفت مقدار و شناسه عددی ( ID Key ) تعریف می شود . برای دسترسی به هر عضو آرایه باید از شناسه عددی آن استفاده کرد . [*=center]آرایه تو در تو ( Multidimensional array ) : این نوع آرایه از دو یا چند آرایه تو در تو تشکیل می شود . آرایه عددی ( Numeric array ) : در این نوع آرایه که رایج ترین نوع آرایه می باشد ، اعضای آرایه همگی با یک نام یکسان تعریف شده و هر عضو یک شناسه یا اندیس دارد که به وسیله آن شناسایی و قابل دسترسی می شود . دو روش کلی برای تعریف آرایه های عددی در PHP وجود دارد : [*=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 ) تعریف می شود . برای نگهداری گونه های خاصی از اطلاعات ، معملا آرایه های عددی مناسب نیستند و بهتر است از آرایه های متناظر استفاده شود . نحوه استفاده از این آرایه را در مثال های زیر آموزش داده ایم . در آرایه زیر اسامی چند نفر به همراه اسامی آنها را تعریف کرده ایم : [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] [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