-
مشکل در استفاده از if و else و elseif
سلام و درود
کد PHP:
$a = [1,2,3,4,5,6,7,8,9,10];
if (array_search(1, $a)) echo 1;elseif (array_search(2, $a)) echo 2;elseif (array_search(3, $a)) echo 3;elseif (array_search(4, $a)) echo 4;elseif (array_search(5, $a)) echo 5;elseif (array_search(6, $a)) echo 6;elseif (array_search(7, $a)) echo 7;elseif (array_search(8, $a)) echo 8;elseif (array_search(9, $a)) echo 9;else echo 10;
جواب قطعه کد بالا برابر عدد 2 است.
چرا جواب 1 نیست؟
مشکل چیست؟
تشکر
-
-
May 22nd, 2017 17:57
# ADS
-
پاسخ : مشکل در استفاده از if و else و elseif
کد PHP:
array_search اولین وقوع مقدار را در آرایه میدهد
array_search(1, $a) برابر صفر هست
array_search(2, $a) برابر 1 هست
-
تعداد تشکر ها از hamid53214 به دلیل پست مفید
-
عضو انجمن
پاسخ : مشکل در استفاده از if و else و elseif

نوشته اصلی توسط
naghmesra
سلام و درود
کد PHP:
$a = [1,2,3,4,5,6,7,8,9,10];
if (array_search(1, $a)) echo 1;elseif (array_search(2, $a)) echo 2;elseif (array_search(3, $a)) echo 3;elseif (array_search(4, $a)) echo 4;elseif (array_search(5, $a)) echo 5;elseif (array_search(6, $a)) echo 6;elseif (array_search(7, $a)) echo 7;elseif (array_search(8, $a)) echo 8;elseif (array_search(9, $a)) echo 9;else echo 10;
جواب قطعه کد بالا برابر عدد 2 است.
چرا جواب 1 نیست؟
مشکل چیست؟
تشکر
سلام وقت بخیر
عزیز خروجی array_search شماره کلید آرایه هست (شمارش کلید های آرایه از صفر شروع میشه)
پاسخ array_search(1, $a) صفر هست و تو شرط if صفر یعنی شرط خاموش هست پس میره سراغ elseif (array_search(2, $a)) و 2 چاپ میشه
کد زیر رو اجرا کنید متوجه موضوع میشید
کد PHP:
$a = [1,2,3,4,5,6,7,8,9,10];
foreach($a as $_a)
echo array_search($_a,$a) . '<br/>';
-
تعداد تشکر ها از omid1991 به دلیل پست مفید
-
پاسخ : مشکل در استفاده از if و else و elseif
درود
من احساس میکردم array_search تنها در صورت پیدا کردن مورد مقدار true و در صورت پیدا نکردن مقدار false رو برمیگردونه.
خوب یه سوال دیگه هم داشتم:
ساختار های شرطی پشت هم با تعدادی elseif (مانند کدی که دربارش صحبت کردیم) از لحاظ فنی مشکلی در اجرا ندارن؟
منظورم اینه که این ساختار بهینه است؟
تشکر
-
-
عضو انجمن
پاسخ : مشکل در استفاده از if و else و elseif

نوشته اصلی توسط
naghmesra
درود
من احساس میکردم array_search تنها در صورت پیدا کردن مورد مقدار true و در صورت پیدا نکردن مقدار false رو برمیگردونه.
خوب یه سوال دیگه هم داشتم:
ساختار های شرطی پشت هم با تعدادی elseif (مانند کدی که دربارش صحبت کردیم) از لحاظ فنی مشکلی در اجرا ندارن؟
منظورم اینه که این ساختار بهینه است؟
تشکر
اگه true|false میخوایید بگیرید از in_array استفاده کنید.
کد PHP:
# needle : سوزن
# haystack : انبار کاه
bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] )
در مورد ساختار از روش های ساده تری هم میشه استفاده کرد بستگی به هدفتون داره ،
بمرور خودتون یاد میگیرد نگران ساختار نیاشید
تو کد نویسی تمرین کنید و نتیجه رو بررسی کنید ، همه توابع php لازم میشه سعی کنید با همه توابع کار کنید
بنظر من تمرین بهترین راه یادگیریه
سوال کردن خوبه ولی همیشه پاسخی برای همه سوالات پیدا نمیشه مخصوصا تو وبسایت های فارسی زبان
ویرایش توسط omid1991 : May 23rd, 2017 در ساعت 13:47
-
تعداد تشکر ها از omid1991 به دلیل پست مفید