سلام، امیدوارم که حالتون خوب باشه
نمیخوام زیاد بپردازیم به تعریفات و میخوام بیشتر با مثال توضیح بدم، پس بریم
با استفاده از آرایه میتوانیم چندین مقدار را در یک متغیر ذخیره کنیم.
آرایه ها در php با استفاده از array() مشخص میشوند.
<?php $color = array("red","green","blue","yellow"); ?>
برای چاپ یکی از خانه های این آرایه میتوانیم به صورت زیر عمل کنیم:
<?php echo $color[0]; // output : red echo $color[1]; // output : green echo $color[2]; // output : blue echo $color[2]; //output:yellow ?>
در آرایه ها اندیس های آرایه ها از صفر (۰) شروع میشوند و تا یکی کمتر از طول آرایه جلو میرود.برای همین در آرایه بالا اندیس ها از صفر تا سه جلو میرود.
برای اینکه طول آرایه را بدست بیاوریم از متود count استفاده میکنیم.
echo count($color); // output : 4
اگه میخواین اطلاعات کلی تری از آرایه داشته باشین از دستور زیر استفاده کنید:
var_dump($color);
خروجی دستور بالا بصورت زیر است:
array(4) { [0]=> string(3) "red" [1]=> string(5) "green" [2]=> string(4) "blue" [3]=> string(6) "yellow" }
که بطور دقیق مقدار کلید ها و مقادیر کلید هارو مشخص میکنه و همچنین نوع هر مقدار و تعداد اون رو مشخص میکنه، به عنوان مثال مقدار کلید صفر که red هست از نوع string یا همون رشته هست و طولشم برابر 3 هست.
اگه بخواین دستور بالا رو بصورت مرتب تر مشاهده کنید.این دستور (<pre>) رو هم به بالای کد قبلی اضافه کنید. بصورت زیر:
<?php $color = array("red", "green", "blue", "yellow"); echo "<pre>" var_dump($color); ?>
نتیجه دستورات بالا بصورت زیر است:
array(4) {
[0]=>
string(3) "red"
[1]=>
string(5) "green"
[2]=>
string(4) "blue"
[3]=>
string(6) "yellow"
}
و از دستور print_r هم برای نمایش اطلاعات آرایه ها استفاده میشود که بصورت زیر است:
<?php $color = array("red", "green", "blue", "yellow"); echo "<pre>" print_r($color); ?>
ببینیم خروجی دستور بالا چیه؟
Array
(
[0] => red
[1] => green
[2] => blue
[3] => yellow
)
اطلاعات کمتری نسبت به var_dump به ما نمایش میدهد.
برای حذف مقادیر از آرایه از متود unset استفاده میکنیم.
unset($color[0]);
برای حذف یک مقدار فقط کافیه کلید همون مقدار رو بنویسیم تا از آرایه حذف بشه.به دستور زیر توجه کنید:
<?php $color = array("red", "green", "blue", "yellow"); echo "<pre>" unset($color[0]); print_r($color); ?>
خروجی دستور بالا وقتی که از متود unset استفاده کردیم بصورت زیر است:
Array
(
[1] => green
[2] => blue
[3] => yellow
)
مقدار کلید صفر از آرایه حذف شده است.
اگر از متود unset بصورت زیر استفاده کنیم، کل آرایه حذف میشود.
unset($color);
واگه الان بخواییم آرایه رو print_r کنیم با خطای مواجه میشویم که میگه متغیر تعریف نشده است.
برای اضافه کردن یک مقدار جدیدبه آرایه میتونیم به این صورت عمل کنیم:
$color[] = "black"
وقتی بصورت بالا بنویسیم میاد و بزرگترین اندیس integer رو در این آرایه پیدا میکنه و اون اندیس رو یکی بهش اضافه میکنه و مقدار جدید رو هم میزاره برای اون که نتیجه بصورت زیر میشه:
<?php $color = array("red", "green", "blue", "yellow"); $color[] = "black" echo "<pre>" print_r($color); ?>
و خروجی:
Array
(
[0] => red
[1] => green
[2] => blue
[3] => yellow
[4] => black
)
در این آرایه بزرگترین اندیس ۳ بود و یکی به اون اضافه میکنه و میشه ۴ و مقدار جدید رو که black هست ربط میده به اندیس ۴.
میتونیم خودمون اندیس اضافه کنیم بدین صورت:
<?php $color = array("red", "green", "blue", "yellow"); $color[101] = "black" echo "<pre>" print_r($color); ?>
و خروجی :
Array
(
[0] => red
[1] => green
[2] => blue
[3] => yellow
[101] => black
)
حالا میخوایم ببینیم چطور میشه همه ی مقادیر آرایه رو پشت سر هم چاپ کرد، برای اینکار از حلقه ها استفاده میکنیم:
<?php $color = array("red", "green", "blue", "yellow"); for ($i = 0; $i < count($color); $i++) { echo $color[$i]; echo "<br/>" } ?>
خروجی هم بصورت زیر است:
red
green
blue
yellow
دستور (echo "<br/>";) برای این هست که بعد از چاپ هر مقدار آرایه به خط بعدی برود.
در php یک کار راحت استفاده از دستور foreach است که بصورت زیر استفاده میشود و خروجی اون دقیقا شبیه خروجی for است.
<?php $color = array("red", "green", "blue", "yellow"); foreach ($color as $key => $value) { echo $value; echo "<br/>" } ?>
خب اینم از بحث آرایه ها در php، امیدوارم خوشتون اومده باشه.شاد و پیروز باشد.