Mohammad
2 سال پیش توسط Mohammad مطرح شد
6 پاسخ

کدی که دومین عدد بزرگ را از آرایه استخراج کند

سلام وقتتون بخیر

من میخوام با php کدی بنویسم که دومین عدد بزرگ را از یه آرایه استخراج کنه با استفاده از function
ممنون میشم کمک کنید


ثبت پرسش جدید
میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 2 سال پیش مطرح شد
2

سلام خسته نباشید
ببین ارایه به صورت بزرگ به کوچیک مرتب کن index دومی میشه جوابت


محمدرضا
تخصص : <programmer/>
@mrjazini.ir 2 سال پیش مطرح شد
2

سلام

هر چی گشتم تابعی براش پیدا نکردم 😂😂
راه حل فضایی خودم رو میگم براتون

ابتدا با استفاده از

max()

بیشترین مقدار رو بدست بیارید
بعدش با استفاده از

array_search()

شماره ایندکس بزرگترین عدد رو بدست بیارید
بعد با استفاده از

unset()

مقدار رو حذف کنید
حالا دوباره تابع

max()

رو روی آرایه جدید اعمال کنید


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 2 سال پیش آپدیت شد
5

آرایه رو مرتب سازی کن (مثلا از کوچک به بزرگ)، سپس عنصر یکی به آخر میشه جواب.


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 2 سال پیش مطرح شد
2

سلام خسته نباشید
ببین ارایه به صورت بزرگ به کوچیک مرتب کن index دومی میشه جوابت


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 2 سال پیش مطرح شد
2

البته index اولی میشه چون از صفر شروع میشه


Mohammad
@Mohammad.Naderi85 2 سال پیش مطرح شد
0

خیلی ممنون از راهنماییتون 🙏🙏🙏
@milwad


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 2 سال پیش آپدیت شد
1

اول با تابع های Sorting(مرتب سازی) PHP میای آرایه رو مرتب میکنی بعد ایندکس مورد نظر آرایه رو انتخاب کنی.
من اینجا از rsort استفاده کردم و از اونجایی که به دومین عدد بزرگ احتیاج داریم ایندکس دوم(1) رو بدست آوردم.

<?php
$numbers = array(4, 6, 2, 22, 11);
echo 'Array: '; var_dump($numbers);
rsort($numbers);
echo 'Sorted Array: '; var_dump($numbers);
echo "Second place among the largest numbers: ".  $numbers['1'];

نمونه خلاصه و تمیز کد قبلی:

<?php
$numbers = array(4, 6, 2, 22, 11);
var_dump($numbers);
rsort($numbers);
var_dump($numbers);
echo $numbers['1'];

@mrjazini.ir
روش جالبی رو مطرح کردی اما ممکن تو کد بعدا بزرگترین عدد هم لازم بشه پس حذف کردن بزرگترین عدد کار منطقی نیست.
مثلا میتونیم قبل حذف بزرگترین عدد از آرایه یه آرایه جدید بسازیم و آرایه اصلی رو بریزیم توش و از آرایه دوم بزرگترین عدد رو حذف کنیم و ادامه مراحلی که گفتی رو انجام بدیم بعد که دومین عدد بزرگ رو بدست آوردیم بریم تو آرایه اصلی دنبالش بگردیم و شماره ایندکسش رو پیدا کنیم.
پس کدمون به این شکل در میاد:

$numbers = array(4, 6, 2, 22, 11);
$numbers_2 = $numbers;
unset($numbers_2[array_search(max($numbers_2),$numbers_2)]);
$output = $numbers[array_search(max($numbers_2), $numbers)];
echo $output;

این کد هم دومین عدد بزرگ رو از آرایه $numbers بدست میاره
همچنین میتونیم به جای ساخت یه آرایه جدید فقط بزرگترین عدد رو بدست بیاریم و بریزیم تو یه متغیر و بعد از آرایه حذفش کنیم اما شاید لازم باشه بزرگترین عدد داخل خود آرایه وجود داشته باشه که برای اون هم میتونیم بزرگترین عدد که تو یه متغیر قرارش دادیم رو در نهایت(بعد پیدا کردن دومین عدد بزرگ) دوباره به آرایه اضافه کنیم.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام