mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-18 05:26:57 +08:00
175 lines
8.5 KiB
HTML
175 lines
8.5 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||
<title>简介</title>
|
||
</head>
|
||
<div id="layout">
|
||
<div id="layout-content"><div id="language.types.intro" class="sect1">
|
||
<h2 class="title">简介</h2>
|
||
|
||
<p class="simpara">
|
||
PHP 支持 9 种原始数据类型。
|
||
</p>
|
||
|
||
<p class="para">
|
||
四种标量类型:
|
||
</p>
|
||
|
||
<ul class="itemizedlist">
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.types.boolean.html" class="type boolean">boolean</a></span>(布尔型)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.types.integer.html" class="type integer">integer</a></span>(整型)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.types.float.html" class="type float">float</a></span>(浮点型,也称作 <span class="type"><a href="language.types.float.html" class="type double">double</a></span>)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.types.string.html" class="type string">string</a></span>(字符串)
|
||
</span>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
<p class="para">
|
||
三种复合类型:
|
||
</p>
|
||
|
||
<ul class="itemizedlist">
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.types.array.html" class="type array">array</a></span>(数组)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.types.object.html" class="type object">object</a></span>(对象)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span>(可调用)
|
||
</span>
|
||
</li>
|
||
</ul>
|
||
|
||
<p class="para">
|
||
最后是两种特殊类型:
|
||
</p>
|
||
|
||
<ul class="itemizedlist">
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.types.resource.html" class="type resource">resource</a></span>(资源)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.types.null.html" class="type NULL">NULL</a></span>(无类型)
|
||
</span>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
<p class="para">
|
||
为了确保代码的易读性,本手册还介绍了一些<a href="language.pseudo-types.html" class="link">伪类型</a>:
|
||
</p>
|
||
|
||
<ul class="itemizedlist">
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span>(混合类型)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.pseudo-types.html#language.types.number" class="type number">number</a></span>(数字类型)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.pseudo-types.html#language.types.callback" class="type callback">callback</a></span>(回调类型,又称为 <span class="type"><a href="language.types.callable.html" class="type callable">callable</a></span>)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><a href="language.pseudo-types.html#language.types.array-object" class="type array|object">array|object</a></span>(数组 | 对象类型)
|
||
</span>
|
||
</li>
|
||
|
||
<li class="listitem">
|
||
<span class="simpara">
|
||
<span class="type"><span class="type void">void</span></span> (无类型)
|
||
</span>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
<p class="para">
|
||
以及伪变量 <code class="parameter">$...</code>。
|
||
</p>
|
||
|
||
<p class="simpara">
|
||
可能还会读到一些关于“双精度(double)”类型的参考。实际上
|
||
double 和 float 是相同的,由于一些历史的原因,这两个名称同时存在。
|
||
</p>
|
||
|
||
<p class="simpara">
|
||
变量的类型通常不是由程序员设定的,确切地说,是由 PHP
|
||
根据该变量使用的上下文在运行时决定的。
|
||
</p>
|
||
|
||
<blockquote class="note"><p><strong class="note">Note</strong>:
|
||
<span class="simpara">
|
||
如果想查看某个<a href="language.expressions.html" class="link">表达式</a>的值和类型,用
|
||
<span class="function"><a href="var_dump.html" class="function">var_dump()</a></span> 函数。
|
||
</span>
|
||
|
||
<p class="para">
|
||
如果只是想得到一个易读懂的类型的表达方式用于调试,用
|
||
<span class="function"><a href="gettype.html" class="function">gettype()</a></span> 函数。要检验某个类型,<em class="emphasis">不要</em>用
|
||
<span class="function"><a href="gettype.html" class="function">gettype()</a></span>,而用 <em>is_<span class="replaceable">type</span></em> 函数。以下是一些范例:
|
||
</p>
|
||
|
||
<div class="informalexample">
|
||
<div class="example-contents">
|
||
<div class="phpcode"><code><span style="color: #000000">
|
||
<span style="color: #0000BB"><?php<br />$a_bool </span><span style="color: #007700">= </span><span style="color: #0000BB">TRUE</span><span style="color: #007700">; </span><span style="color: #FF8000">// 布尔值 boolean<br /></span><span style="color: #0000BB">$a_str </span><span style="color: #007700">= </span><span style="color: #DD0000">"foo"</span><span style="color: #007700">; </span><span style="color: #FF8000">// 字符串 string<br /></span><span style="color: #0000BB">$a_str2 </span><span style="color: #007700">= </span><span style="color: #DD0000">'foo'</span><span style="color: #007700">; </span><span style="color: #FF8000">// 字符串 string<br /></span><span style="color: #0000BB">$an_int </span><span style="color: #007700">= </span><span style="color: #0000BB">12</span><span style="color: #007700">; </span><span style="color: #FF8000">// 整型 integer<br /><br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">gettype</span><span style="color: #007700">(</span><span style="color: #0000BB">$a_bool</span><span style="color: #007700">); </span><span style="color: #FF8000">// 输出: boolean<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">gettype</span><span style="color: #007700">(</span><span style="color: #0000BB">$a_str</span><span style="color: #007700">); </span><span style="color: #FF8000">// 输出: string<br /><br />// 如果是整型,就加上 4<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">is_int</span><span style="color: #007700">(</span><span style="color: #0000BB">$an_int</span><span style="color: #007700">)) {<br /> </span><span style="color: #0000BB">$an_int </span><span style="color: #007700">+= </span><span style="color: #0000BB">4</span><span style="color: #007700">;<br />}<br /><br /></span><span style="color: #FF8000">// 如果 $bool 是字符串,就打印出来<br />// (啥也没打印出来)<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">is_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$a_bool</span><span style="color: #007700">)) {<br /> echo </span><span style="color: #DD0000">"String: </span><span style="color: #0000BB">$a_bool</span><span style="color: #DD0000">"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?></span>
|
||
</span>
|
||
</code></div>
|
||
</div>
|
||
|
||
</div>
|
||
</p></blockquote>
|
||
|
||
<p class="simpara">
|
||
如果要将一个变量强制转换为某类型,可以对其使用<a href="language.types.type-juggling.html#language.types.typecasting" class="link">强制转换</a>或者 <span class="function"><a href="settype.html" class="function">settype()</a></span> 函数。
|
||
</p>
|
||
|
||
<p class="simpara">
|
||
注意变量根据其当时的类型在特定场合下会表现出不同的值。更多信息见<a href="language.types.type-juggling.html" class="link">类型转换的判别</a>。此外,还可以参考
|
||
<a href="types.comparisons.html" class="link">PHP 类型比较表</a>看不同类型相互比较的例子。
|
||
</p>
|
||
</div></div></div></body></html> |