Noderīgas funkcijas Dalamies ar savām funkcijām
#31
Posted 2010.01.22 13:37
http://twitter.com/waplet
#32
Posted 2010.01.27 17:13
padod 1 atgriež "Janvāris"
padod "Janvāris" atgriež 1
function getMonth($month){
$months[1] = "Janvāris";
$months[2] = "Februāris";
$months[3] = "Marts";
$months[4] = "Aprīlis";
$months[5] = "Maijs";
$months[6] = "Jūnijs";
$months[7] = "Jūlijs";
$months[8] = "Augusts";
$months[9] = "Septembris";
$months[10] = "Oktobris";
$months[11] = "Novembris";
$months[12] = "Decembris";
if(is_numeric($month)){
$month = (int)$month;
if(array_key_exists($month,$months)){
return $months[$month];
}else{
return false;
}
}else{
foreach($months as $key=>$item){
$month = mb_strtolower(trim($month), "utf-8");
$item = mb_strtolower($item, "utf-8");
if($item == $month){
return $key;
}
}
}
return false;
}
#33
Posted 2010.01.27 17:33
#34
Posted 2010.01.27 18:08
2easy, on 2010.01.27 17:33, said:
Īpašā optimizācija priekš 2easy ;)
<?
function getMonth($month){
$months = Array("janvāris", "februāris", "marts", "aprīlis", "maijs", "jūnijs", "jūlijs", "augusts", "septembris", "oktobris", "novembris", "decembris");
return isset($months[(int)$month-1]) ? ucfirst($months[(int)$month-1]) : ($m = array_search(mb_strtolower($month,"utf-8"), $months) !== false ? $m + 1 : false);
}
?>Diemžēl, te no kiss paliek pāri tikai kis :D
EDIT: atjaunoju kopu :p
This post has been edited by briedis: 2010.01.27 19:16
#35
Posted 2010.01.27 19:07
function getMonth($v) { // izdod mēnesi (abos virzienos): mēneša numurs -> mēneša nosaukums, mēneša nosaukums -> mēneša numurs
$a = array('Janvāris', 'Februāris', 'Marts', 'Aprīlis', 'Maijs', 'Jūnijs', 'Jūlijs', 'Augusts', 'Septembris', 'Oktobris', 'Novembris', 'Decembris');
if (is_numeric($v)) return isset($a[$v - 1]) ? $a[$v - 1] : null;
else {
$a = array_flip($a);
$v = ucfirst(mb_strtolower(trim($v)));
return isset($a[$v]) ? $a[$v] + 1 : null;
}
}
// test
mb_internal_encoding('utf-8');
echo '<pre>' .
getMonth(7) . "\n" . // Jūlijs
getMonth(100) . "\n" . // null
getMonth('Jūlijs') . "\n" . // 7
getMonth('jūlijs') . "\n" . // 7
getMonth('JŪLIJS') . "\n" . // 7
getMonth(' jūlijs ') . "\n" . // 7
getMonth('asdf') . "\n" . // null
'</pre>';
#36
Posted 2010.01.27 19:14
EDIT: Nu re, tagad mans kods vēl "optimālāks" :D
This post has been edited by briedis: 2010.01.27 19:18
#37
Posted 2010.01.27 19:22
Java, on 2010.01.27 18:10, said:
autoru komentāru galvgalī raksta tamdēļ, lai zinātu, kurš ir jāsit, kad kkas "nejies" :D:D:D
izdzīvošanas taktika PSRS laikā:
1) ja tu domā, tad neraksti
2) ja tu domā un raksti, tad neparaksties
3) ja tu domā, raksti un paraksties, tad nebrīnies
#38
Posted 2010.01.27 19:32
Ja menis izmantotu f-ju 'norej', tad tas tikai nosit velimi kautko sheit ieposteet..
Jo daudziem ir f-jas kas rakstiitas stipri pasen ( reti kura buus PHP3 bet daudzas buus PHP 4) , bet idejiski joprojam aktualas...
Taa kaa, labak nevajadzetu kritizeet & spriest ka 'nav idialogiski pareizi' etc..
Galvenais tomer ir doma, kaa un ko atrak izveidot. ==> skatiit Topika nosaukumu ;)
#39
Posted 2010.01.27 19:39
function getMonth($m){
$z = Array("","janvāris", "februāris", "marts", "aprīlis", "maijs", "jūnijs", "jūlijs", "augusts", "septembris", "oktobris", "novembris", "decembris");
return ($m>=1 and $m<13)?$z[(int)$m]:array_search(mb_strtolower(trim($m),"utf-8"),$z);
}
echo ($s=getMonth('ABC'))?'Y:'.$s:'N'; //N
echo '<br />';
echo ($s=getMonth('1'))?'Y:'.$s:'N'; //Y:janvāris
echo '<br />';
echo ($s=getMonth(3))?'Y:'.$s:'N'; //Y:marts
echo '<br />';
echo ($s=getMonth('jŪnijs'))?'Y:'.$s:'N'; //Y:6
echo '<br />';
echo ($s=getMonth(' jūnijs'))?'Y:'.$s:'N'; //Y:6
echo '<br />';
echo ($s=getMonth('13'))?'Y:'.$s:'N'; //N
echo '<br />';
echo ($s=getMonth(12.5))?'Y:'.$s:'N'; //Y:decembris
echo '<br />';
echo ($s=getMonth('13.5'))?'Y:'.$s:'N'; //N
echo '<br />';
Strādā arī ar daļskaitļiem
Kurš var īsāk?
This post has been edited by codez: 2010.01.27 19:48
#40
Posted 2010.01.27 19:58
EDIT:
es gan pa vidu rakstītu mazliet vairāk whitespace, lai būtu vieglāk lasīt (Java droši vien arī priecāsies par to :D). bet tā jau tiešām tavs variants rulez. gan tā pirmā pārbaude, gan array_search() ftw
function getMonth($v) { // izdod mēnesi (abos virzienos): mēneša numurs -> mēneša nosaukums, mēneša nosaukums -> mēneša numurs
$a = array('', 'Janvāris', 'Februāris', 'Marts', 'Aprīlis', 'Maijs', 'Jūnijs', 'Jūlijs', 'Augusts', 'Septembris', 'Oktobris', 'Novembris', 'Decembris');
return $v >= 1 && $v <= 12 ? $a[$v] : array_search(ucfirst(mb_strtolower(trim($v))), $a);
}
This post has been edited by 2easy: 2010.01.27 20:04
#41
Posted 2010.01.27 20:38
Grey_Wolf, on 2010.01.27 19:32, said:
tas nu gan ir baigi atkarīgs no cilvēka. es tieši otrādi vsp neko nepostotu kkādā dead forumā, kur būtu 0 reakcija. jo vairāk kritikas, jo labāk. tā var kko jaunu iemācīties. vismaz man tas liekas labāk nekā dzīvot kkādā pašpārliecinātības burbulī. tā jau visam ir dafiga visādi standarta risinājumi. optimizēšana ir viens no virzieniem, kur vēl saglabājas challenge ;)
#42
Posted 2010.01.28 11:07
#43
Posted 2010.01.28 15:49
setlocale(LC_TIME, "Latvian_Latvia.1257"); // Win
setlocale(LC_TIME, "LV_lv"); // Linux
function getMonth($month)
{
return strftime("%B", mktime(0, 0, 0, $month, 1, 1970));
}
;)
#44
Posted 2010.01.28 18:13
$g = array(); $g = $_GET; $p = array(); $p = $_POST;
#45
Posted 2010.01.28 18:46
//Dabūjam lietotāju skaitu kas ir online
function getOnlineUserCount(){
$ip = ip2long($_SERVER['REMOTE_ADDR']);
$now = time();
$delta = $now - 300; //5 minūtes
mysql_query("DELETE FROM lietotaji_online WHERE last_seen < $delta OR ip = $ip");
mysql_query("INSERT INTO lietotaji_online(ip,last_seen) VALUES($ip,'$now')");
$data = mysql_fetch_assoc(mysql_query("SELECT COUNT(*) FROM lietotaji_online"));
return (int)$data['COUNT(*)'];
}Tabula, kur glabājas
CREATE TABLE lietotaji_online ( ip bigint NOT NULL, last_seen int(11) NOT NULL, PRIMARY KEY (ip), INDEX (last_seen) )ENGINE = MEMORY;
EDIT1: pievienots ENGINE = MEMORY
EDIT2: pievienots indekss last_seen (jā, par šito biju štukojis, bet nepieliku)
EDIT3: pielaboju kvērijus (noņēmu nevajadzīgās pēdiņas)
This post has been edited by briedis: 2010.02.09 14:43

Help











