[PHP] type and converting
1. PHP ÀÚ·áÇü
ÀÚ·áÇü È®ÀÎ : gettype($foo)
1.1 ±âº» ÀÚ·áÇü 8°³
1) scalar Çü(½ºÄ®¶ó) :
- boolean
- integer
- float (double)
- string
2) compound ÁýÇÕÇü :
- array
- object
3) ±âŸ :
- resource
- NULL
1.2 pseudo Çü(°¡Â¥?)
- mixed
- number
- callback
2. Çò°¥¸®´Â NULL, FALSE, TRUE
2-1 NULL
¸» ±×´ë·Î 'type ÀÌ ¾ø´Â', °ªÀÌ ÇÒ´çµÇ¾î ÀÖÁö ¾Ê´Â °æ¿ì¸¦ ¸»Çϸç,
boolean ´Â FALSE ÀÓ.
(Âü°í·Î, °ªÀÌ ¼³Á¤µÇ¾î Àִµ¥ ±× °ªÀÌ ¾ø´Ù¸é(ºñ¾îÀÖ´Ù¸é) ÀÌ°ÍÀº FALSE ÀÓ)
PHP¿¡¼ NULLÀÇ °æ¿ì(ÇÒ´çÀÌ µÇ¾î ÀÖÁö ¾Ê´Â °æ¿ì)´Â ´ÙÀ½°ú °°À½.
- »ó¼ö NULL ·Î ÇÒ´çÇÏ´Â °æ¿ì
$x = NULL;
or
define('FOO',NULL);
- ¾ÆÁ÷ ¾î¶°ÇÑ °ªµµ ¼³Á¤µÇ¾î ÀÖ´Â ¾Ê´Â °æ¿ì
echo gettype($foo); // NULL, $foo not set
- unset()ÀÌ »ç¿ëµÇ´Â °æ¿ì
unset($foo);
echo gettype($foo); // NULL
2.2 FALSE
- (boolean) FALSE // FLASE, false ÀÚü
- (integer) 0 // zero
- (float) 0.0 // zero
- (string) "" // ºñ¾î ÀÖ´Â °ª(NULLÀÌ ¾Æ´Ô)
- (string) "0" // string "0"
- (array) array() // ¹è¿¿ø¼Ò°¡ ¾ø´Â ¹è¿, array(array()) Àº TRUE ÀÓ
- (object) // ¸É¹ö º¯¼ö°¡ Çϳªµµ ¾ø´Â °æ¿ì
- (NULL) NULL // NULL Àº FALSE ÀÓ
2.3 TRUE
¾ÕÀÇ FALSE °¡ ¾Æ´Ñ ¸ðµç °æ¿ì(¸ðµç resource Æ÷ÇÔ)
3. type conversion(available)
+-----------------------+-------+-------+-----+-------+--------------+--------+
|type |value |boolean|integer|float|string |array |object |
+--------+--------------+-------+-------+-----+-------+--------------+--------+
|boolean |FALSE |FALSE |0 | | | | |
| |TRUE |TRUE |1 | | | | |
+--------+--------------+-------+-------+-----+-------+--------------+--------+
|integer |0 |FALSE |0 |0.0 |"0" | | |
| |1 |TRUE |1 |1.0 |"1" | | |
| |-1 |TRUE |-1 |-1.0 |"-1" | | |
+--------+--------------+-------+-------+-----+-------+--------------+--------+
|float |0.0 |FALSE |0 |0.0 |"0.0" | | |
| |1.0 |TRUE |1 |1.0 |"1.0" | | |
+--------+--------------+-------+-------+-----+-------+--------------+--------+
|string |"" |FALSE | | |"" | | |
| |"0" |FALSE |0 |0.0 |"0" | | |
| |"1" |TRUE |1 |1.0 |"1" | | |
| |"-1" |TRUE |-1 |-1.0 |"-1" | | |
| |"TRUE" |TRUE | | |"TRUE" | | |
| |"FALSE" |TRUE | | |"FALSE"| | |
| |"foo" |TRUE | | |"foo" | | |
+--------+--------------+-------+-------+-----+-------+--------------+--------+
|array |array() |FALSE | | | |array() | |
| |array(0) |TRUE | | | |array(0) | |
| |array(NULL) |TRUE | | | |array(NULL) | |
| |array(array())|TRUE | | | |array(array())| |
+--------+--------------+-------+-------+-----+-------+--------------+--------+
|object |vars count = 0|FALSE | | | | |omission|
| |vars count > 0|TRUE | | | | |omission|
+--------+--------------+-------+-------+-----+-------+--------------+--------+
|resource|any |TRUE | | | | | |
+--------+--------------+-------+-------+-----+-------+--------------+--------+
|NULL |NULL |FALSE | | |"" *mk)| | |
| |(not set) |FALSE | | |"" *mk)| | |
| |unset($foo) |FALSE | | |"" *mk)| | |
+--------+--------------+-------+-------+-----+-------+--------------+--------+
*mk)
http://www.php.net/manual/en/language.types.string.php
*ÁÖ)
(boolean)('any string' == 0) // return TRUE
(boolean)('any string' == "0") // return FALSE
EOF