سوال در مورد foreach
سلام.
اونطور که متوجه شدم حلقه foreach به این صورت هست که داخل پرانتز ابتدا نام آرایه رو می نویسیم و بعد as و بعد نام متغیر.
سوالم مربوط به حلقه foreach در تصویر زیر هست. کدی هست که استاد نوشته بود و خودم هم نوشتم.
اینجا که ما آرایه divisions نداریم؟
ما متغیر division تعریف نکردیم که؟
چرا division قبل از حلقه $ نداره اما division های داخل حلقه $ دارن؟
میشه یه بار حلقه foreach رو به فارسی بنویسین؟
ممنونم.
اگر دقت کنین در خط 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 که یک آرایه هست فهمیدیم.
در foreach ابتدا باید نام آرایه بنویسیم و بعد as و ... اما اینجا که ما آرایه divisions نداریم؟ یعنی من توقع دارم که قبل از حلقه آرایه division تعریف کنیم و در حلقه فقط این آرایه رو نام ببریم. اما اینطور نیست.
ممنون میشم راهنمایی کنین.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .