چون اندیس آرایه ها ی انجمنی ،عددی نیست نمی شه با استفاده ازشمارنده در حلقه تکرار به عناصر آرایه انجمنی دسترسی پیدا کرد.
برای اینکار می تونید از حلقه تکرار foreach یا تابع list ،each ، reset استفاده کنید.
روش کار با foreach
روش بکار گیری این دستور در آرایه های انجمنی ،اندکی متفاوت از بکارگیری آن با آرایه های معمولی است.
مثال
کد PHP:
Foreach($grade as $key => $value)
Echo $key . ‘=> ’. $value .’<br>’;
در این دستور foreach ، متغیر $key اندیس رو مشخص میکنه که در آرایه $grade به ترتیب برابر با ahmad .ali.reza
است.و $value مقدار کلید رو مشخص میکنه که به ترتیب 15و17و14 است.
انتخاب نام $key و $value اختیاریه
به کار گیری ساختار each()
این تابع عنصر فعلی آرایه را بر میگرداند و به عنصر بعدی میره
بکار گیری تابع each()
کد PHP:
While($element = each($grade))
{
Echo $element[‘key’];
Echo ‘=>’;
Echo $element [‘value’];
Echo ‘<br>’;
}
در این دستور .تابع each اندیس و محتویات آرایه $grade رو استخراج میکنه در آرایه ای با نام $element قرار میده . اندیس با واژه key و مقدار با واژه value قابل دستیابیه در داخل .حلقه برایدستیابی به اندیس(کلید) از $element[‘key’] و برای دستیابی به مقدار این کلید از $element[‘value’] استفاده میشه.
روش استفاده از تابع list
با استفاده ازتابع list و each در کنار همدیگه هم میشه به محتویات آرایه انجمنی رو به نمایش کشید.
تابع list آرایه رو به چند قسمت تبدیل میکنه بنابر این میشه دو مقداری که توسط each برگردونده میشه رو از هم تفکیک کرد و در دو متغیر جدا از هم قرار داد .
کد PHP:
<?php
$grade = array(‘ahmad’ => 15, ‘ali’ => 17, ‘reza’ => 14);
While(list($index ,$value)= each($grade))
{
Echo “<b>$index => $value”.”<br>”;
}
?
در این دستور در شرط حلقه while تابع each هر یک از اندیس های آرایه را درمتغیر $index و مقدار کلید را در $value قرار میده. در داخل حلقه تکرار ،این دو متغیربه همراه علامت <= چاپ میشه.
تابع reset
وقتی با تابع each مقادیر عناصر آرایه رو چاپ میکنیم . به انتهای آرایه میرسید.اگر در همان برنامه بخواهید دوباره به عناصر همون آرایه دستیابی داشته باشید باید به ابتدای آرایه برگردید برای این منظور از تابع reset استفاده میشه
Reset($grade);
تمرین
صفحه ای طراحی کنید که ضمن تعریف یک آرایه انجمنی ، چگونگی دستیابی به عناصر آرایه را به روش های مختلف نشان بدهد.