Jak mám zjistit pozici řetězce $findme v řetězci $mystring, když jsou to čísla? Vždycky mi to vrací prázdno (tj. ani nulu, prostě nic, prázdnou proměnnou). Zkoušel jsem proměnnou převést na integer, ale úplně se to pomršilo, místo 21296172141 se objevilo 2147483647 apod.
(čísla se převedením na typ integer změnila). Co s tím? Dík
IMHO integer je omezené číslo .. kdysi když mě bratr učil packala, tak říkal že je to jenom do +-32000.. ale to už sou 4 roky, tak nevim
2 147 483 647 je maximalni hodnota INTEGERu v php (alespon na Win32). Neprevadej to na INTEGER, ale na STRING.
viz dokumentace, preved to na float....
kdyz to prevede na float, nemuze pouzit strpos(), protoze to vyzaduje jako parametry dva stringy (u z nazvu je to patrne). Nevim, proc do toho vsichni motate cisla, pak se divte, ze to nefacha...
a co to explicitne prevest na string? a koukám, že je to zbytečné.
Použil jsi správně strpos()?
$kde = strpos($kde_hledam, $co_hledam);
me toto funguje bez problemu:
$c = 21296172141;
$p = strpos($c, '9');
echo "$c -> $p<br/>\n";
vytiskne "21296172141 -> 3"
akorat pozor, pokud to cislo bude vetsi, tak se prevede do xxxxEyy, a string z toho bude jiny, nez vlozene cislo.
treba:
$c = 111111111111119;
$p = strpos($c, '9');
echo "$c -> $p<br/>\n";
vytiskne: 1.11111111111E+014 ->
ale zase ti to na pozici 13 najde 'E' :-)
do $c musis ukladat string a ne integer nebo real a nebudes mit problemy.
samozrejme, strpos je funkce pouze na stringy ... takze pouzij ="cislo" nebo prevod na string, jinak ti samozrejme strpos zhati plany