- 1
- 2
//переворачиваем массив с ног на голову, отрезаем голову, чтоб осталось 10 элементов и ставим все что осталось на ноги
$_lasts = array_reverse(array_splice(array_reverse($last_view), 5));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 14
+74
//переворачиваем массив с ног на голову, отрезаем голову, чтоб осталось 10 элементов и ставим все что осталось на ноги
$_lasts = array_reverse(array_splice(array_reverse($last_view), 5));
"казнь" массива
+127
<ul>
<li><label><input class="smert_zaemchika" type="checkbox" /> Смерть заемщика</label></li>
<li><label><input class="poterya_raboty" type="checkbox" /> Потеря работы</label></li>
<li><label><input class="ne_nado" type="checkbox" /> Нет</label></li>
</ul>
не могу больше молчать......
+107
if (curMenu != null)
{
depth = curMenu.Depth;
Menu menuG = null;
if (depth == 1)
{
menuG = curMenu;
}
if (depth == 2)
{
menuG = curMenu.Menu2;
}
if (depth == 3)
{
menuG = curMenu.Menu2.Menu2;
}
if (depth == 4)
{
menuG = curMenu.Menu2.Menu2.Menu2;
}
Меню "неограниченной" вложенности
−116
sub addOrUpdateContr {
my $doc = shift;
my( $id ) = $common->dbh->selectrow_array(
qq|SELECT contrid FROM... | );
$id = $id || 0;
if ( $id ) {
# вариант действий 1 ....
return $id;
}
if( !$id ) {
# вариант действий 2 (делает INSERT)....
return $id;
} else {
# вариант действий 3 ....
return $id;
}
return $id;
}
Просто красивая функция.
И то, что при названии addOrUpdateContr никакого апдэйта она не делает в ней далеко не самое замечательное.
+179
function start() {
global $_POST,$_GET,$items,$conn,$conn_ip;
.....
PHP может внезапно обмануть. Перестраховывайтесь!
−117
my $arr=[];
my $res=$dbr->selectrow_arrayref("SELECT DISTINCT obj.value
FROM obj
INNER JOIN ...
INNER JOIN ...
INNER JOIN ...
INNER JOIN ...
INNER JOIN ...
WHERE .....
сложный, но не интересный SQL-запрос к наскольким таблицам под лям записей в каждом
...");
arm_ls.lsid IN ($ls_str)
foreach $row (@$res)
{
push(@$arr,$row->[0]) if (!grep(/^$row->[0]$/,@$arr));
}
my $sum=@$arr;
return $sum;
Нашел тут в одном проекте. Теперь хочу поделиться с вами великолепным способом получения числа уникальных значений из таблицы.
В этот способ научит вас использовать всю мощь перла.
+162
class recordset {
/*используется для оптимизации работы с MySQL*/
var $res;
function recordset($sql,$link="") {
if ($link!="")
{
$this->res=mysql_query($sql,$link);
if (!$this->res)
{
echo $sql;
echo mysql_error($link);
}
}
else
{
$this->res=mysql_query($sql);
if (!$this->res)
{
echo $sql;
echo mysql_error();
}
}
}
function gr() {
$row=mysql_fetch_row($this->res);
if ($row) {for ($i=0;$i<count($row);$i++) $row[$i]=convert_cyr_string($row[$i],"k","w");}
return $row; }
function ga() {
$row=mysql_fetch_array($this->res);
if ($row) {foreach($row as $key=>$val) $row[$key]=convert_cyr_string($val,"k","w");}
return $row; }
function nr() {
$num=mysql_num_rows($this->res);
return $num; }}
еще один перл того же автора, что и в 2х предыдущих опубликованных мной говнокодах.
На этот раз старорежимный ООП - великолепный класс.
+166
function toup($str) {
#перевод в верхний регистр (просто strtoupper не всегда корректно работает с русскими буквами)
$str=strtoupper($str);
$str=str_replace("а","А",$str);$str=str_replace("б","Б",$str);$str=str_replace("в","В",$str);
$str=str_replace("г","Г",$str);$str=str_replace("д","Д",$str);$str=str_replace("е","Е",$str);
$str=str_replace("ж","Ж",$str);$str=str_replace("з","З",$str);$str=str_replace("и","И",$str);$str=str_replace("й","Й",$str);
$str=str_replace("к","К",$str);$str=str_replace("л","Л",$str);$str=str_replace("м","М",$str);
$str=str_replace("н","Н",$str);$str=str_replace("о","О",$str);$str=str_replace("п","П",$str);
$str=str_replace("р","Р",$str);$str=str_replace("с","С",$str);$str=str_replace("т","Т",$str);
$str=str_replace("у","У",$str);$str=str_replace("ф","Ф",$str);$str=str_replace("х","Х",$str);
$str=str_replace("ц","Ц",$str);$str=str_replace("ч","Ч",$str);$str=str_replace("ш","Ш",$str);
$str=str_replace("щ","Щ",$str);$str=str_replace("ъ","Ъ",$str);$str=str_replace("ы","Ы",$str);
$str=str_replace("ь","Ь",$str);$str=str_replace("э","Э",$str);$str=str_replace("ю","Ю",$str);
$str=str_replace("я","Я",$str);
return $str;}
function tolower($str) {
#перевод в нижний регистр (просто strtolower не всегда корректно работает с русскими буквами)
$str=strtolower($str);
$str=str_replace("А","а",$str);$str=str_replace("Б","б",$str);$str=str_replace("В","в",$str);
$str=str_replace("Г","г",$str);$str=str_replace("Д","д",$str);$str=str_replace("Е","е",$str);
$str=str_replace("Ж","ж",$str);$str=str_replace("З","з",$str);$str=str_replace("И","и",$str);$str=str_replace("Й","й",$str);
$str=str_replace("К","к",$str);$str=str_replace("Л","л",$str);$str=str_replace("М","м",$str);
$str=str_replace("Н","н",$str);$str=str_replace("О","о",$str);$str=str_replace("П","п",$str);
$str=str_replace("Р","р",$str);$str=str_replace("С","с",$str);$str=str_replace("Т","т",$str);
$str=str_replace("У","у",$str);$str=str_replace("Ф","ф",$str);$str=str_replace("Х","х",$str);
$str=str_replace("Ц","ц",$str);$str=str_replace("Ч","ч",$str);$str=str_replace("Ш","ш",$str);
$str=str_replace("Щ","щ",$str);$str=str_replace("Ъ","ъ",$str);$str=str_replace("Ы","ы",$str);
$str=str_replace("Ь","ь",$str);$str=str_replace("Э","э",$str);$str=str_replace("Ю","ю",$str);
$str=str_replace("Я","я",$str);
return $str;}
Еще 2 шикарные функции, того же автора, что и в предыдущем моем посте.
про setlocale никто и не слыхивал.
+164
if (strlen($str)>1 && substr($str,strlen($str)-2,1)=="1") {
switch(substr($str,strlen($str)-1,1)) {
case "0": $newstr="десять рублей";break;
case "1": $newstr="одиннадцать рублей";break;
case "2": $newstr="двенадцать рублей";break;
case "3": $newstr="тринадцать рублей";break;
case "4": $newstr="четырнадцать рублей";break;
case "5": $newstr="пятнадцать рублей";break;
case "6": $newstr="шестнадцать рублей";break;
case "7": $newstr="семьнадцать рублей";break;
case "8": $newstr="восемьнадцать рублей";break;
case "9": $newstr="девятьнадцать рублей";break;}}
else {
switch(substr($str,strlen($str)-1,1)) {
case "0": $newstr="рублей";break;
case "1": $newstr="один рубль";break;
case "2": $newstr="два рубля";break;
case "3": $newstr="три рубля";break;
case "4": $newstr="четыре рубля";break;
case "5": $newstr="пять рублей";break;
.......................................
case "7": $newstr="семь миллионов ".$newstr;break;
case "8": $newstr="восемь миллионов ".$newstr;break;
case "9": $newstr="девять миллионов ".$newstr;break;}
if (strlen($str)>7) {
switch(substr($str,strlen($str)-8,1)) {
case "2": $newstr="двадцать ".$newstr;break;
case "3": $newstr="тридцать ".$newstr;break;
case "4": $newstr="сорок ".$newstr;break;
case "5": $newstr="пятьдесят ".$newstr;break;
case "6": $newstr="шестьдесят ".$newstr;break;
case "7": $newstr="семьдесят ".$newstr;break;
case "8": $newstr="восемьдесят ".$newstr;break;
case "9": $newstr="девяносто ".$newstr;break;}}}}
if (strlen($str)>8) {
switch(substr($str,strlen($str)-9,1)) {
case "0": $newstr="сто ".$newstr;break;
case "1": $newstr="сто ".$newstr;break;
case "2": $newstr="двести ".$newstr;break;
case "3": $newstr="триста ".$newstr;break;
case "4": $newstr="четыреста ".$newstr;break;
case "5": $newstr="пятьсот ".$newstr;break;
case "6": $newstr="шестьсот ".$newstr;break;
case "7": $newstr="семьсот ".$newstr;break;
case "8": $newstr="восемьсот ".$newstr;break;
case "9": $newstr="девятьсот ".$newstr;break;}}
Вот так делают "сумму прописью".
Радует и форматирование, и порядок порядков чисел в if .. elseif .. else
+164
<?
class с_self_add_form
{
var $main="<P>
<form name=\"add_form\" ENCTYPE=\"multipart/form-data\" method=post
....HTML...
</table></form></P>";
}
class u_self_add_form
{
var $main="<P class=ttext>
<form name=\"add_form\" ENCTYPE=\"multipart/form-data\" method=post
....Другой HTML...
</table></form></P>";
}
class d_self_add_form
{
var $main="<P class=zag>
<form name=\"add_form\" ENCTYPE=\"multipart/form-data\" method=post
....Третий HTML...
</table></form></P>";
}
/* и так далее, и тому подобное */
самый шикарный формат файла с шаблонами, который я видел.