标签:
PHP_Manual参考手册阅读笔记
当解析一个文件时,PHP 会寻找起始和结束标记,也就是 <?php 和 ?>,这告诉 PHP 开始和停止解析二者之间的代码。
如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记
<?php echo "Hello world" ; // ... more code echo "Last statement" ; // 脚本至此结束,并无 PHP 结束标记
PHP 支持 8 种原始数据类型。
四种标量类型: 1.boolean (布尔型)
2.integer (整型)
3.float (浮点型,也称作 double )
4.string (字符串)
两种复合类型: 1.array (数组)
2.object (对象)
最后是两种特殊类型: 1.resource (资源)
2.NULL (无类型)
为了确保代码的易读性,本手册还介绍了一些伪类型: 1.mixed (混合类型)
2.number (数字类型)
3.callback (回调类型)
<?php $a_bool = TRUE ; // a boolean $a_str = "foo" ; // a string $a_str2 = ‘foo‘ ; // a string $an_int = 12 ; // an integer echo gettype ( $a_bool ); // prints out: boolean echo gettype ( $a_str ); // prints out: string // If this is an integer, increment it by four if ( is_int ( $an_int )) { $an_int += 4 ; } // If $bool is a string, print it out // (does not print out anything) if ( is_string ( $a_bool )) { echo "String: $a_bool " ; } ?>
要指定一个布尔值,使用关键字 TRUE 或 FALSE 。两个都不区分大小写。 当转换为 boolean 时,以下值被认为是 FALSE :
1.布尔值 FALSE 本身 2.整型值 0(零) 3.浮点型值 0.0(零) 4. 空字符串,以及字符串 "0" 5.不包括任何元素的数组 6. 不包括任何成员变量的对象(仅 PHP 4.0 适用) 7. 特殊类型 NULL(包括尚未赋值的变量) 8. 从空标记生成的 SimpleXML 对象
一个 integer 是集合 ? = {..., -2, -1, 0, 1, 2, ...} 中的一个数。 整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +)。 当从浮点数转换成整数时,将向下取整。
<?php var_dump ( 25 / 7 ); // float(3.5714285714286) var_dump ((int) ( 25 / 7 )); // int(3) var_dump ( round ( 25 / 7 )); // float(4) ?>
浮点数的表示方法 <?php $a = 1.234 ; $b = 1.2e3 ; $c = 7E-10 ; ?> 比较浮点数方法 $a 和 $b 在小数点后五位精度内都是相等的。 <?php $a = 1.23456789 ; $b = 1.23456780 ; $epsilon = 0.00001 ; if( abs ( $a - $b ) < $epsilon ) { echo "true" ; } ?>
一个字符串可以用 4 种方式表达: 1.单引号 2.双引号 3.heredoc 语法结构 <?php class foo { public $bar = <<<EOT bar EOT; } ?>
4.nowdoc 语法结构(自 PHP 5.3.0 起)
可以用 array() 语言结构来新建一个数组。它接受任意数量用逗号分隔的 键(key) => 值(value) 对。
array( key => value , ... ) <?php $array = array( "foo" => "bar" , "bar" => "foo" , ); // 自 PHP 5.4 起 $array = [ "foo" => "bar" , "bar" => "foo" , ]; ?>
要创建一个新的对象 object ,使用 new 语句实例化一个类:
<?php class foo { function do_foo () { echo "Doing foo." ; } } $bar = new foo ; $bar -> do_foo (); ?>
使用getresourcetype — 返回资源(resource)类型
此函数返回一个字符串,用于表示传递给它的 resource 的类型。如果参数不是合法的 resource ,将产生错误。 <?php $c = mysql_connect (); echo get_resource_type ( $c ). "\n" ; // 打印:mysql link $fp = fopen ( "foo" , "w" ); echo get_resource_type ( $fp ). "\n" ; // 打印:file $doc = new_xmldoc ( "1.0" ); echo get_resource_type ( $doc -> doc ). "\n" ; // 打印:domxml document ?>
string (字符串)在下列情况下一个变量被认为是 NULL : 1.被赋值为 NULL 。 2.尚未被赋值。 3.被 unset() 。
允许的强制转换有: 1.(int), (integer) - 转换为整形 integer 2.(bool), (boolean) - 转换为布尔类型 boolean 3.(float), (double), (real) - 转换为浮点型 float 4.(string) - 转换为字符串 string 5.(array) - 转换为数组 array 6.(object) - 转换为对象 object 7.(unset) - 转换为 NULL (PHP 5)
PHP 中的变量用一个美元符号后面跟变量名来表示。变量名是区分大小写的。 PHP 提供了大量的预定义变量。 PHP 可变变量 <?php class foo { var $bar = ‘I am bar.‘ ; var $arr = array( ‘I am A.‘ , ‘I am B.‘ , ‘I am C.‘ ); var $r = ‘I am r.‘ ; } $foo = new foo (); $bar = ‘bar‘ ; $baz = array( ‘foo‘ , ‘bar‘ , ‘baz‘ , ‘quux‘ ); echo $foo -> $bar . "\n" ; echo $foo -> $baz [ 1 ] . "\n" ; $start = ‘b‘ ; $end = ‘ar‘ ; echo $foo ->{ $start . $end } . "\n" ; $arr = ‘arr‘ ; echo $foo -> $arr [ 1 ] . "\n" ; echo $foo ->{ $arr }[ 1 ] . "\n" ; ?> 来自 PHP 之外的变量【HTML 表单(GET 和 POST)】、REQUEST、HTTP Cookies $userName = $_GET[‘username‘]; $userName = $_POST[‘username‘]; $userName = $_REQUEST[‘username‘]; setcookie ( "username" , "linfeng" , time ()+ 3600 );
可以用 define() 函数来定义常量,在 PHP 5.3.0 以后,可以使用 const 关键字在类定义之外定义常量。一个常量一旦被定义,就不能再改变或者取消定义。
常量和变量有如下不同:
常量前面没有美元符号($);
常量只能用 define() 函数定义,而不能通过赋值语句;
常量可以不用理会变量的作用域而在任何地方定义和访问;
常量一旦定义就不能被重新定义或者取消定义;
常量的值只能是标量。
Example #1 定义常量 <?php define ( "CONSTANT" , "Hello world." ); echo CONSTANT ; // outputs "Hello world." echo Constant ; // 输出 "Constant" 并发出一个提示级别错误信息 ?>
Example #2 使用关键字 const 定义常量 <?php // 以下代码在 PHP 5.3.0 后可以正常工作 const CONSTANT = ‘Hello World‘ ; echo CONSTANT ; ?>
PHP 向它运行的任何脚本提供了大量的预定义常量。不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。(不区分大小写)
__LINE__ 文件中的当前行号。 __FILE__ 文件的完整路径和文件名。 __DIR__ 文件所在的目录。 __FUNCTION__ 函数名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该函数被定义时的名字(区分大小写)。 __CLASS__ 类的名称(PHP 4.3.0 新加)。自 PHP 5 起本常量返回该类被定义时的名字(区分大小写)。 __TRAIT__ Trait 的名字(PHP 5.4.0 新加)。 __METHOD__ 类的方法名(PHP 5.0.0 新加)。返回该方法被定义时的名字(区分大小写)。 __NAMESPACE__ 当前命名空间的名称(区分大小写)。此常量是在编译时定义的(PHP 5.3.0 新增)。
标签:
原文地址:http://my.oschina.net/ramosyWeb/blog/493623