Autor Zpráva
peen
Profil *
ahoj, mám problém že číslo mi ukladá ako string..

v html mam input vstup kde sa zadávajú čísla, ktoré ukladá do polí..
napr. : array(4) { [0]=> string(3) "10" [1]=> string(3) "20" [2]=> string(1) "30" [3]=> string(1) "40" }

to by bolo ok, len neskor chcem s tymito hodnotami pracovať ako s integerom a chcem využívať napríklad:
$hodnotavpoli[3] + 5;
výsledok by mal byť: 45..

môj problém je, že neviem ako urobiť aby čísla načítavalo priamo do integeru a nie do stringu
alebo druhá možnosť môžu vstupovať ako string, len potom ked ich chcem upravovať tak ich zmením na integer

je nato nejaká funkcia?
DJ Miky
Profil
Pro převedení na číslo slouží funkce intval(), hromadně můžeš celé pole převést např. takto:
$pole = array_map('intval', $pole);

Nicméně při použití $pole[1] + 5 se hodnota převede na číslo automaticky.
peen
Profil *
DJ Miky
veľká vďaka

Nicméně při použití $pole[1] + 5 se hodnota převede na číslo automaticky.
ako to myslíš? keď som to tak skúšal vždy mi zostala hodnota v poli nezmenená..
puzzle
Profil
Musel jsi tam mít nějakou jinou chybu, protože jak říká DJ Miky, automaticky se to převede na číslo. PHP dělá vždy automatické přetypování.
Alphard
Profil
[#3][#4]
Vy jste se nepochopili, výsledek bude správný, ale původní proměnnou to nezmění.
Fungovalo by $p = $p*1;, ale to zmiňuji jen teoreticky, je to ošklivé. Máme funkci intval().

Důvod, proč to tak je, je prostý, v html formuláři není ničím určen typ proměnné, PHP to nemůže vědět.
abc
Profil
peen:
Vážně jsi zkoušel takhle?
$hodnotavpoli[3] = $hodnotavpoli[3] + 5;
nebo
$hodnotavpoli[3] += 5;

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:

0