jahansite
02-26-2017, 05:17 PM
آرایه چیست و چه کاربردی دارد ؟
Only the registered members can see the link (Only the registered members can see the link)
می دانید که متغیر فضایی است که می تواند مقداری اطلاعات مثل متن یا عدد را در خود نگهداری نماید . هر متغیر معمولی فقط می تواند یک مقدار را در خود جای دهد و نه بیشتر . این محدودیت گاهی اوقات ما را دچار مشکل می سازد .
برای مثال فرض کنید که لیستی از کتاب های آموزشی دارید . نگهداری نام هر یک از کتاب ها در یک متغیر جدا به صورت زیر خواهد بود :
$Books1 = " HTML " ;
$Books2 = " ASP " ;
&Books3 = " PHP " ;
حال فرض کنید که می خواهید بین کتاب ها جستجو کرده و کتاب خاصی را پیدا کنید . در حالتی که 3 کتاب دارید ، ساده است اما هنگامی که 300 کتاب دارید چه ؟ .آنگاه استفاده از روش سنتی فوق غیر ممکن خواهد بود و باید از آرایه ها استفاده نمایید .
Only the registered members can see the link (Only the registered members can see the link)
آرایه متغیری است که می تواند چندین مقدار را در خود نگهداری نماید . این نوع متغیر تمامی موارد مورد نظر را درون خود با یک نام واحد نگهداری کرده . و به هر عضو یک اندیس 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?" ;
? >
خروجی Is Megan a part of the Griffin family ?
Only the registered members can see the link (Only the registered members can see the link)
می دانید که متغیر فضایی است که می تواند مقداری اطلاعات مثل متن یا عدد را در خود نگهداری نماید . هر متغیر معمولی فقط می تواند یک مقدار را در خود جای دهد و نه بیشتر . این محدودیت گاهی اوقات ما را دچار مشکل می سازد .
برای مثال فرض کنید که لیستی از کتاب های آموزشی دارید . نگهداری نام هر یک از کتاب ها در یک متغیر جدا به صورت زیر خواهد بود :
$Books1 = " HTML " ;
$Books2 = " ASP " ;
&Books3 = " PHP " ;
حال فرض کنید که می خواهید بین کتاب ها جستجو کرده و کتاب خاصی را پیدا کنید . در حالتی که 3 کتاب دارید ، ساده است اما هنگامی که 300 کتاب دارید چه ؟ .آنگاه استفاده از روش سنتی فوق غیر ممکن خواهد بود و باید از آرایه ها استفاده نمایید .
Only the registered members can see the link (Only the registered members can see the link)
آرایه متغیری است که می تواند چندین مقدار را در خود نگهداری نماید . این نوع متغیر تمامی موارد مورد نظر را درون خود با یک نام واحد نگهداری کرده . و به هر عضو یک اندیس 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?" ;
? >
خروجی Is Megan a part of the Griffin family ?