- 1
- 2
- 3
- 4
- 5
- 6
- 7
switch(true)
{
case tag1: /*тут обработка*/break;
case tag2: /*тут обработка*/break;
case tag3: /*тут обработка*/break;
case tag4: /*тут обработка*/break;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+144
switch(true)
{
case tag1: /*тут обработка*/break;
case tag2: /*тут обработка*/break;
case tag3: /*тут обработка*/break;
case tag4: /*тут обработка*/break;
}
Короче это был кусок парсера SGML файла, который в зависимости от встреченного тега выполнял действия. Этот код недословный, привожу чтоб показать как использовалась конструкция switch. На мой взгляд изящный подход =)
+164
/**
* Constructs a URL encoded query string from an array of key/value pairs
*
* @access protected
* @since 2.0
* @param array $array query string key/value pairs
* @return string
*/
protected function _glue( $array )
{
$query_string = '';
foreach( $array as $key => $val ) :
$query_string .= $key . '=' . rawurlencode( $val ) . '&';
endforeach;
return '?' . substr( $query_string, 0, strlen( $query_string )-1 );
}
http://code.google.com/p/php-twitter/
опять велосипеды
+157
// если IP в файле есть, выводим сообщение с уведомлением
if ($file[$i]===$ip."\r\n"){
echo 'Вы уже голосовали. Но спасибо, что попытались.<br>';
break;
// если IP нет, тогда считаем рейтинг и записываем IP в файл
} elseif ($file[$i]!=$ip."\r\n") {
// ********* СЧИТАЕМ РЕЙТИНГ *********
// открываем файл с рейтингом
$file_open=fopen("rate.txt", "a+");
$file_read=fgets($file_open);
// разбиваем данные по спецсимволу ':'
$dan=explode(":",$file_read);
// первое значение - сумма всех оценок, второе - кол-во проголосовавших юзеров
// добавляем к сумме оценок - полученную новую оценку
// добавляем к сумме юзеров - 1 человека
if ($_POST['rating_val']>=1 && $_POST['rating_val']<=5){
$r=$_POST['rating_val'];
$ocenka=$dan[0]+$r;
$users=$dan[1]+1;
$write=$ocenka.':'.$users;
ftruncate ($file_open, 0);
fwrite($file_open, $write);
}
// рейтинг считаем по формуле: (сумма оценок + текущая оценка) / (кол-во юзеров + 1 юзер)
$rating=substr(($dan[0]+$r) / ($dan[1]+1),0,3);
echo 'Ваш рейтинг: '.$rating.'<br>
Всего голосов: '.$users.'<br>';
// закрываем файл с рейтингом
fclose($file_open);
// ************************************
fwrite($open_ip, $ip."\r\n");
echo 'Ваш голос учтен. Спасибо.<br>';
break;
} else {
echo 'Странно. Вопреки всякой логике, произошла ошибка, которая появиться не могла.<br>
Пожалуйста, <a href=mail.php>напишите нам письмо</a> и мы обязательно разберемся.';
}
Проверка в скриптике друга. Смотрим самый внешний IF, порадовала ветка else :)
+160
<?$APPLICATION->IncludeFile(
$APPLICATION->GetTemplatePath("include_areas/contacts.php"),
Array(),
Array("MODE"=>"html")
);?> </div>
Вот так индусские проггеры из Bitrix показывают контакты сайта.
+170
function formatbytes($file, $type)
{
switch($type){
case "KB":
$filesize = filesize($file) * .0009765625; // bytes to KB
break;
case "MB":
$filesize = (filesize($file) * .0009765625) * .0009765625; // bytes to MB
break;
case "GB":
$filesize = ((filesize($file) * .0009765625) * .0009765625) * .0009765625; // bytes to GB
break;
}
if($filesize <= 0){
return $filesize = 'unknown file size';}
else{return round($filesize, 2).' '.$type;}
}
Вот так мы выводим размер файлика.
+161
switch ($action)
{
case 'error_php':
showError('php'); #
break;
case 'error_short_tag':
showError('tag'); #
break;
case 'index':
showIndex(); #
break;
case 'license':
showLicense(); #
break;
case 'choose':
showChoose(); #
break;
case 'postchoose':
showPostChoose(); #die($action."");
break;
case 'system':
showSystem(); # после выбора цвета макета переходим сюда
break;
case 'build':
showBuild(); # потом сюда
break;
case 'configure':
showConfigure(); # если без структуры идём сюда
break;
case 'uninstall':
showUninstall();
break;
case 'install':
showInstall();
break;
case 'postinstall':
showPostInstall();
break;
case 'vars':
downloadConfigFile();
break;
}
Структурное программирование от авторов инсталлятора NetCat.
+189
switch ($item) {
case $item: getitem($item);break;
}
+165
$image = $_FILES['image']['tmp_name'];
if( !empty($image) )
{
@$src = imagecreatefromjpeg($image);
if($src==false){exit ('Это не картинка'); }
Этот кусочек кода был спором 7 человек;)
Это говнокод?
+173
# текст сообщений об ошибке
$errDescr[1] = NETCAT_MODERATION_MSG_ONE;
$errDescr[2] = NETCAT_MODERATION_MSG_TWO;
$errDescr[6] = NETCAT_MODERATION_MSG_SIX;
$errDescr[7] = NETCAT_MODERATION_MSG_SEVEN;
$errDescr[8] = NETCAT_MODERATION_MSG_EIGHT;
$errDescr[21] = NETCAT_MODERATION_MSG_TWENTYONE;
Чьорт, я обожаю этих ребят. Они мои герои.
+160
case false:
default:
:)