آرایه متغیری است که می تواند چندین مقدار را در خود نگهداری نماید . این نوع متغیر تمامی موارد مورد نظر را درون خود با یک نام واحد نگهداری کرده . و به هر عضو یک اندیس Index اختصاص می دهد . با به کار بردن نام آرایه و اندیس ، به هر عضو آرایه دسترسی خواهیم داشت . همچنین می توانیم به راحتی با استفاده از ساختارهای حلقه ای بین اعضای آرایه حرکت کنید .
در زبان برنامه نویسی php سه نوع آرایه داریم
- آرایه عددی ( 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 ) :
آرایه های متناظر نیز همانند آرایه های اندیس دار هستند با این تفاوت که میزان اندیس (ایندکس) توسط برنامه نویس تعیین خواهد شد و مقداری عددی یا متشکل از حروف است. به طور کلی ساختار آرایه های انجمنی اینگونه است: Key => Value که Key همان اندیس و Value مقداری است که به آن کلید (Key) نسبت داده شده است. برای درک بهتر، به تصویر شماره 2 توجه کنید.
تصویر شماره 2 – نمایش آرایه انجمنی و عناصر آن
برای ایجاد آرایه های انجمنی نیز 2 راه پیش روی شما قرار دارد، به مثال زیر دقت کنید:
$age["Ali"] = "26";
$age["Reza"] = "42";
$age["Hamid"] = "35";
کد فوق با کد زیر برابر و هم معنی است:
$age = Array( "Ali"=>"26", "Reza"=>"42", "Hamid"=>"35");
در مثال بالا آرایه ای با نام age ایجاد کردیم که دارای 3 عنصر است و هر عنصر از یک کلید و یک مقدار تشکیل شده است. برای مثال عنصر نخست کلیدی معادل Ali و مقداری معادل 26 دارد.
آرایه های تو در تو : ( Multidimensional array )
در آرایه های تو در تو ، ابتدا اعضای آرایه اصلی تعریف می شوند . سپس هر یک از اعضای آرایه اصلی ، خود می تواند یک آرایه را تشکیل دهد . اعضای آرایه دوم نیز می توانند به نوبه خود یک آرایه باشند و به همین ترتیب . روش تعریف یک آرایه تو در تو و استفاده از آن را در قالب مثال های عملی زیر نمایش داده ایم : در مثال زیر نحوه استفاده و نمایش اعضای یک آرایه تو در تو نمایش داده شده است :
نحوه آرایه تو در تو
$families = array
(
"Griffin"=>array
(
"Peter",
"Lois",
"Megan"
),
"Quagmire"=>array
(
"Glenn"
),
"Brown"=>array
(
"Cleveland",
"Loretta",
"Junior"
)
) ;
توابع مرتبط با آرایه ها در زبان php
زبان php توابع زیادی در رابطه با آرایه ها معرفی کرده است در این بخش به چند نمونه از توابع پرکاربرد ی اشاره می شود.
تابع array_merge
این تابع برای ادغام دو آرایه بکار می رود و شکل کلی آن بصورت زیر می باشد:
$z= array_merge($x,$y);
این تابع دو متغیر x$ و y$ را با هم ادغام کرده و در داخل آرایه z$ قرار می دهد و اندیس ها را نیز ریست میکند.
تابع array_fill
از این تابع برای پر کردن خانه های آرایه با مقدار دلخواه استفاده می شود و بصورت زیر می باشد:
نام آرایه array_fill(index,number,value);
پارامتر اول index : شروع اندیس گذاری خانه های آرایه از چند باشد
پارامتر دوم number : تعداد عناصری که می خواهیم در آرایه قرار دهیم مشخص می کند
پارامتر سوم value : مقداری که می خواهیم در تمام خانه های آرایه قرار گیرد
تابع array_search
در صورتیکه مقدار موردنظر را پیدا کند اندیس آن را بر می گرداند و در غیر اینصورت false برمی گرداند.
array_search(نام آرایه , مقدار)
تابع array_combine
برای استفاده از این تابع باید دو آرایه داشته باشیم یکی شامل عناصر رشته ای و دیگری شامل عناصر عددی بعدش این تابع دو تا آرایه رو با هم جوری ترکیب می کنه که یه آرایه انجمنی باهاشون می سازه طوری که عناصر رشته ای آرایه اول میشه اندیس آرایه انجمنی و عناصر عددی آرایه دوم میشه مقدار خانه های آرایه انجمنی
array_combine(keys,values);
پارامتر اول ، یک آرایه است که برابر میشه با اندیسهای آرایه جدید ، و پارامتر دوم آرایه ای است که مقدار خونه هاش میشه مقدار خونه های آرایه جدید
تابع array_values
یک آرایه دریافت کرده و اندیس های آن را ریست کرده و در یک متغیر می ریزد.
array_values($x);
تابع array_intersect
برای نمایش اشتراک بین دو آرایه
array_intersect($x,$y);
- تابع: array_diff دو یا چند آرایه را با هم مقایسه می کند سپس تفاوت دو یا چند آرایه را بدست می آورد و آرایه جدیدی می سازد که شامل مواردی است که در آرایه اول است که در دومی نیست.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید