php基础语法

第一天  PHP的基本语法01

=======================================================================================================

1. PHP在Web开发中的应用

1.1 PHP是什么

① PHP(Hypertext Preprocessor缩写)超级文本预处理器。

② PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

③ PHP是目前最流行的网站开发语言( B/S结构)。

④ PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法 。

⑤ 支持几乎所有流行的数据库以及操作系统   

1.2 PHP在web中的功能  

收集表单数据

生成动态网页

字符串处理

动态输出图像

服务器端文件系统操作

编写数据库支持的网页

会话跟踪控制

处理XML文件

支持利用大量的网络协议

服务器端的其他相关操作

1.3 PHP特点

是开放源代码的,服务器端的脚本语言.

独立于操作系统,可以运行在几乎所有系统中.

支持大部分的服务器,如apache,IIS

支持大量的数据库

1.4 脚本语言、解释型语言

脚本语言

脚本简单的说就是一条条的文字命令,这些文字命令是可以看到的(如可以用记事本打开查看、编辑),脚本程序在执行时,是由系统的一个解释器,

将其一条条的翻译成机器可识别的指令,并按程序顺序执行。因为脚本在执行时多了一道翻译的过程,所以它比二进制程序执行效率要稍低一些。

解释型语言

编译型语言  解释型语言

相对于编译型语言存在的,源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行

2. PHP的开发步骤

①  使用编辑器创建一个带有源代码的文件

②  将文件上传到web服务器上

③  通过浏览器访问WEB服务器浏览程序

3. PHP语言标记

3.1 文件名后缀为.php  PSR-1 基本代码规范 规定php脚本文件为编码utf8无bom格式

3.2 我们用<?php来表示PHP标识符的起始,然后放入PHP语句并通过加上一个终止标识符?>来退出PHP模式。

3.3 php可以嵌入到html中使用      

① 文件名后缀必须是php  

② php可以嵌套到html任意位置,body中,属性中,css中,不论写在哪里都可以运行输出结果

③ php代码要被 php标记(<?php ?>)包裹

3.4 四种不同的标记

① 标准风格

<?php ?>

② 长风格    

<script language='php'></script>        

③ 短风格      

      此风格需要在php.ini配置文件中开启short_open_tag

④ asp风格    

      此风格需要在php.ini配置文件中开启asp_tags

3.5 PSR-1 对php标记的规范

① 只可以 标准风格 和 短风格 两种标记

② 只有php代码纯php文件,省略结束标记

4. 指令分隔符 ;

PHP同C或Perl以及Java一样,语句分为两种:

①  一种是在程序中使用结构定义语句例如流程控制、函数与类的定义等,是用大括号来标记代码块,在大括号后面不要用分号。

   ② 另一种在程序中使用功能执行语句,如变量的声明、内容的输出、函数的调用等,是用来在程序中执行某些特定功能的语句,

    这种语句也可称为指令,PHP需要在每个指令后用分号结束。

③  和其他语言不一样的是,在PHP中右括号(?>)前的分号不是必选的。

5. 程序注释

  5.1 什么是注释

对于阅读代码的人来说,注释其实就相当于代码的解释和说明。注释可以用来解释脚本的用途、脚本编写人、为什么要按如

此的方法编写代码、上一次修改的时间等等。

5.2 PHP支持C、C++和Shell脚本风格的注释,如下:

//... ... 单行注释

/* ... ... */多行注释 (注意:不能嵌套)

#  ... ... 脚本注释

  5.3 注释的优点:

① 写帮助文档

② 调试程序

5.4 注意: 注释要写在代码的上面或是右边

6. 在程序中使用空白符的处理

6.1 注释事项

①  一般来说,空白符(空格、Tab制表符、换行)在PHP中无关紧要。可以将一个语句展开成任意行,或者将语句紧缩在一行。

   ② 可以利用这个灵活的格式来使代码更具有可读性(通过排列分配、缩进等)。一些懒惰的程序员利用这种自由的格式创建根本

        无法阅读的代码,这是不提倡的。

            6.2  PSR-1 基本代码规范  (FIG 制定的PHP规范,简称PSR,是PHP开发的事实标准。)

使用两个空行

一个源文件的两个代码段

两个类的声明

在以下情况使用一个空行

两个函数声明之间

函数内的局部变量和函数的第一条语句之间

注释或者单行注释之前

一个函数的两个逻辑代码段

代码缩进

代码必须 使用4个空格来进行缩进,禁止使用tabs

代码结尾

所有的PHP文件必须使用Unix的LF作为行结尾

所有的PHP文件必须是以单一的空白行结尾

在纯PHP文件中必须省略文件结尾的?>标记

7. 变量

7.1 变量的声明

① 变量的定义

变量是用于临时存储值的容器。这些值可以是数字、文本、或者复杂得多的排列组合。是用于跟踪几乎所有类型信息的简单工具。

   ② PHP变量特定      

        PHP是一种非常弱的类型语言。在大多数编程语言中,变量只能保持一种类型的数据,而且这个类型必须在使用变量前声明,

例如C语言中。而在PHP中,变量的类型通常不是由程序员设定的,确切地说,是根据该变量使用的上下文在运行时(即变量

的值)决定的。 PHP不要求在使用变量之前声明变量,当第一次给一个变量赋值时,你才创建了这个变量。

③ 定义变量

     PHP的变量声明是以$符开始的,后面跟大小写字母,数字和下划线,但不能以数字开头。

     可以使用函数unset( )释放指定的变量,isset( )函数检测变量是否设置,empty( )函数检查一个变量是否为空。

7.2 变量的命名

① 变量名与 PHP 中其它的标签一样遵循相同的规则。一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。

② 变量的名称是对大小写敏感的。

③ 但内置结构和关键字以及用户自定义的类名和函数名都是不区分大小写的。如:echo、while、function名称等。

7.3 可变变量

7.4 变量的引用赋值

8. 数据类型

8.1  类型介绍

① PHP 支持八种原始类型。 

四种标量类型: 

布尔型(boolean) 

整型    (integer)

浮点型(float)(浮点数,也作double) 

字符串(String) 

两种复合类型: 

数组(Array) 

对象(Object) 

最后是两种特殊类型: 

资源(Resource)

NULL

② 在PHP中,变量的类型通常不是由程序员设定的,确切地说,是根据该变量使用的上下文在运行时(即变量的值)决定的。

            ③ 使用函数var_dump( )查看表达式的值和类型


8.2  布尔型(boolean)

① 这是最简单的类型。boolean 表达了真值,可以为 TRUE 或 FALSE,即“真”或“假”。

② 当其他类型转换为 boolean类型 时,以下值被认为是FALSE: 

布尔值 FALSE

整型值 0(零)

浮点型值 0.0(零)

空白字符串和字符串"0"

没有成员变量的数组

没有单元的对象(仅适用于 PHP 4)

特殊类型 NULL(包括尚未设定的变量)

所有其它值都被认为是 TRUE(包括任何资源)。

8.3  整型(integer)

  ① 整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)代表数值的正负。

               ②整数值有最大的使用范围,这与平台有关,对于32位系统而言范围:-2147483648~2147483647,PHP不支持无符号整数。

      如果超出了则变成了float型。

8.4  浮点型(float或double)

① 浮点数(也叫双精度数或实数)是包含小数部分的数。通常用来表示整数无法表示的数据,如金钱值、距离值、速度值等。

   浮点数的字长和平台相关,尽管通常最大值是 1.8e308 并具有 14 位十进制数字的精度。

② 可以用科学计数法表示

③  浮点数的精度问题

8.5  字符串(String)

① string是一系列字符。在 PHP 中,字符和字节一样,也就是说,一共有 256 种不同字符的可能性。

    这也暗示 PHP 对 Unicode 没有本地支持。

② 一个字符串变得非常巨大也没有问题,PHP 没有给字符串的大小强加实现范围,所以完全没有理由担心长字符串。

③ 字符串的三种定义方式

单引号

双引号

定界符

8.6  数组(Array)

①  PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 keys 的类型。此类型在很多方面做了优化,

 因此可以把它当成真正的数组来使用,或列表(矢量),散列表(是图的一种实现),字典,集合,栈,队列以及更多可能性。

 因为可以用另一个 PHP 数组作为值,也可以很容易地模拟树。

② PHP中可以使用多种方式构建一个数组,

8.7  对象(Object)

① 在PHP中,对象和数组一样都是一种复合数据类型。但对象是一种更高级的数据类型。一个对象类型的变量,

   是由一组属性值和一组方法构成,其中属性表明对象的一种状态,方法通常用来表明对象的功能。

8.8  资源类型(Resource)

① 资源是一种特殊变量,保存了到外部资源的一个引用。资源是通过专门的函数来建立和使用的。

② 由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此无法将其它类型的值转换为资源

③ PHP4Zend引擎引进了资源计数系统,可以自动检测到一个资源不再被引用了(和 Java 一样)。

    这种情况下此资源使用的所有外部资源都会被垃圾回收系统释放。

8.9  NULL类型

① 特殊的 NULL 值表示一个变量没有值。NULL类型唯一可能的值就是NULL,表示一个变量的值为空,NULL不区分大小写。

② 在下列情况下一个变量被认为是 NULL: 

被赋值为 NULL值的变量。 

尚未被赋值的变量。 

被unset()函数销毁的变量。

8.10 伪类型介绍

①  伪类型并不是PHP语言中的基本数据类型,只是因为PHP是弱类型语言,所以在一些函数中,一个参数可以接收多种类型的数据,

     还可以接收别的函数作为回调函数使用。

②  伪类型

mixed:说明一个参数可以接受多种不同的(但并不必须是所有的)类型。 

number:说明一个参数可以是 integer 或者 float。

callback:有些诸如 call_user_function() 或 usort() 的函数接受用户自定义的函数作为一个参数。

Callback 函数不仅可以是一个简单的函数,它还可以是一个对象的方法,包括静态类的方法

一个 PHP 函数用函数名字符串来传递。可以传递任何内置的或者用户自定义的函数,除了 

array(),echo(),empty(),eval(),exit(),isset(),list(),print() 和 unset()。

9. 数据类型之间的互相转换

9.1 类型转换

① PHP 在变量定义中不需要(或不支持)明示的类型定义;变量类型是根据使用该变量的上下文所决定的。

② 类型转换是指将变量或值从一种数据类型转换成其他数据类型。转换的方法有两种:

自动转换

强制转换

         9.2 强制类型转换

PHP 中的类型强制转换和 C 中的非常像:在要转换的变量之前加上用括号括起来的目标类型

(int),(integer) - 转换成整型

(bool),(boolean) - 转换成布尔型

(float),(double),(real) - 转换成浮点型

(string) - 转换成字符串

(array) - 转换成数组

(object) - 转换成对象

注: 注意在括号内允许有空格和制表符,为了将一个变量还原为字符串,还可以将变量放置在双引号中。 

9.3 自动类型转换

布尔环境

字符串环境

数值环境

9.4 变量类型的测试函数

is_bool():判断是否是布尔型

is_int()、is_integer()和is_long():判断是否为整型。

is_float()、is_double()和is_real():判断是否为浮点型

is_string():判断是否为字符串

is_array():判断是否为数组

is_object():判断是否为对象

is_resource():判断是否为资源类型

is_null():判断是否为null

is_scalar():判断是否为标量

is_numeric():判断是否是任何类型的数字和数字字符串

is_callable():判断是否是有效的函数名

   bool settype ( mixed var, string type )是将变量 var 的类型设置成 type。 

10. 常量

10.1 常量的定义与使用

① 常量是一个简单值的标识符(名字)。如同其名称所暗示的,在脚本执行期间一个常量一旦被定义,就不能再改变或取消定义。

② 常量默认为大小写敏感。按照惯例常量标识符总是大写的。

③ 量名和其它任何 PHP 标签遵循同样的命名规则。合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。

④ 常量的范围是全局的。不用管作用域就可以在脚本的任何地方访问常量。

⑤ 我们可以用 define() 函数或 const语法来定义常量。

10.2 常量与变量

① 常量和变量不同: 

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

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

常量可以不用理会变量范围的规则而在任何地方定义和访问; 

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

常量的值只能是标量。

② 可以用函数 constant() 来读取常量的值。

③ 用 get_defined_constants() 可以获得所有已定义的常量列表 

10.3 预定义常量

① 魔术常量

__LINE__

__FILE__

__FUNCTION__

__CLASS__

__METHOD__

② 系统常量

PHP_OS: 执行PHP解析的操作系统名称

                    PHP_VERSION: 当前PHP服务器的版本。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章