توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل در استفاده از if و else و elseif
جواب قطعه کد بالا برابر عدد 2 است.
چرا جواب 1 نیست؟
مشکل چیست؟
تشکر
سلام وقت بخیر
عزیز خروجی array_search شماره کلید آرایه هست (شمارش کلید های آرایه از صفر شروع میشه)
پاسخ array_search(1, $a) صفر هست و تو شرط if صفر یعنی شرط خاموش هست پس میره سراغ elseif (array_search(2, $a)) و 2 چاپ میشه
کد زیر رو اجرا کنید متوجه موضوع میشید
$a = [1,2,3,4,5,6,7,8,9,10];
foreach($a as $_a)
echo array_search($_a,$a) . '<br/>';
naghmesra
May 23rd, 2017, 12:10
درود
من احساس میکردم array_search تنها در صورت پیدا کردن مورد مقدار true و در صورت پیدا نکردن مقدار false رو برمیگردونه.
خوب یه سوال دیگه هم داشتم:
ساختار های شرطی پشت هم با تعدادی elseif (مانند کدی که دربارش صحبت کردیم) از لحاظ فنی مشکلی در اجرا ندارن؟
منظورم اینه که این ساختار بهینه است؟
تشکر
omid1991
May 23rd, 2017, 13:43
درود
من احساس میکردم array_search تنها در صورت پیدا کردن مورد مقدار true و در صورت پیدا نکردن مقدار false رو برمیگردونه.
خوب یه سوال دیگه هم داشتم:
ساختار های شرطی پشت هم با تعدادی elseif (مانند کدی که دربارش صحبت کردیم) از لحاظ فنی مشکلی در اجرا ندارن؟
منظورم اینه که این ساختار بهینه است؟
تشکر
اگه true|false میخوایید بگیرید از in_array (http://php.net/manual/en/function.in-array.php) استفاده کنید.
در مورد ساختار از روش های ساده تری هم میشه استفاده کرد بستگی به هدفتون داره ،
بمرور خودتون یاد میگیرد نگران ساختار نیاشید
تو کد نویسی تمرین کنید و نتیجه رو بررسی کنید ، همه توابع php لازم میشه سعی کنید با همه توابع کار کنید
بنظر من تمرین بهترین راه یادگیریه
سوال کردن خوبه ولی همیشه پاسخی برای همه سوالات پیدا نمیشه مخصوصا تو وبسایت های فارسی زبان :53: