سلام، وقتتون بخیر
پاسخ تمرینی که استاد صالحی حلقه while رو گذاشتن برعهده دانشجویان
در انتها یکم توضیح میدم و امیدوارم استاد نقاط قوت و ضعف رو بهم بگن
<?php
/**
*
* users list in array
*
*/
$users = array(
1 => [
'first_name' => 'Alireza',
'last_name' => 'Dehkar',
'display_name' => 'Alireza Dehkar',
'age' => 21,
'role' => 'admin',
'email' => 'demo@demo.com',
'phone' => 989012345678,
],
2 => [
'first_name' => 'Mina',
'last_name' => 'Vafaei',
'display_name' => 'Mina Vafaei',
'age' => 27,
'role' => 'author',
'email' => 'mina@demo.com',
'phone' => 989012345676,
],
3 => [
'first_name' => 'Mohammadreza',
'last_name' => 'Salari',
'display_name' => 'Mohammadreza Salari',
'age' => 32,
'role' => 'subscriber',
'email' => 'msalari@demo.com',
'phone' => 989012345675,
]
);
/**
*
* Print users display name & age
*
*/
$i = 1;
$count = count($users);
if ($count > 0) {
while ($i <= $count) {
echo $users[$i]['display_name'] . ' ' . $users[$i]['age'] . ' years<br>';
$i++;
}
} else {
echo 'No user found.';
}
1- چرا $i رو برابر با 1قرار دادم؟ به این دلیل که کلیدهای من (آی دی کاربر) از 1 شروع میشه و در دیتابیس مقدار 0 در نظر گرفته نمیشه(در این حالت که از دیتابیس استفاده ای نشده اما من دوست داشتم چنین حالتی رو ایجاد کنم)، البته میشه از توابعی استفاده کرد و کلیدهارو درون ی آرایه دیگه بریزیم یا اینکه ی آرایه indexed داشته باشید که در این حالت میشه برابر با 0 هم قرار داد که من ترجیح دادم فعلا استفاده نکنم
2- تابع count() - تعداد عناصر داخل آرایه رو برامون بازگردانی و داخل متغییر $count میریزه و ی مقدار دوم هم میگیره که اختیاریه ، اگر برابر با 0 باشه(پیشفرض) عناصر آرایههای چندبعدی رو شمارش نمیکنه و اگر 1 باشه میتونید شمارشی از آرایههای چندبعدی(multidimensional) هم داشته باشید
3- از if هم استفاده کردم تا بررسی کنم آیا کاربری وجود داره یا ن، اگر وجود داشت حلقه رو اجرا میکنه در غیراینصورت حلقه رو نادیده میگیره و ی پیام نمایش میده
4- از single quote استفاده شده به این دلیل که استاد گفتن بهینهتر هست از double quote و سرعت بالاتری داره
فکر کنم استاد فقط بخش while رو میخواستن اما ی مواردی رو اضافه کردم ک شاید مفید باشه
نظری داشتید حتما مطرح کنید، حتی اگر کل کد و توضیحات هم اشتباه بود حتما حتما بهم بگید ممنون میشم