[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