《第3章PHP语言基础.ppt》由会员分享,可在线阅读,更多相关《第3章PHP语言基础.ppt(74页珍藏版)》请在第壹文秘上搜索。
1、Page 1第3章 php编程语法基础Page 2本章目标本章目标本章结束时,学员能够:PHP的标记风格 PHP的注释种类 PHP的数据类型 PHP的常量和变量 PHP运算符 PHP表达式 PHP函数 PHP的编码规范Page 3PHP的工作原理回顾的工作原理回顾 PHP的工作原理和ASP一样,服务器端脚本由服务解释执行。而对于前台技术,服务器不进行任何解释,而由客户端浏览器进行解释执行。Page 43.1 PHP标记风格标记风格PHP一共提供了4种方式嵌入到文档中:1.默认方式(推荐使用):2.脚本风格 echo 你好;3.简短风格(需要修改配置文件php.ini中设置short_open_
2、tag为ON后,重启服务器):4.ASP风格(需要修改配置文件php.ini中设置asp_tags为ON,后重启服务器):Page 53.2 PHP的注释的注释1.C+风格单行注释/2.C风格多行注释/*/(不允许注释嵌套)3.Shell风格注释#注意:在注释中不要出现?;这样回事的解释器认为脚本未结束Page 63.3 PHP的数据类型的数据类型PHP一共支持8种原始类型,4种标量类型:boolean(布尔型)、integer(整型)、float/double(浮点型)、string(字符串型);2种复合类型:array(数组)和object(对象);2种特殊类型 resource(资源)和
3、NULL Page 73.3.1 标量数据类型标量数据类型 标量数据类型是数据结构中最基本的单元,只能存储一个数据。表3.1 标量数据类型 类型 说明boolean只有两个值true和falsestring连续的字符序列,可以是计算机能够表示的一切字符的集合integer整数float实数Page 83.3.1.1 布尔型布尔型布尔类型值为true或false:例1.结果:变量$boo值为true说明:美元符号$是变量的标识符,所有变量都是以$符开头的。Page 93.3.1.1 布尔型布尔型例2.=3000)echo 发展不错!“;else echo 还需要努力!“;?Page 103.3.
4、1.2 字符串(字符串(string)字符串是连续的字符序列。有3种定义字符串的方式,分别是单引号()、双引号()和定界符()例1.?php$a=100;/双引号如果有变量则输出变量内容echo 输出字符串$a.;/单引号原样输出echo 输出字符串$a;?结果:输出字符串100 输出字符串$aPage 113.3.1.2字符串(字符串(string)例2.PHP5.0新型字符串的使用时本实例的关键。PHP5.0这种新型的字符串是以开始,后紧跟字符串开始标记,之后为字符串的内容,最后以标记加分号结束。?php$str=markalert(欢迎进入PHP编程世界!);mark;echo$str;
5、?注意:结束标识符必须单独另起一行,并且不允许有空格。在结束表示符前后也不能出现任何其他字符。否则报错。Page 123.3.1.2字符串(字符串(string)-转义字符转义字符转义字符 输出n换行换行(LF或或ASCII字符字符 0 x0A(10)r回车回车(CR或或)t水平制表符水平制表符 反斜杠反斜杠$美元符号美元符号单引号单引号双引号双引号例1.结果:帅哥Page 133.3.1.2字符串(字符串(string)-转义字符转义字符(1)如果对非转义字符使用如果对非转义字符使用,那么斜杠也会被输出,那么斜杠也会被输出例2.结果:帅哥ac(2)双引号字符串和单引号异同相同点:包裹的内容均
6、为字符串例3.?phpecho 帅哥你好!;echo;echo 帅哥你好!;?Page 143.3.1.2字符串(字符串(string)-转义字符转义字符不同点:单引号原样输出,而双引号会将其中变量值输出例4.?php$a=100;echo 输出字符串$a.;echo 输出字符串$a;?结果:输出字符串100 输出字符串$aPage 153.3.1.3 整型(整型(integer)整型数据类型只能包含整数。在32位系统中,有效范围是-2147483648-+2147483647,整数可以使用十进制、八进制和十六进制来表示。八进制前加0,十六进制前加0 x例1.?php$a1=16;$a2=01
7、6;$a3=0 x16;echo 十进制输出结果是$a1;echo 八进制输出结果是$a2;echo 十六进制输出结果是$a3;/最终都会以十进制输出结果?结果:十进制输出结果是16 八进制输出结果是14 十六进制输出结果是22Page 163.3.1.4 浮点型(浮点型(float)浮点数数据类型用来存储数字,亦可以保存小数。精度比整数大得多。在32为系统中范围是1.7E-308-1.7E+308(注意:在4.0以前的版本中,浮点数的标识符为double,也叫双精度浮点数,两者没有区别)浮点数默认书写格式:3.1415-35.8也可以使用科学计数法:3.23E1849.72E-3Page 1
8、73.3.1.4 浮点型(浮点型(float)例1.?php$a1=0.0314;$a2=3.14E-2;/相当于3.14*10负2次方echo$a1.;echo$a2.;?结果:0.0314 0.0314注意:浮点数值只一般是有精度的近似值,要尽量避免浮点型之间比较大小,主要是最后的位数往往不准确。Page 183.3.2 复合数据类型复合数据类型-数组和对象数组和对象1.数组:数组和变量的区别是变量通过不同的变量名来来区别不同的内存空间,而数组可以使用同一个数组名通过不同的下标来区分不同空间。例1.?php$x=12;$y=15;$z=36;$a=66;$test=array(12,15,
9、36,66);/创建一个数组并赋值echo 各个变量的值:;echo$x.$y.$z.$a.;echo 数组各个元素的值:;/注意数组下标从0开始echo$test0.$test1.$test2.$test3.;?Page 193.3.2 复合数据类型复合数据类型-数组数组结果:各个变量的值:12153666数组各个元素的值:12153666Page 203.3.2 复合数据类型复合数据类型-数组数组Page 213.3.2 复合数据类型复合数据类型-数组数组2.数组的创建方法(1)创建数组并赋值,数组大小由赋值个数决定$数组名=array(值1,值2,值3);(2)创建数组并赋值,下标可以使
10、数字,也可以是任何标识符$数组名=array(元素下标=值,元素下标=值,元素下标=值,元素下标=值)例2.apple,color=round,shape=round,4=25 );echo 输出数组内容:;echo$aname.;echo$acolor.;echo$ashape.;echo$a4;?Page 223.3.2 复合数据类型复合数据类型-数组数组结果:输出数组内容:appleroundround25Page 233.3.2 复合数据类型复合数据类型-对象对象(object)对象:第13章详述Page 243.3.3 特殊数据类型特殊数据类型1.特殊数据类型包括资源和空值两种:(1
11、)resource资源 (2)null空值:表示没有值例1.字符串str1被赋值为null,str2没有声明和赋值,所以也是null,最后str3虽然被赋予了初值,但被unset()函数处理后,也变为null。unset()函数的作用就是从内存中删除变量。?php$str1=null;$str3=22;if(is_null($str1)/is_null()函数判断是否为空类型返回布尔值echo 变量#str1的值为null.;if(is_null($str2)echo 变量#str2的值为null.;unset($str3);/消毁变量$str3不返回任何值if(is_null($str3)/
12、这里的$str3是重新生成的,没有赋值,所以是空值echo 变量#str3的值为null.;?Page 253.3.5 检测数据类型函数检测数据类型函数检测数据类型函数检测类型举例Is_bool判断是否是布尔型Is_bool(变量或表达式)Is_string判断是否是字符串型Is_string(变量或表达式)is_float/is_double判断是否是浮点类型Is_float(变量或表达式)Is_integer/is_int判断是否是整数Is_null(变量或表达式)Is_null判断是否是nullIs_float(变量或表达式)Is_array判断是否是数组Is_array(变量或表达式)
13、Is_object判断是否是对象类型Is_object(变量或表达式)Is_numeric判断是否是数字或由数字组成字符串Is_numeric(变量或表达式)Page 263.3.5 检测数据类型函数检测数据类型函数例1.Page 273.3.4 数据类型转换数据类型转换(1)自动转换:+加号两边一边是数字就强制把另一边的字符串自动转换为数字字符串的中左边第一个不是数字则转换为0 结果:5字符串的中左边第一个字符时数字则将字符串中相应的数字转换为数字 结果:15字符串中左边第一个字符是数字其中包含.看做是小数点浮点数 结果:10.9Page 283.3.4 数据类型转换数据类型转换(2)强制转
14、换 转换为整型(在变量前加integer或者int)转换规则如下:1-1浮点数转化为整数。小数点后面的数将被省略。结果:231-2如果浮点数超出整数范围,结果可能是0或者是整型的最小负数。结果:-727379968 2-1布尔型转化为整数。true转化为1,false转化为0结果:1 3-1字符串转化为整型和自动转化相同Page 293.3.4 数据类型转换数据类型转换(2)强制转换 转化为浮点型(方法是在变量前使用float)转化规则如下:整型转化为浮点型。其结果不会发生变化 2-1 布尔型转化为浮点型。和整数相同 3-1 字符串类型转化为浮点型。如果字符串中包含小数点.,或科学计数法的e0
15、或者E中的任何一个字符,字符串被当做浮点型处理。否则是为整型。结果:34432.34 转化成字符串型(方法在变量前使用string),转化规则如下:整型或浮点型转化为字符串。2-1 布尔值转化为字符串型。true转化为字符串1,false转化为空字符串 3-1 对象或数组型转化为字符串型。那么转化结果为字符串对象或者字符串数组。4-1 资源型转化为字符串型。转化结果为一个类似于Resource id#的字符串。在#之后是PHP在运行时分配给该资源的标识代号。Page 303.3.4 数据类型转换数据类型转换(2)强制转换 转化为布尔型。(在方法前使用boolean或者bool)转化规则如下:转
16、化结果为false的情况 整型或者浮点数0 空字符串和字符串0 没有任何元素的空数组 没有任何元素的对象 特殊类型NULL 2-1 除了前面1-1中的情况都为true 转化为数组(方法在变量前使用array)转化规则是:将非数组型转化为与原变量数据类型相同的数组,数组中只有一个元素。转化为对象(方法在变量前使用object),转化规则是:将非对象类型转化为一个新对象,其中名为scalar的成员变量将包含原变量。Page 313.4.1 PHP 常量常量常量:不会变化的变量(一旦常量定义之后,常量的值在定义之后就不允许修改了。一般是防止意外修改变量的值)定义方法使用define(变量名称,变量的值,表示是否区分大小写默认是false,区分)结果:半径为10的圆的面积为314.15Page 323.4.2 PHP 预定义常量预定义常量预定义常量:系统默认已经定义好的常量。预定义常量:系统默认已经定义好的常量。PHP的预定义常量Page 333.4.2 PHP 预定义常量预定义常量例1._FILE_获取目标文件的路径及文件名 结果:C:Apache2.2htdocsphp_studyinde