﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>PHP博客-My Labs! PHP-随笔分类-语言参考 / 类型 </title><link>http://www.phpweblog.net/Laeb/category/218.html</link><description>Work is Worth Doing of Worth Doing Well.</description><language>zh-cn</language><lastBuildDate>Thu, 03 May 2007 03:45:56 GMT</lastBuildDate><pubDate>Thu, 03 May 2007 03:45:56 GMT</pubDate><ttl>60</ttl><item><title>布尔值</title><link>http://www.phpweblog.net/Laeb/archive/2007/05/02/1174.html</link><dc:creator>Laeb</dc:creator><author>Laeb</author><pubDate>Wed, 02 May 2007 12:54:00 GMT</pubDate><guid>http://www.phpweblog.net/Laeb/archive/2007/05/02/1174.html</guid><wfw:comment>http://www.phpweblog.net/Laeb/comments/1174.html</wfw:comment><comments>http://www.phpweblog.net/Laeb/archive/2007/05/02/1174.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/Laeb/comments/commentRss/1174.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/Laeb/services/trackbacks/1174.html</trackback:ping><description><![CDATA[
		<p>这是最简单的类型。布尔值表示的是一个真值。它既可以是 TRUE 也可以是 FALSE。</p>
		<p>提示：布尔值类型在 PHP 4 中才被引入。</p>
		<h4>语法</h4>
		<p>如果要从字面上指定一个布尔值，可以使用关键字 TRUE 或者 FALSE。这两个值对于字母大小写不敏感。</p>
		<pre>&lt;?php
$foo = True; // 把 TRUE 值赋给变量 $foo
?&gt;</pre>
		<p>通常你会使用一些类型和操作符来返回一个布尔值，然后把它传递给控制结构。</p>
		<pre>&lt;?php
// == 是一个测试等式并且返回布尔值的操作符
if ($action == "show_version") {
    echo "The version is 1.23";
}

// 这不是必需的...
if ($show_separators == TRUE) {
    echo "&lt;hr&gt;\n";
}

// ... 因为你完全可以这样编写
if ($show_separators) {
    echo "&lt;hr&gt;\n";
}
?&gt;</pre>
		<h4>转换成布尔值</h4>
		<p>如果要明确地把一个值转换成布尔值，就可以使用 (bool) 或者 (boolean) 转换。但是，在多数情况下你不需要使用这个转换，因为布尔值会自动进行转换，如果某个操作符，功能或者控制结构需要一个布尔值参数的话。</p>
		<p>参考［类型戏法］。</p>
		<p>在转换到布尔值的时候，下列值就会被考虑成 FALSE：</p>
		<ul>
				<li>布尔值 FALSE 自身</li>
				<li>整数 0（零）</li>
				<li>浮点数 0.0（零）</li>
				<li>空字符串，以及字符串［0］</li>
				<li>包含零个元素的数组</li>
				<li>零个成员变量的对象（只在 PHP 4 中有效）</li>
				<li>特殊类型 NULL（包括未设置的变量）</li>
				<li>从空标记那里创建的 SimpleXML 对象</li>
		</ul>
		<p>每种其他值都会被考虑成 TRUE（包括任何资源）。</p>
		<p>注意：-1 会被考虑成 TRUE，与任何其他非零（不论负数还是正数）数一样！</p>
		<pre>&lt;?php
var_dump((bool) "");        // bool(false)
var_dump((bool) 1);         // bool(true)
var_dump((bool) -2);        // bool(true)
var_dump((bool) "foo");     // bool(true)
var_dump((bool) 2.3e5);     // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array());   // bool(false)
var_dump((bool) "false");   // bool(true)
?&gt;</pre>
<img src ="http://www.phpweblog.net/Laeb/aggbug/1174.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/Laeb/" target="_blank">Laeb</a> 2007-05-02 20:54 <a href="http://www.phpweblog.net/Laeb/archive/2007/05/02/1174.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>介绍</title><link>http://www.phpweblog.net/Laeb/archive/2007/04/06/1074.html</link><dc:creator>Laeb</dc:creator><author>Laeb</author><pubDate>Fri, 06 Apr 2007 09:55:00 GMT</pubDate><guid>http://www.phpweblog.net/Laeb/archive/2007/04/06/1074.html</guid><wfw:comment>http://www.phpweblog.net/Laeb/comments/1074.html</wfw:comment><comments>http://www.phpweblog.net/Laeb/archive/2007/04/06/1074.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.phpweblog.net/Laeb/comments/commentRss/1074.html</wfw:commentRss><trackback:ping>http://www.phpweblog.net/Laeb/services/trackbacks/1074.html</trackback:ping><description><![CDATA[
		<p>PHP 支持八种原始类型。</p>
		<p>四种标题类型：</p>
		<ul>
				<li>boolean 
</li>
				<li>integer 
</li>
				<li>float（浮点数，还有［double］） 
</li>
				<li>string </li>
		</ul>
		<p>两种混合类型：</p>
		<ul>
				<li>array 
</li>
				<li>object </li>
		</ul>
		<p>还有最后两种特殊类型：</p>
		<ul>
				<li>resource 
</li>
				<li>NULL </li>
		</ul>
		<p>这个手册同样为易读性原因而引入了一些伪类型：</p>
		<ul>
				<li>mixed 
</li>
				<li>number 
</li>
				<li>callback </li>
		</ul>
		<p>你同样可以找到 double 类型的一些参考。考虑到 double 与 float 是一样的，因此这两种名称的存在只是由于一些历史原因。</p>
		<p>变量的类型通常不是由程序员设置的；而是由 PHP 依赖于变量被使用的环境并且在运行时才被确定。</p>
		<p>提示：如果你想要检验一个特定表达式的类型和值，可以使用 var_dump()。</p>
		<p>提示：如果你想要一个人类可读的简单类型呈现来进行调试，就可以使用 gettype()。如果要检查一种特定的类型，就不要使用 gettype()，而是使用 is_type 函数。如下所示：</p>
		<pre>&lt;?php
$a_bool = TRUE;   // boolean
$a_str  = "foo";  // string
$a_str2 = 'foo';  // string
$an_int = 12;     // integer

echo gettype($a_bool); // 打印出：boolean
echo gettype($a_str);  // 打印出：string

// 如果这是一个 integer，就把它加四
if (is_int($an_int)) {
    $an_int += 4;
}

// 如果 $bool 是一个 string，就打印它
// （不会打印出任何内容）
if (is_string($a_bool)) {
    echo "String: $a_bool";
}
?&gt;</pre>
		<p>如果你喜欢强制把一个变量转换成另一种特定类型，那么你既可以使用变量转换也可以使用 settype() 函数。</p>
		<p>注意到变量可能在特定的情况下由于不同的值而被评估，并且依赖于它此时的类型。关于更多信息，参考［类型戏法］部分。同样，你可能对查看类型比较列表比较感兴趣，因为它们提供范例来比较若干相关的类型。</p>
<img src ="http://www.phpweblog.net/Laeb/aggbug/1074.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.phpweblog.net/Laeb/" target="_blank">Laeb</a> 2007-04-06 17:55 <a href="http://www.phpweblog.net/Laeb/archive/2007/04/06/1074.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>