Autor | Zpráva | ||
---|---|---|---|
shiny Profil * |
#1 · Zasláno: 13. 8. 2009, 20:58:03
Ahojte, je mozne zrychlit a zjednodusit nizsie uvedenu funkciu ? Tato funkcia je plne funkcna, len sa pytam, ci vidite miesto na jej zrychlenie a sprehladnenie.
$vstup: lubovolny retazec $znak: znak, ktory sa ma doplnit pred, alebo za $vstup $umiestnenie: 1-doplname pred $vstup, 2-doplname za $vstup $dlzka: dlzka celeho retazca. Ak dlzka $vstup je uz vacsia ako $dlzka, tak sa nedoplni nic priklad: addChars("214", "0", 1, 8); vygeneruje: 00000214 function addChars($vstup, $znak, $umiestnenie, $dlzka) { if(strlen($vstup) >= $dlzka) // ak vstupny retazec je dlhsi ako pozadovana dlzka tak nerobime nic { return $vstup; } else { $pz = $dlzka-strlen($vstup); // pocet znakov, ktory budeme doplnat $doplnok = ""; for($i=0; $i<$pz; $i++) { $doplnok .= $znak[0]; } switch($umiestnenie) { case '1': // doplname znaky pred zaklad return ($doplnok.$vstup); break; case '2': // doplname znaky za zaklad return ($vstup.$doplnok); break; } } } |
||
Majkl578 Profil |
#2 · Zasláno: 13. 8. 2009, 21:30:20 · Upravil/a: Majkl578
/** * @param string input string * @param string character to be added * @param int 1 - beginning | 2 - end * @param int final length * */ function addChars($s, $ch, $pos, $len) { return str_pad($s, $len, $ch, $len === 1 ? STR_PAD_RIGHT : STR_PAD_LEFT); } $x = 'foo'; echo addChars($x, '_', 1, 6); //___foo co takhle jednoduse? ;) |
||
shiny Profil * |
#3 · Zasláno: 13. 8. 2009, 21:36:02
Hehe, diky, jednoduchsie to uz asi neide :-)
|
||
Časová prodleva: 15 let
|
0