1. PHP / Говнокод #21778

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    $start = "2016-11-29";
    $end = "2016-12-31";
    $nnomer = "lux";
    
    const SQL_GET_MENU_NOMERPRICE = '
    SELECT `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9`, `10`, `11`, `12` FROM nomerprice WHERE name = :name
    ';
    
    $pdo = new PDO($dsn, $user, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $pdo->prepare(SQL_GET_MENU_NOMERPRICE);
    $res = $stmt->execute([':name' => $nnomer]);
    $nprice = json_encode(array_pop($stmt->fetchAll(PDO::FETCH_OBJ)), JSON_NUMERIC_CHECK);
    // $nprice сейчас равен {"1":1500,"2":1000,"3":2000,"4":1000,"5":1500,"6":2000,"7":1500,"8":2000,"9":1500,"10":3000,"11":2000,"12":1500}
    
    if (!empty($start) && !empty($end)) {
        $startDate = new DateTime($start);
        $endDate = new DateTime($end);
        $dates = array($startDate, $endDate);
     
        $pricesPerMonth = array(
            1 => 1500, 2 => 2000, 3 => 1500, 4 => 2000, 5 => 1500,
            6 => 2000, 7 => 1500, 8 => 2000, 9 => 1500, 10 => 2000,
            11 => 1500, 12 => 2000
        );
    
        $price = 0;
        for ($i = $startDate->getTimestamp(); $i <= $endDate->getTimestamp(); $i += 86400) {
            $newDate = new DateTime();
            $newDate->setTimestamp($i);
            $m = $newDate->format('m');
            $m = intval($m);
            if ($pricesPerMonth[$m]) {
                $price += $pricesPerMonth[$m];
            }
        }
        var_dump($price);
    }

    https://toster.ru/q/376912

    riot26, 04 Декабря 2016

    Комментарии (2)
  2. PHP / Говнокод #21769

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    function _init_oaipmh_parse_taxonomy_terms($terms) {
      $num_terms = count($terms);
      $i = 0;
      $value = '';
      foreach ($terms as $term) {
        $value .= $term->name;
        if (!(++$i === $num_terms))
          $value .= ', ';
      }
      return $value;
    }

    iluschenko, 02 Декабря 2016

    Комментарии (2)
  3. PHP / Говнокод #21755

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $ok = $this->db->query("update tbl_lootsie_final_rewards set show_title='$reward_title_show' where user_id = $user_id");
    if ($ok != '') {
        return true;
    } else {
        return true;
    }

    всё ОК посоны (с) индус

    madfishGovnokod, 30 Ноября 2016

    Комментарии (2)
  4. PHP / Говнокод #21748

    +4

    1. 1
    2. 2
    3. 3
    if(is_int((int)$companyID)) {
       ...
    }

    Конкретная проверка

    aat, 29 Ноября 2016

    Комментарии (6)
  5. PHP / Говнокод #21747

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    function to_array($a)
    {
        if (is_array($a))
            return $a;
        elseif ((false === $a) || (NULL === $a))
            return array();
        else
            return array($a);
    }
    
    function _or($a, $b)
    {
        if ($a) return $a;
        return $b;
    }

    Немножко хелперов

    SeniorShaurman, 29 Ноября 2016

    Комментарии (0)
  6. PHP / Говнокод #21746

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    function mtime()
    {
      list($usec, $sec) = explode(' ', microtime());
      return $usec + $sec;
    }

    Что-то со временем

    SeniorShaurman, 29 Ноября 2016

    Комментарии (0)
  7. PHP / Говнокод #21744

    −2

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    Таблица 1
    ┌────────────┬───────┬───────────────────────────────────┬───────┐
    │            │       │                                   │ Hayes │
    │            │       │          AnCom(R) ST-2442         │ Smart │
    │            │       │                                   │ modem │
    │            │       ├───────┬───────┬─────────┬─────────┼───────┤
    │ Файлы      │Размер │Пропус-│Пропус-│ Коэфф.  │Модельный│Пропус-│
    │ разного    │файла в│кная   │кная   │увеличен.│коэфф.   │кная   │
    │ типа       │байтах │способ-│способ-│пропускн.│увеличен.│способ-│
    │            │       │ность  │ность  │способн. │пропускн.│ность  │
    │            │       │ MNP 5 │V.42bis│ V.42bis │способн. │V.42bis│
    │            │       │(в cps)│2048/32│         │         │2048/32│
    ╞════════════╪═══════╪═══════╪═══════╪═════════╪═════════╪═══════╡
    │`abcd       │ 31680 │  609  │  960  │  3.15   │  25.64  │  931  │
    │ambassai.ttf│ 40476 │  385  │  355  │  1.23   │   1.47  │  381  │
    │ancom.tif   │ 58561 │  266  │  261  │  0.93   │   1.00  │  266  │
    │owner.dbf   │ 45435 │  946  │  744  │  2.51   │   4.69  │  857  │
    │emm386.arj  │ 37515 │  264  │  267  │  0.93   │   1.00  │  264  │
    │gorilla.bas │ 29434 │  452  │  600  │  1.96   │   2.08  │  555  │
    │io.sys      │ 33430 │  388  │  321  │  1.09   │   1.31  │  348  │
    │graphics.doc│ 29508 │  461  │  590  │  1.96   │   1.98  │  536  │
    │mtez.dir    │ 37000 │  949  │  822  │  2.74   │  14.71  │  925  │
    │tartan.bmp  │ 32886 │  764  │  747  │  3.11   │  12.05  │  747  │
    │wword20.inf │ 51029 │  432  │  750  │  2.53   │   2.56  │  671  │
    └────────────┴───────┴───────┴───────┴─────────┴─────────┴───────┘

    спамлю вот

    barop, 29 Ноября 2016

    Комментарии (3)
  8. PHP / Говнокод #21739

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    foreach($mainCategories as $category){
                $subcategory = AdCategory::where('parent_id', $category->id)->get();
                if(!$subcategory->isEmpty()){
                    foreach($subcategory as $item){
                        $subcategoryArray[] = $item->id;
                    }
    	
                    $category->adsCount = Ad::whereIn('category_id', $subcategoryArray)->onlyRegion($currentRegion->id)->active()->count();
                    $subcategoryArray = [];
                }else{
                    $category->adsCount = Ad::where('category_id', $category->id)->onlyRegion($currentRegion->id)->active()->count();
                }
            }

    Получаем количество элементов в категориях

    infolevelru, 28 Ноября 2016

    Комментарии (0)
  9. PHP / Говнокод #21727

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if ($project->Budget
                            and ((((new DateTime($project->Budget->update_time)) < (new DateTime((new DateTime('-1 day'))->format('Y-m-d'))))
                            and (((new DateTime('now')) > (new DateTime($project->Budget->from))->add(new \DateInterval('P1D')))
                            and ((new DateTime('now')) < (new DateTime($project->Budget->to))->add(new \DateInterval('P2D')))))
                            or ((new DateTime($project->Budget->update_time)) < (new DateTime($project->Budget->to))))
                            and (count(unserialize($project->campaignIDS)) > 0)
                        ) {
                              // Делвем обновление данных в кэше по бюджету 
                        }

    Пришло время посмеяться над собой и переписать свой старый говнокод =) условие количеством скобок лисп напоминает.

    fens, 26 Ноября 2016

    Комментарии (13)
  10. PHP / Говнокод #21726

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    public function isOverflowed(){
            if(is_null($this->isOverflow)){
                $this->isOverflow = ($this->getMemberCount() > $this->getMaxMembers());
            }
            return $this->isOverflow === true;
    
        }

    Придадим значимости результату.

    AndryG, 26 Ноября 2016

    Комментарии (5)