عملگر «+» برای آرايه ها معنی خاصی دارد. اين عملگر، عناصر* آرايه سمت راست را در آرايه سمت چپ، ادغام می کند. در ترکیب این دو آرایه، کلید آرایه ها مهم است. اگر کلیدی در آرایه سمت چپ موجود بود، بدون تغییر باقی می ماند. تنها عناصری از آرایه سمت راست با کلیدهای متفاوت اند که با آرایه سمت چپ ادغام می شود. تکه کد زیر نمونه ای از استفاده این عملگر مفید است:
<?php
//define a couple of arrays
$a = array(
0=>"Apple",
2=>"Ball");
$b = array(
3=>"Cat",
2=>"Dog");
foreach(($a + $b) as $key=>$value)
{
print("$key: $value<br>\n");
}
?>
خروجی تکه کد بالا که یک آرایه سه عنصری است را در زیر مشاهده می کنید. عنصری که شاخص آن در آرایه، ۲ است، مقدار همین شاخص در آرایه a را بکار گرفته است.
با این توضیحات برای اینکه عناصر دو آرایه را با هم ترکیب کنیم، می بایست دو آرایه کلیدهای متفاوتی داشته باشند تا آرایه حاصله، اجتماع عناصر دو آرایه باشد؛ این کار به سادگی با شاخص گذاری دستی آرایه سمت راست عملگر صورت می گیرد. مثلا تکه کد زیر خروجی تکه کد بالا را تغییر می دهد.
<?php
//define a couple of arrays
$a = array(0=>"Apple", 2=>"Ball");
$b = array(3=>"Cat", "Dog");
foreach(($a + $b) as $key=>$value)
{
print("$key: $value<br>\n");
}
?>
تابع array_merge ادغام آرایه ها را به طرز دیگری انجام می دهد.
*) به هر عضو از آرایه، عنصر یا Element می گوييم. هر عضو توسط يک کليد(شاخص) قابل دسترسی است. در PHP علاوه بر اينکه شاخصها عددی هستند، می توانند رشته کاراکتر هم باشند که آرايه های از اين نوع را Associative می ناميم. از آنجا که PHP زبان Loosley Typed می باشد، بدين معنی که لازم نیست قبل از انتساب مقدار به متغیر، نوع داده آنها تعريف شود، عناصر آرايه می توانند، نوع داده های مختلفی داشته باشند.
|