Autor Zpráva
ghulas
Profil
Dobrý den, mám textový řetězec, potřebuji ho rozkrájet na jednotlivé znaky ty každý zvlášť porovnat, VČETNĚ MEZER. Zatím mám takovýto kód:

$delka=strlen ($text_puvodni);
for($i=0; $i<$delka; ++$i){
$znak= //zde potřebuji doplnit funkci, $znak = $i. znak v $text_puvodni
...
}


Pokud znáte adekvátní funkci, nebo tam mám něco co nesouhlasí s požadavkem "včetně mezer" tak mi prosím odpovězte. Děkuji
Taps
Profil
ghulas
zkus něco takového
$delka=strlen ($text_puvodni);
for($i=0; $i<$delka; ++$i){
if (strpos($textpuvodni, $i)!== false) {
echo "znak".$i."byl nalezen";
}
}
Alphard
Profil
ghulas
také máme reguláry, radší napište, čeho chcete dosáhnout
ghulas
Profil
Aha... asi jsem se špatně vyjádřil... já potřebuji vědět, co je to za znak, jestli to je . nebo a nebo 8, abych to mohl porovnat.
Alphard
Profil
k řetězci lze přistupovat jako k poli
$str[3] ... 4. znak

jestli to je . nebo a nebo 8, abych to mohl porovnat.
jak jsem psal, jde-li o porovnání, jestli text obsahuje určité znaky, lze použít regulár [\.8]
ghulas
Profil
Děkuji, funguje, ale nevíte jak zabránit, aby se mit to číslo zobrazovalo:
1.0307819602689E+17 ,
ale normálně:
10307...
? Děkuji.
nightfish
Profil
ghulas
ad 1) $text_puvodni[$i] uvnitř cyklu
ad 2) printf, sprintf
bohyn
Profil
ghulas
Problem je v tom ze cislo je moc velke a proto se prevede na float a vypisuje se tak jak se vypisuje. Na citelnou formu se da prevest pomoci
printf("%d", $cislo);
// nebo
$string = sprintf("%d", $cislo);
ale s presnosti se rozluc.
ghulas
Profil
já ho ale potřebuju přesně.... jinak je mi k ničemu.
ghulas
Profil
příkaz je:
for($i=0; $i<$delka; ++$i){
...
$pocet=150;
$cislo=($cislo+$znak)*$pocet;
}

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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