|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Nový typ
(vpravo)-> Původní typ (dole) |
String |
Integer |
Float |
Boolean |
| String |
-- |
Začíná-li číslem toto číslo, jinak nula. Když neobsahuje '.', 'e', nebo 'E' | Začíná-li číslem toto číslo, jinak nula. Když obsahuje '.', 'e', nebo 'E' | "" a "0"=false,
ostatní True |
| Integer |
Převede na řetězec |
-- |
Není problém |
0=False, ostatní True |
| Float |
Převede na řetězec |
První integer směrem
k nule |
-- |
0.0=False, ostatní
True |
| Boolean |
false="" true="1" |
false=0 true=1 |
false=0.0 true=1.0 |
-- |
Z tabulky je vidět, že to většinou je intuitivní.
Někdy může být užitečné změnit typ proměnné jen na chvilku a pak ji zase používat starým způsobem. Toho dosáhneme tak, že před název proměnné napíšeme do závorky, jaký typ by v okamžiku vyhodnocení měla mít. Když si vypůjčíme část kódu z prvního příkladu a trochu to rozšíříme, bude:
<?
$muj_float=3.5;
echo "Typ proměnné muj_float byl
<B>".gettype($muj_float)."</B>";
echo " a hodnota byla <B>".$muj_float."</B>.<BR>\n";
echo "Na řetězec ->".(string)$muj_float."<BR>\n";
echo "Na celé číslo ->".(int)$muj_float."<BR>\n";
echo "Na boolean ->".(boolean)$muj_float."<BR>\n";
echo "Po všech těch změnách je ale typ
proměnné stále <B>".gettype($muj_float)."</B> a hodnota <B>".$muj_float."</B>.<BR>\n";
?>
Kromě funkce gettype, která vrátí řetězec obsahující název typu
proměnné existuje ještě sada funkcí, které vrací TRUE v případě, že
proměnná je odpovídajícího typu. Existují tedy funkce is_bool,
is_integer,
is_string
a is_float.
Znám programy, které používají celkem zbytečně přetypování takových proměnných, které již daný typ mají. To může program poměrně dost zpomalit. Na druhou stranu by se mělo vzít v úvahu to, že PHP přetypovává poměrně ochotně - a to někdy vadí. Čili, cílem je najít kompromis.
|
|
||
|
DISCUSSION
For this item is no comments. |
||
|
Add comment is possible for logged registered users.
|
||
| 1. |
Pacman linux Download: 5536x |
| 2. |
FreeBSD Download: 9750x |
| 3. |
PCLinuxOS-2010 Download: 9239x |
| 4. |
alcolix Download: 11716x |
| 5. |
Onebase Linux Download: 10402x |
| 6. |
Novell Linux Desktop Download: 0x |
| 7. |
KateOS Download: 6909x |
| 1. |
xinetd Download: 3036x |
| 2. |
RDGS Download: 937x |
| 3. |
spkg Download: 5939x |
| 4. |
LinPacker Download: 11133x |
| 5. |
VFU File Manager Download: 3750x |
| 6. |
LeftHand Mała Księgowość Download: 7987x |
| 7. |
MISU pyFotoResize Download: 3461x |
| 8. |
Lefthand CRM Download: 4247x |
| 9. |
MetadataExtractor Download: 0x |
| 10. |
RCP100 Download: 3762x |
| 11. |
Predaj softveru Download: 0x |
| 12. |
MSH Free Autoresponder Download: 0x |
linuxsoft.cz
| Design: www.megadesign.cz