码迷,mamicode.com
首页 > Web开发 > 详细

PHP基础知识

时间:2015-08-17 19:59:09      阅读:137      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!