یک آرایه چندین مقدار را در یک متغیر ذخیره می کند.
آرایه چیست؟
یک متغیر یک ناحیه ذخیره سازی است که یک مقدار عددی یا متنی را نگه می دارد. مسئله اصلی این است که یک متغیر تنها یک مقدار را نگداری می کند.
یک آرایه متغیر مخصوصی است که می تواند چندین مقدار را در یک متغیر ذخیره کند.
اگر لیستی از اقلام داشته باشید (مثلاً یک لیست از اسامی ماشین ها) ، ذخیره کردن ماشین ها در متغیرها بصورت تکی شبیه زیر خواهد بود:
$cars1=”Saab”; $cars2=”Volvo”; $cars3=”BMW”; |
با وجود این برای نوشتن حلقه های تکرار و پیدا کردن یک ماشین از بین ماشین ها چه خواهید کرد؟ حالا اگر به جای 3 ماشین 300 ماشین داشته باشید چه؟
بهترین راه حل استفاده از یک آرایه است!
یک آرایه می تواند همه مقادیر را تحت یک نام ذخیره کرده و برای مراجعه به هر مقدار از همان نام متغیر استفاده می کنید.
هر عنصر در آرایه اندیس خودش را دارد و براحتی می تواند مورد دسترسی قرار گیرد.
در PHP، سه نوع آرایه وجود دارد:
- آرایه شمارشی – آرایه ای با اندیس های عددی
- آرایه انجمنی – آرایه ای که یک کلید شناسایی (ID key) به هر مقدار تخصیص داده می شود.
- آرایه چند بعدی – آرایه ای که شامل یک یا چند آرایه است.
آرایه های شمارشی
یک آرایه شمارشی هر عنصر آرایه را با یک اندیس عددی ذخیره می کند.
دو روش برای ایجاد آرايه شمارشی وجود دارد.
1. در مثال زیر اندیس ها بصورت خودکار به عناصر داده خواهد شده( اندیس ها از صف شروع خواهند شد) :
$cars=array(“Saab”,”Volvo”,”BMW”,”Toyota”); |
2. در مثال زیر اندیس ها را خود ما بصورت دستی تعیین کرده ایم:
$cars[0]=”Saab”; $cars[1]=”Volvo”; $cars[2]=”BMW”; $cars[3]=”Toyota”; |
مثال
در مثال زیر به مقادیر متغیر با استفاده از نام آرایه و اندیس دسترسی پیدا می کنیم:
<?php $cars[0]=”Saab”; $cars[1]=”Volvo”; $cars[2]=”BMW”; $cars[3]=”Toyota”; echo $cars[0] . ” and ” . $cars[1] . ” are Swedish cars.”; ?> |
خروجی کد فوق بصورت زیر است:
Saab and Volvo are Swedish cars. |
آرایه های انجمنی
در یک آرایه انجمنی (associative) ، یک کلید یکتا به هر مقدار تخصیص داده شده است.
وقتی داده هایی در مورد اسامی خاصی ذخیره می شود، آرایه شمارشی روشی خوبی نیست. با استفاده از آرایه های انجمنی می توانیم از اسامس به عنوان کلید استفاده کرده و مقادیر را به آنها نسبت دهیم.
مثال 1:
در این مثال از یک ارایه برای نگهداری سن افراد مختلف استفاده شده است:
$ages = array(“Peter”=>32, “Quagmire”=>30, “Joe”=>34); |
مثال 2:
این مثال مشابه مثال 1 است ، ولی روش دیگری برای ایجاد آرایه نشان می دهد:
$ages[‘Peter’] = “32”; $ages[‘Quagmire’] = “30”; $ages[‘Joe’] = “34”; |
کلیدهای یکتا می توانند در اسکریپت استفاده شوند:
<?php $ages[‘Peter’] = “32”; $ages[‘Quagmire’] = “30”; $ages[‘Joe’] = “34”; echo “Peter is ” . $ages[‘Peter’] . ” years old.”; |
خروجی کد فوق عبارت است از:
Peter is 32 years old. |
آرایه های چندبعدی
در آرایه چندبعدی، هر عنصر در آرایه اصلی می تواند خودش یک آرایه باشد. و هر عنصر در زیر-آرایه نیز می تواند یک آرایه باشد و به همین ترتیب.
مثال 1
در این مثال یک آرایه چندبعدی ایجاد کرده ایم:
$families = array (“Griffin” =>array ( “Peter”, “Lois”, “Megan” ), “Quagmire”=>array ( “Glenn” ), “Brown” =>array ( “Cleveland”, “Loretta”, “Junior” ) ); |
آرایه فوق را می توان بصورت زیر در نظر گرفت:
Array ( [Griffin] => Array ( [0] => Peter [1] => Lois [2] => Megan ) [Quagmire] => Array ( [0] => Glenn ) [Brown] => Array ( [0] => Cleveland [1] => Loretta [2] => Junior ) ) |
مثال 2
اجازه دهید یکی از مقادیر آرایه فوق را نمایش دهیم:
echo “Is ” . $families[‘Griffin’][2] . ” a part of the Griffin family?”; |
كد فوق خروجي زير را خواهد داشت:
Is Megan a part of the Griffin family? |