Diskuze: php je ve stringu float?
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 10 zpráv z 10.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
a proč ti RPi posílá takové smíšeniny? Přece když pošleš request s parametrem, tak to máš pěkně roztříděné.
Posila to, protoze takove reseni bylo s takovym mnozstvim dat nejjednodussi. Vsechno se pak uklada do souboru, a na webu je nekolik stranek, ktery si to zpracovavaj podle sebe. Jen ted je ten problem, ze prijdu o typ promenne.
Ahoj, zkus http://php.net/…is-float.php
Jak už sem psal, if_float to nevezme, protože ho nezajímá uložená hodnota, ale typ proměnné, která je v tomto případě string.
Tak to pardon, překouk sem se. Každopádně to co hledáš je funkce is_numeric().
Funkce pak může vypadat takto:
function convertFloat($input) {
if (is_numeric($input)) {
return (float) $input;
}
return $input;
}
nejjednodušší sice ano, ale zároveň asi nejhorší možné. V databázové tabulce by měli být data stejného typu, ne že na jednom řádku je float, na druhém string, ....
kdo tu mluví o databázové tabulce? jedná se o soubor plný hodnot z všemožných čidel a nevím, proč bych to měl dávat do databáze a rozhodně to nechci dělit na číselné a textové hodnoty
Ahoj, jen mě napadlo, nešlo by to udělat takto?
if ((float)$input == $input) // Je to float
Nešlo. Tahle podmínka bude vždycky splněna, protože pokud porovnáváš různé datové typy, tak se to automaticky přetypuje.
Pokud ale by to číslo bylo vždy různé od nuly, šlo by to takhle:
if ((float)$input != 0) // je to číslo
Ale funkce is_numeric() funguje stejně.
Zobrazeno 10 zpráv z 10.