بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

سوال در مورد foreach

مدیریت گفتگو
alisajadi 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام.

اونطور که متوجه شدم حلقه foreach به این صورت هست که داخل پرانتز ابتدا نام آرایه رو می نویسیم و بعد as و بعد نام متغیر.

سوالم مربوط به حلقه foreach در تصویر زیر هست. کدی هست که استاد نوشته بود و خودم هم نوشتم.

اینجا که ما آرایه divisions نداریم؟

ما متغیر division تعریف نکردیم که؟

چرا division قبل از حلقه $ نداره اما division های داخل حلقه $ دارن؟

میشه یه بار حلقه foreach رو به فارسی بنویسین؟

ممنونم.

نظرات

پاسخ‌ها 2

MOJTABA 10 سال پیش

اگر دقت کنین در خط 10 یک تابع تعریف کردین به نام division با ورودی متغیری به نام number , در خط بعدی ( خط 11 ) شما یک آرایه تعریف کردین به نام output که توی خط 17 اون رو به عنوان خروجی تابع برمی گردونین.

در خط بعدی ( خط 19 ) شما یک متغیر به نام divisions$ ساختین که مساوی هست با خروجی تابع division با ورودی 1000:

 $divisions = division(1000);

یعنی output توی متغیر divisions$ ریخته میشه. توی php متغیر ها نوعشون معلوم نیست تا وقتی که توشون اطلاعاتی بریزیم یا نوعشون رو معلوم کنیم.

حلقه foreach : قبل از کلمه کلیدی as آرایه divisions$ قرار گرفته و بعد از as , یه متغیر که نماینده هر عضو از آرایه divisions$ هست رو داریم که توی حلقه از اون استفاده می کنیم . به جمع بودن اسم divisions$ و جمع نبودن اسم متغیر division$ دقت کنین 

  foreach( $divisions as $division ){
         echo $division;
}

UPDATE :

طبق نکته ای که بالا هم بهش اشاره کردم -> توی PHP نوع متغیر ها معلوم نیست تا وقتی که توشون اطلاعات بریزیم . توی خط (divisions = division(1000 متغیر divisions$ نوع مشخص شد که یک آرایه است . چه جوری مشخص شد ؟ از خروجی تابع (division(1000 که یک آرایه هست فهمیدیم.



نظرات

alisajadi 10 سال پیش
خیلی ممنونم از پاسختون و وقتی که گذاشتید. تا حدودی متوجه شدم. اما این سوال برام پیش اومده: در foreach ابتدا باید نام آرایه بنویسیم و بعد as و ... اما اینجا که ما آرایه divisions نداریم؟ یعنی من توقع دارم که قبل از حلقه آرایه division تعریف کنیم و در حلقه فقط این آرایه رو نام ببریم.
alisajadi 10 سال پیش
خیلی ممنونم از پاسختون و وقتی که گذاشتید. تا حدودی متوجه شدم. اما این سوال برام پیش اومده: در foreach ابتدا باید نام آرایه بنویسیم و بعد as و ... اما اینجا که ما آرایه divisions نداریم؟ یعنی من توقع دارم که قبل از حلقه آرایه division تعریف کنیم و در حلقه فقط این آرایه رو نام ببریم. اما اینطور نیست.
alisajadi 10 سال پیش
پیامتون ناقص اومده. ممنون میشم دوباره پاسخ بدین.
alisajadi 10 سال پیش

در foreach ابتدا باید نام آرایه بنویسیم و بعد as و ... اما اینجا که ما آرایه divisions نداریم؟ یعنی من توقع دارم که قبل از حلقه آرایه division تعریف کنیم و در حلقه فقط این آرایه رو نام ببریم. اما اینطور نیست.

ممنون میشم راهنمایی کنین.

نظرات

MOJTABA 10 سال پیش
توی UPDATE ادامه ی جواب بالا سوالتون رو جواب دادم

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .