یک آرایه متغیری است که میتواند چندین مقدار را داخل خود نگهداری نماید.
<?php $cars=array("Volvo","BMW","Toyota"); echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . "."; ?>
در مثال بالا ما آرایه ای به نام cars ایجاد کردیم و نام سه نوع ماشین را داخل آن ذخیره کردیم.
array() در php برای تعریف آایه ها به کار می رود. بعد از تعریف آرایه و تخصیص مقادیر در خط دوم با استفاده از اندیس هر مقدار داخل آرایه، به مقادیر آنها دسترسی پیدا میکنیم.
عنصر اول در اندیس 0، عنصر دوم در اندیس 1 و ... .
حال چرا از آرایه ها استفاده میکنیم؟ فرض کنید میخواهیم اسم هزار ماشین را ذخیره کنیم، اگر از حالت متغیرهای معمولی استفاده کنیم باید هزار خط شبیه این بنویسیم...
$cars1="Volvo"; $cars2="BMW"; $cars3="Toyota";
...
در حالی که با آرایه ها فقط یک آرایه 1000 عنصری برای این کار نیاز است!
انواع آرایه ها در php:
در php سه نوع آرایه داریم
آرایه های ایندکس شده - آرایه هایی که با اندیس مشخص می شوند
آرایه های انجمنی - آرایه هایی که با کلید نام مشخص می شوند
آرایه های چند بعدی - آرایه هایی که شامل یک یا چند آرایه می باشند
آرایه های ایندکس شده:
دو روش برای ایجاد آرایه های اینکس شده وجود دارد، یک روش مثل مثال زیر:
$cars=array("Volvo","BMW","Toyota");
که در مثال فوق آرایه هایی با سه عنصر ایجاد می شود، اندیس آرایه ها بصورت پیش فرض از 0 شروع می شود.
روش دوم مثل مثال زیر است:
$cars[0]="Volvo"; $cars[1]="BMW"; $cars[2]="Toyota";
در هر دوروش فوق آرایه ای با سه اندیس 0 و 1و 2 ایجاد می شوند و مقادیر داخل آن ذخیره می شوند. برای دسترسی به مقادیر آرایه ها در این حالت ها هم از اندیس هر عنصر استفاده می شود:
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
به دست آوردن طول یک آرایه یا استفاده از count:
برای بادست آوردن طول آرایه در php از تابع count استفاده میکنیم به این صورت:
$cars=array("Volvo","BMW","Toyota"); echo count($cars);
خروجی در مثال فوق مقدار 3 خواهد بود.
چاپ تمام مقادیر یک آرایه یا تابع count و for:
$cars=array("Volvo","BMW","Toyota"); $arrlength=count($cars); for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "<br>"; }
در مثال فوق ابتدا آرایه تعریف میکنیم و مقادیر رو اختصاص میدیم، بعد طول آرایه رو به دست میاریم، بعد از اندیس 0 تا آخرین اندیس آرایه که برابر یکی کمتر از طول آرایه است رو پیمایش و تک به تک مقادیر آرایه رو چاپ میکنیم.
آرایه های انجمنی:
آرایه های انجمنی به جای ایندکس از نام یکتا برای هر عنصر استفاده میکنند که ما این نام ها را مشخص میکنیم، مثال:
دو روش ایجاد آرایه های انجمنی:
روش اول:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
روش دوم:
$age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43";
برای دسترسی به مقادیر آرایه های انجمنی نیز از نام آنها استفاده می شود:
echo "Peter is " . $age['Peter'] . " years old.";
چاپ تمام مقادیر یک آرایه انجمنی به همراه کلید هر عنصر با استفاده از foreach:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "<br>"; }
خروجی مثال فوق به این صورت خواهد بود:
Key=Peter, Value=35 Key=Ben, Value=37 Key=Joe, Value=43