آموزش کامل آرایه انجمنی در PHP
آرایه انجمنی یا Associative Arrays آرایه هایی هستند که با یک نام کلیدی خاص خود فراخوان می شود. در شکل زیر هر یک از دایره ها عضوهای مقابل آرایه است که هر کدام با نام کلیدی خاص خود (key name) فراخوان می شود.
آرایه انجمنی در PHP را می توان به دو صورت نوشت. اولین روش این است که همه عضوهای آرایه را در یک خط در مقابل آرایه بنویسیم. مانند نمونه زیر :
$age=array("Peter"=>"35"،"Ben"=>"37"،"Joe"=>"43");
و یا برای هر عضو آرایه به صورت جداگانه متغیر تعریف کنیم. در نمونه زیر به هر نام به صورت جداگانه متغیر age$ اختصاص گرفته است.
Peter']="35";
$age['Ben']="37";
$age['Joe']="43";
تفاوت آرایه انجمنی با آرایه عددی در چیست؟ آرایه انجمنی تنها نام مورد نظر را فراخوان می کند و دیگر لازم نیست که به شماره جایگاه آن عضو اشاره ای داشته باشد ، اما در آرایه عددی تنها عضو ها با شماره جایگاهشان فراخوان می شود. یک نمونه مثال برای آرایه انجمنی در PHP مشاهده کنید.
<?php
$age=array("Peter"=>"35"،"Ben"=>"37"،"Joe"=>"43");
echo"Peter is ".$age['Peter']." years old.";
?>
مثال را مشاهده کردید ؟
همان طور که دیدید متغیر age$ را تنها با نام عضو صدا کرده است. در این مثال سن شخصی به نام peter را نمایش می دهد.
خروجی
Peter is 35 years old.
برای آرایه عددی حلقه for را تعریف کردیم برای آرایه انجمنی در PHP نیز می توان حلقه ای foreach را معرفی کرد.
به مثال زیر دقت کنید :
<?php
$age=array("Peter"=>"35"،"Ben"=>"37"،"Joe"=>"43");
foreach($ageas$x=>$x_value)
{
echo"Key=".$x."، Value=".$x_value;
echo"<br>";
}
?>
در این مثال ابتدا یک آرایه انجمنی تعریف کردیم ، و سپس در حلقه foreach شرط را بیان کردیم متغیر age$ را به صورت x=>$x_value$ باشد. متغیر x$ نام شخص و متغیر x-value$ سن ان شخص است. در قسمت echo طریق نوشتن این دستور را در برنامه تعریف می کند. توجه داشته باشد در دستور echo متغیر x$ قبلش یک نقطه تعریف شده است!
این نقطه برای نوشتن تساوی و مقدارش در یک خط است. یعنی این دو داده رشته ای به هم مربوط هستند.
خروجی
Key=Peter، Value=35
Key=Ben، Value=37
Key=Joe، Value=43
دوباره با مثال قبل برگردید. دقت کردید نقطه ای که قبل از متغیر x$ تعریف شده است برای x-value$ نیز تعریف شده است و به همین دلیل تمام این داده ها در هر خط کنار هم نمایش داده شده اند.
درباره آرایه چند بعدی در سطح پیشرفته توضیح بیشتری خواهیم داد.