📄 types.comparisons.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html> <head> <title>PHP type comparison tables</title> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body><div style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="transports.unix.html">Unix Domain: Unix and UDG</a></div> <div class="next" style="text-align: right; float: right;"><a href="tokens.html">List of Parser Tokens</a></div> <div class="up"><a href="appendices.html">Appendices</a></div> <div class="home"><a href="index.html">PHP Manual</a></div></div><hr /><div> <h1>PHP type comparison tables</h1> <p class="para"> The following tables demonstrate behaviors of PHP <a href="language.types.html" class="link">types</a> and <a href="language.operators.comparison.html" class="link">comparison operators</a>, for both loose and strict comparisons. This supplemental is also related to the manual section on <a href="language.types.type-juggling.html" class="link">type juggling</a>. Inspiration was provided by various user comments and by the work over at <a href="http://www.blueshoes.org/en/developer/php_cheat_sheet/" class="link external">» BlueShoes</a>. </p> <p class="para"> Before utilizing these tables, it's important to understand types and their meanings. For example, <i>"42"</i> is a <a href="language.types.string.html" class="type string">string</a> while <i>42</i> is an <a href="language.types.integer.html" class="type integer">integer</a>. <b><tt>FALSE</tt></b> is a <a href="language.types.boolean.html" class="type boolean">boolean</a> while <i>"false"</i> is a <a href="language.types.string.html" class="type string">string</a>. </p> <blockquote><p><b class="note">Note</b>: HTML Forms do not pass integers, floats, or booleans; they pass strings. To find out if a string is numeric, you may use <a href="function.is-numeric.html" class="function">is_numeric()</a>. <br /> </p></blockquote> <blockquote><p><b class="note">Note</b>: Simply doing <i>if ($x)</i> while <var class="varname">$x</var> is undefined will generate an error of level <b><tt>E_NOTICE</tt></b>. Instead, consider using <a href="function.empty.html" class="function">empty()</a> or <a href="function.isset.html" class="function">isset()</a> and/or initialize your variables. <br /> </p></blockquote> <p class="para"> <table border="5"> <caption><b>Comparisons of <var class="varname">$x</var> with PHP functions</b></caption> <colgroup> <thead valign="middle"> <tr valign="middle"> <th colspan="1">Expression</th> <th colspan="1"><a href="function.gettype.html" class="function">gettype()</a></th> <th colspan="1"><a href="function.empty.html" class="function">empty()</a></th> <th colspan="1"><a href="function.is-null.html" class="function">is_null()</a></th> <th colspan="1"><a href="function.isset.html" class="function">isset()</a></th> <th colspan="1"><a href="language.types.boolean.html" class="type boolean">boolean</a> : <i>if($x)</i></th> </tr> </thead> <tbody valign="middle" class="tbody"> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = "";</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.string.html" class="type string">string</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = null;</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.null.html" class="type NULL">NULL</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>var $x;</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.null.html" class="type NULL">NULL</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><var class="varname">$x</var> is undefined</td> <td colspan="1" rowspan="1" align="left"><a href="language.types.null.html" class="type NULL">NULL</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = array();</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.array.html" class="type array">array</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = false;</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.boolean.html" class="type boolean">boolean</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = true;</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.boolean.html" class="type boolean">boolean</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = 1;</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.integer.html" class="type integer">integer</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = 42;</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.integer.html" class="type integer">integer</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = 0;</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.integer.html" class="type integer">integer</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = -1;</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.integer.html" class="type integer">integer</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = "1";</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.string.html" class="type string">string</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = "0";</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.string.html" class="type string">string</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = "-1";</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.string.html" class="type string">string</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = "php";</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.string.html" class="type string">string</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = "true";</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.string.html" class="type string">string</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> </tr> <tr valign="middle"> <td colspan="1" rowspan="1" align="left"><i>$x = "false";</i></td> <td colspan="1" rowspan="1" align="left"><a href="language.types.string.html" class="type string">string</a></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>FALSE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> <td colspan="1" rowspan="1" align="left"><b><tt>TRUE</tt></b></td> </tr> </tbody> </colgroup> </table> </p> <p class="para"> <table border="5"> <caption><b>Loose comparisons with <i>==</i></b></caption>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -