• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
برگرداندن کمترین مقدار از یک آرایه
#1
سلام و وفت بخیر

فرض کنید یک آرایه داریم به صورت زیر :

کد پی‌اچ‌پی:
<? php

   $test = array {
   10 => 'sina' ,
   44 => 'kamran' , 
   98 => 'hamed',
   38 => 'saeed',
   116 => 'sajad',
   86 => 'ata' ,
   }
   
?>

حالا عدد 43 رو فرض کنید ، من میخوام مقدار نزدیکترین عدد از آرایه بالا به 43 رو پیدا کنم ولی بیشتر نباشه از عدد 43 .

مثلا تو مثال بالا عدد 38 از سمت کمتر و عدد 44 از سمت بیشتر بهش نزدیک هست. پس عدد 38 جواب ما هست.

حالا میشه راهنماییم کنید چه جوری همچین تابعی بنویستم.

منو یک آماتور فرض کنید ، ضمن اینکه سرباز هم هستم یکم عجله دارم ممنون. Big Grin
  پاسخ
تشکر شده توسط :
#2
یک تابعی ، کلاسی ، سر نخی چیزی هم بدید واقعا ممنون میشم.
  پاسخ
تشکر شده توسط :
#3
کل توابع مربوط به آرایه در PHP اینجا هست:

http://www.w3schools.com/php/php_ref_array.asp

در ضمن با این سایت W3Schools دوست شو، سایت خیلی خوبیه...Rolleyes
هر که با مرغ هوا دوست شود - خوابش آرامترین خواب جهان خواهد بود.
  پاسخ
تشکر شده توسط : sarbaz
#4
(۱۳۹۱ تير ۳۰, ۱۱:۰۴ ب.ظ)sarbaz نوشته: حالا عدد 43 رو فرض کنید ، من میخوام مقدار نزدیکترین عدد از آرایه بالا به 40 رو پیدا کنم ولی بیشتر نباشه از عدد 43 .

مثلا تو مثال بالا عدد 38 از سمت کمتر و عدد 44 از سمت بیشتر بهش نزدیک هست. پس عدد 38 جواب ما هست.

این عدد چهل رو از کجا آوردی. تو مثلن عدد ۴۳ رو در نظر گرفتی و گفتی نمی خای از ۴۰ بیشتر باشه؟
خوب اینطوری باشه ینی

یه آرایه داری
یه متغیر داری که خود عدد هستش (۴۳)
یه متغییر هم که سقف هستش (۴۰)

توی یه foreach یا for بزار و تک تک این شرط رو براش چک کن

یا اینکه می تونی همون اولش یه کار راحت انجام بدی و آرایه رو برا اساس key سورت کنی
بعد عدد پایینی رو بخونی فقط

نمیدونم منظورت رو درست متوجه شدم یانه
همه جوره اش رو داریم ظاهرن
  پاسخ
تشکر شده توسط : sarbaz
#5
(۱۳۹۱ تير ۳۱, ۰۱:۰۶ ق.ظ)hamid_80386 نوشته: کل توابع مربوط به آرایه در PHP اینجا هست:

http://www.w3schools.com/php/php_ref_array.asp

در ضمن با این سایت W3Schools دوست شو، سایت خیلی خوبیه...Rolleyes
ممنونم بابت لینک مفیدی که لطف کردی ، انگلیسیم ضعیفه خیلی سخت میشه واسم چهار تا کلمه هم بخوام بخونم Sad
(۱۳۹۱ تير ۳۱, ۰۱:۵۲ ق.ظ)molana نوشته:
(۱۳۹۱ تير ۳۰, ۱۱:۰۴ ب.ظ)sarbaz نوشته: حالا عدد 43 رو فرض کنید ، من میخوام مقدار نزدیکترین عدد از آرایه بالا به 40 رو پیدا کنم ولی بیشتر نباشه از عدد 43 .

مثلا تو مثال بالا عدد 38 از سمت کمتر و عدد 44 از سمت بیشتر بهش نزدیک هست. پس عدد 38 جواب ما هست.

این عدد چهل رو از کجا آوردی. تو مثلن عدد ۴۳ رو در نظر گرفتی و گفتی نمی خای از ۴۰ بیشتر باشه؟
خوب اینطوری باشه ینی

یه آرایه داری
یه متغیر داری که خود عدد هستش (۴۳)
یه متغییر هم که سقف هستش (۴۰)

توی یه foreach یا for بزار و تک تک این شرط رو براش چک کن

یا اینکه می تونی همون اولش یه کار راحت انجام بدی و آرایه رو برا اساس key سورت کنی
بعد عدد پایینی رو بخونی فقط

نمیدونم منظورت رو درست متوجه شدم یانه

آی وای شرمنده اشتباه کردم ، منظورم همون 43 بود.
خوب کدوم تابع بر اساس KEy مرتب میکنه و اینکه عدد آخر یا اولشو بخوام بخونم چه جوری. البته الان که اینو گفتید خودم یکم جستجو میکنم ببینم به نتیجه میرسم .

ممنون که راهنمایی کردید.

آقا تونستم این کد رو بنویسم.

کد پی‌اچ‌پی:
<?php

   $test 
= array (
   
10 => 'sina' ,
   
44 => 'kamran' 
   
98 => 'hamed',
   
38 => 'saeed',
   
116 => 'sajad',
   
86 => 'ata' ,
   );
   
   
krsort($test);
   
   foreach (
$test as $key => $val) {
   
    if ( 
$key <= 43 ){
    
     echo 
"$val";
       break;
       
       }
}
   
?>

که به نظر میاد درست کار میکنه . حالا به نظرتون این کد ایرادی نداره ؟ یعنی بهینه هست ؟ مثلا توی سیستمی استفاده بشه که می‌بایست زیاد از این تابع استفاده کنیم آیا ایجاد مشکل نمیکنه ؟ و اینکه راه راحت تری وجود نداره ؟
  پاسخ
تشکر شده توسط : molana


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان