Autor Zpráva
markymarko
Profil *
zdravim, v mysql mam ulozeno tohle

050100150 //cisla se muzou lisit, ale pocet bude vzdy 9

nactu je do promeny $retezec_mysql
$retezec_mysql = 050100150;

a v php mam tri promene

$prom1
$prom2
$prom3

jak mam docilit toho, aby byl vysledek takovej.. aby prvni prom obsahovala prvni tri cisla, dru prom druhe tri cisla a treti prom treti tri cisla

$prom1 = 050;
$prom1 = 100;
$prom1 = 150;


diky za po pomoc
MzM
Profil
řešení je více, asi nejrychlejší bude:
$prom1 = $zroj[8].$zroj[7].$zroj[6];
$prom1 = $zroj[5].$zroj[4].$zroj[3];
$prom1 = $zroj[2].$zroj[1].$zroj[0];

ale je opravdu třeba zajistit, aby zdrojový řetězec obsahoval 9 znaků.
nightfish
Profil
a nebo třeba
if (strlen($vstup) == 9) {

$prom1 = substr($vstup, 0, 3);
$prom2 = substr($vstup, 3, 3);
$prom3 = substr($vstup, 6, 3);
} else {
echo "Chyba";
}
Peca
Profil
Proč tak složitě? Na co je asi příkaz sscanf?
Mastodont
Profil
Peca
A jak v něm bude vypadat formát?
nightfish
Profil
Mastodont
sscanf($vstup, "%3d%3d%3d", &$prom1, &$prom2, &$prom3);
(btw je to o trošku pomalejší než verze se substr... :-))
Mastodont
Profil
Díky. S tou rychlostí, o Xscanf se říká, že jsou dost pomalé ...
Peca
Profil
Jasně, je to pomalé. PHP samo o sobě je taky pomalé. Určitě parsuje tisíce čísel každou sekundu a pingy jsou pod 1 ms.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: