• 1 رای - 5 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
بهینه کردن کد
#1
سلام
من کد زیر را نوشتم و میخوام ببسنم راهی هست بشه کوتاه تر نوشتش ؟؟؟
توضیح کد :
چندتا آرایه نوشتم که مقادیر هر آرایه اعداد مختلفی هستن که هر عدد نمایشگر یک قسمت از سریال هست
هر آرایه را توی یه متغیر ریختم و با تابع in_array در شرط ها گفتم که مثلا اگر عدد 10 در فرم وارد شده بود شماره فصل بشه 1

آیا راهی هست که این کد جمع و جورتر بشه ؟
کد پی‌اچ‌پی:
  $episode_number $_POST['episode_number'];

 
   $season1 = array(1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162);
 
   $season2 = array(636465666768697071727374757677);
 
   $season3 = array(787980818283848586878889909192);
 
   $season4 = array(93949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130);
 
   $season5 = array(131132133134135136137138139140141142143);
 
   $season6 = array(144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195);
 
   $season7 = array(196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228);
 
   $season8 = array(229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263);
 
   $season9 = array(264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336);
 
   $season10 = array(337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381);
 
   $season11 = array(382383384385386387388389390391392393394395396397398399400401402403404405406407);
 
   $season12 = array(408409410411412413414415416417418419420421);
 
   $season13 = array(422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458);
 
   $season14 = array(459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516);
 
   $season15 = array(517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578);
 
   $season16 = array(579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628);
 
   $season17 = array(629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746);
 
   $season18 = array(747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782);
 
   $season19 = array(783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877);
 
   $season20 = array(878879880881882883884885886887888889890891892893894895896897898899900);
 
   if (in_array($episode_number$season1)) {
 
       $episode_seasons 1;
 
   } else if (in_array($episode_number$season2)) {
 
       $episode_seasons 2;
 
   } else if (in_array($episode_number$season3)) {
 
       $episode_seasons 3;
 
   } else if (in_array($episode_number$season4)) {
 
       $episode_seasons 4;
 
   } else if (in_array($episode_number$season5)) {
 
       $episode_seasons 5;
 
   } else if (in_array($episode_number$season6)) {
 
       $episode_seasons 6;
 
   } else if (in_array($episode_number$season7)) {
 
       $episode_seasons 7;
 
   } else if (in_array($episode_number$season8)) {
 
       $episode_seasons 8;
 
   } else if (in_array($episode_number$season9)) {
 
       $episode_seasons 9;
 
   } else if (in_array($episode_number$season10)) {
 
       $episode_seasons 10;
 
   } else if (in_array($episode_number$season11)) {
 
       $episode_seasons 11;
 
   } else if (in_array($episode_number$season12)) {
 
       $episode_seasons 12;
 
   } else if (in_array($episode_number$season13)) {
 
       $episode_seasons 13;
 
   } else if (in_array($episode_number$season14)) {
 
       $episode_seasons 14;
 
   } else if (in_array($episode_number$season15)) {
 
       $episode_seasons 15;
 
   } else if (in_array($episode_number$season16)) {
 
       $episode_seasons 16;
 
   } else if (in_array($episode_number$season17)) {
 
       $episode_seasons 17;
 
   } else if (in_array($episode_number$season18)) {
 
       $episode_seasons 18;
 
   } else if (in_array($episode_number$season19)) {
 
       $episode_seasons 19;
 
   } else if (in_array($episode_number$season20)) {
 
       $episode_seasons 20;
 
   
  پاسخ
تشکر شده توسط :
#2
من کد رو نوشتم براتون ولی درمورد حلقه foreach و آرایه ها بیشتر تحقیق کنید .

کد:
<?php
$episode_number = $_POST['episode_number'];
$se = [
    0 , //se 0
    62 ,// se1 , from 1 to 62
    77, //se2 from 63 to 77
    92,
    130,
    143,
    195,
    228,
    263,
    236,
    381,
    407,
    421,
    458,
    516,
    578,
    628,
    746,
    782,
    877,
    900
];

foreach($se as $k=>$v) {
    if($episode_number<=$v) {
        $episode_seasons = $k;
        break;
    }
}

echo $episode_seasons;
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : molana Y.P.Y ayoubsys kasbookar


پرش به انجمن:


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