首页 > Web开发 > 详细

PHP基础知识

时间:2015-08-17 19:57:51      阅读:184      评论:0      收藏:0      [点我收藏+]

PHP_Manual参考手册阅读笔记

PHP Manual中文手册阅读笔记(一):PHP基础知识

语言参考:

基本语法:

PHP标记:

  1. 当解析一个文件时,PHP 会寻找起始和结束标记,也就是 <?php 和 ?>,这告诉 PHP 开始和停止解析二者之间的代码。

  2. 如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记

    <?php echo "Hello world" ; // ... more code echo "Last statement" ; // 脚本至此结束,并无 PHP 结束标记

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 " ;
}
 ?>

boolean (布尔型)

要指定一个布尔值,使用关键字 TRUE 或 FALSE 。两个都不区分大小写。 当转换为 boolean 时,以下值被认为是 FALSE :

1.布尔值 FALSE  本身  
2.整型值 0(零)  
3.浮点型值 0.0(零)  
4. 空字符串,以及字符串 "0"  
5.不包括任何元素的数组  
6. 不包括任何成员变量的对象(仅 PHP 4.0 适用)  
7. 特殊类型 NULL(包括尚未赋值的变量)  
8. 从空标记生成的 SimpleXML 对象

integer (整型)

一个 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) 
 ?>

浮点型(也叫浮点数 float,双精度数 double 或实数 real)

浮点数的表示方法        
<?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" ;
}
 ?>

string (字符串)

一个字符串可以用 4 种方式表达: 
1.单引号  
2.双引号  
3.heredoc 语法结构  
<?php
 class  foo  {
    public  $bar  = <<<EOT
 bar
    EOT;
}
?>

4.nowdoc 语法结构(自 PHP 5.3.0 起)

array (数组)

可以用 array() 语言结构来新建一个数组。它接受任意数量用逗号分隔的 键(key) => 值(value) 对。

array(  key =>  value
     , ...
     )
<?php
$array  = array(
     "foo"  =>  "bar" ,
     "bar"  =>  "foo" ,
);

 // 自 PHP 5.4 起
 $array  = [
     "foo"  =>  "bar" ,
     "bar"  =>  "foo" ,
];
 ?>

object (对象)

要创建一个新的对象 object ,使用 new 语句实例化一个类:

<?php
 class  foo
 {
    function  do_foo ()
    {
        echo  "Doing foo." ; 
    }
}

 $bar  = new  foo ;
 $bar -> do_foo ();
 ?>

resource (资源)

使用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
 ?>

NULL (无类型)

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 可变变量

<?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 );

PHP的常量

可以用 define() 函数来定义常量,在 PHP 5.3.0 以后,可以使用 const 关键字在类定义之外定义常量。一个常量一旦被定义,就不能再改变或者取消定义。

常量和变量有如下不同:

  1. 常量前面没有美元符号($);

  2. 常量只能用 define() 函数定义,而不能通过赋值语句;

  3. 常量可以不用理会变量的作用域而在任何地方定义和访问;

  4. 常量一旦定义就不能被重新定义或者取消定义;

  5. 常量的值只能是标量。


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 新增)。

PHP基础知识

原文:http://my.oschina.net/ramosyWeb/blog/493623

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!