1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #9123

    +150

    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
    function check($string_to_search) {
    $stack = array();
    foreach (preg_split("//", $string_to_search) as $char) {
    switch ($char) {
    case '{':
    case '(':
    case '[':
    array_push($stack, $char);
    break;
    case '}':
    if (array_pop($stack) != "{") return false;
    break;
    case ')':
    if (array_pop($stack) != "(") return false;
    break;
    case ']':
    if (array_pop($stack) != "[") return false;
    break;
    }
    }
    return true;
    }

    by kolen

    varg242, 16 Января 2012

    Комментарии (3)
  3. JavaScript / Говнокод #9117

    +146

    1. 1
    ... document.write('<img src="' + src + '" alt="" width="1" height="1" style="display:none"/>');

    microsoft.com, 24 строчка

    necropedophag, 14 Января 2012

    Комментарии (3)
  4. Objective C / Говнокод #9114

    −83

    1. 1
    ((UIButton*)[[mCellsArray objectAtIndex:indexPath.row]viewWithTag:kSpeakGalleryCellButtonTag]).selected = !((UIButton*)[[mCellsArray objectAtIndex:indexPath.row]viewWithTag:kSpeakGalleryCellButtonTag]).selected;

    Встречается в проекте раз пять такая конструкция

    Werdn, 14 Января 2012

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

    +164

    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
    function recoveryPassword( $data )
    {
    	$value = implode( '', $data );
    	$key = implode( '', array_keys( $data ) );
    
    	$query = '
    		SELECT
    			u.user_id AS `id`,
    			u.login,
    			u.salt,
    			u.mail,
    			u.status
    		FROM
    			users AS `u`
    		WHERE
    			u.'.$key.' = "'.$value.'"
    		LIMIT 1;';
    
    	if( !list($result) = $this->db->get($query) )
    	{
    		...
    }

    Копаясь в старом студийном коде наткнулся. Видимо, предполагалось, что в качестве $data будет передан массив вида array( 'field' => 'value' ) c 1 элементом.

    faiwer, 11 Января 2012

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

    +161

    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
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    ///////////////////////////////////////////////
    ////////////
    //Содержимое
    
    function One($str,$tag,$num=1,$p=1){
    
    if($num=='0'){ $num='1'; }
    
    //Разделитель <тег
    $see_st=explode('<'.$tag,$str);
    
    if($p!==1){ $see_st=explode($p,$str); 
    
    $end=explode('>',$see_st[$num]); 
    $see_st[$num]='.'.$end[1];
    }
    
    //Разделитель </тег
    $see_end=explode('</'.$tag,substr($see_st[$num],'1'));
    
    return $see_end[0];
    }
    ///////////////////////////////////////////////
    /////////
    //Парсинг
    
    function Parse($go,$str=0){
    if($str==0){ $str=$this->String; }
    
    //Разбили путь
    $path=explode("/",$go);
    
    //Обрабатываем путь
    for($go_n=0;$go_n<count($path);$go_n++){
    //$go_n='2';
    
    //Номер тега
    $num=explode(':',$path[$go_n]);
    if($num[1]==NULL){ $num[1]=1; }
    
    if($go_n=='0'){ $string=$str;}else{ $string=$t[$go_n-1]; } 
    $t[$go_n]=$this->One($string,$num[0],$num[1]);
    }
    
    return $t[$go_n-1];
    }

    Тоже самое, но теперь с xmlD:

    finall2, 08 Января 2012

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

    +162

    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
    function tegs($str){
        if(!empty($str)){
        $tegs = explode(',', $str);
        $all_tegs = count($tegs);
        $str_Tegs = '<a href="/tegs.php?search='.$tegs['0'].'">'.$tegs['0'].'</a>';
        for($i = 1; $i<=$all_tegs-1; $i++){
            $str_Tegs .= ', <a href="/tegs.php?search='.$tegs[$i].'">'.$tegs[$i].'</a>';        
        }
        $str = $str_Tegs;
        } else {
            $str = 'Меток нет.';
        }
     return $str;
    }

    Правильный вывод меток

    Skitch, 07 Января 2012

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

    −138

    1. 1
    вайп

    TarasGovno, 04 Января 2012

    Комментарии (3)
  9. JavaScript / Говнокод #8851

    +163

    1. 1
    $('.eTag').attr('href',$('.eTag').attr('href').replace('/search/','/searchq?='));

    http://usite.su/forum/3-1806-18538-16-1324092570

    substr, 17 Декабря 2011

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

    +147

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $x = '1234';
    $pos = strlen($x);
    echo substr($x,$pos,1);
    // или так
    $x = '1234';
    $y = strlen($x);
    $num = $x[$y-1]; 
    echo $num

    Оба варианта предложил один автор

    Sulik78, 16 Декабря 2011

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

    +154

    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
    <?
    	function lang($lang) {
    
    		$languages = array('ru', 'en', 'lv');
    	
    		foreach($languages as $lang_arr) {
    	                // Проверка, есть ли такой язык в массиве
    			if($lang == $lang_arr) {
    				// Меняем язык
    			}
    		}
    
    	}
    ?>

    in_array(); ?

    Не, не слышал... ;)

    killro0000, 15 Декабря 2011

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