《PHP+MySQL动态网站开发》 课件-第2章 PHP语法基础_第1页
《PHP+MySQL动态网站开发》 课件-第2章 PHP语法基础_第2页
《PHP+MySQL动态网站开发》 课件-第2章 PHP语法基础_第3页
《PHP+MySQL动态网站开发》 课件-第2章 PHP语法基础_第4页
《PHP+MySQL动态网站开发》 课件-第2章 PHP语法基础_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章PHP语法基础《PHP+MySQL动态网站开发》学习目标/Target掌握PHP标记、注释的基本使用掌握常量和变量在程序中的定义、使用与区别掌握PHP中的数据类型和运算符的使用掌握分支结构、循环结构和跳转语句的使用章节概述/Summary学习一门语言就像盖大楼一样,要想盖一幢安全、稳固的大楼,必须要有一个夯实的地基。同样地,要掌握并熟练使用PHP语言开发网站,必须充分了解PHP语言的基础知识。本章将针对PHP语法基础进行详细讲解。目录/Contents01020304PHP标记与注释变量与常量数据类型运算符05流程控制PHP标记与注释2.12.1.1PHP标记

先定一个小目标!掌握PHP标记的基本使用,能够正确书写PHP标记2.1.1PHP标记PHP标记:用来在HTML中对PHP代码进行标识,从而区分HTML与PHP代码。PHP标记以“<?php”开始,以“?>”结束。<body>

<p>HelloHTML</p>

<p><?phpecho'Hello,PHP';?></p></body>在HTML中使用PHP标记2.1.1PHP标记对于纯PHP代码文件,应省略结束标记,并且开始标记要顶格书写。<?php

echo'生命在于运动!';纯PHP代码文件注意:PHP中还有一种短标记,以“<?”开始,以“?>”结束。在使用时,需在php.ini文件中设置short_open_tag的值为on,为了保证程序的兼容性,不推荐使用短标记。2.1.2注释

先定一个小目标!掌握注释的使用方法,能够使用单行注释和多行注释对程序代码进行解释说明2.1.2注释echo'生命在于运动!';//单行注释单行注释/*

多行注释*/echo'生命在于运动!';多行注释注释:对程序代码的解释和说明,使代码更易于阅读与维护,在解析时会被解析器忽略。PHP中有单行注释“//”和多行注释“/*……*/”。2.1.3语句结束符

先定一个小目标!掌握语句结束符的使用方法,能够在程序中正确使用语句结束符2.1.3语句结束符一条语句结束后,需要写语句结束符“;”。如果没有写语句结束符,运行时就会报错。<?phpecho'生命在于运动!'//缺少结束符

注意:Parsererror表示PHP脚本解析错误,syntaxerror表示语法错误。示例代码运行结果2.1.4【案例】在HTML中嵌入PHP代码

先定一个小目标!掌握在HTML中嵌入PHP代码的方法,能够在程序中熟练使用PHP标记和输出语句2.1.4【案例】在HTML中嵌入PHP代码<!DOCTYPEhtml><html><head>

<metacharset="UTF-8">

<title>Document</title></head><body>

<?php

echo'生命在于运动!';

?></body></html>案例:在HTML中嵌入PHP代码变量与常量2.22.2.1变量

先定一个小目标!掌握变量的使用方法,能够区分传值赋值和引用赋值的区别2.2.1变量变量:保存可变数据的容器。变量是由“$”符号和变量名组成的。例如“$num”。PHP是弱类型语言,变量不需要事先声明,就可以直接进行赋值使用。变量赋值分为:传值赋值(默认)和引用赋值。$age=12;//定义变量$age,赋值为12$num=$age;//将$age的值赋值给$num$age=100;//将$age的值修改为100echo$num;//输出$num的值,结果为12传值赋值代码演示$age=12;$num=&$age;//引用赋值$age=100;//修改其中一个变量的值为100echo$num;//另一个变量的值也变为100引用赋值代码演示2.2.1变量程序中定义的变量名、函数名、类名、方法名统称为标识符。定义标识符的规则:标识符只能由字母、数字和下画线组成。标识符可以由一个或多个字符组成,必须以字母或下画线开头。当标识符用作变量名时,区分大小写。若标识符由多个单词组成,使用下画线分隔,如:user_name。多学一招:标识符2.2.1变量多学一招:标识符$test; //test是合法标识符$_test; //_test是合法标识符$test88; //test88是合法标识符$66test; //66test是非法标识符$123; //123是非法标识符$test; //test是非法标识符$*test; //*test是非法标识符标识符示例2.2.2可变变量

先定一个小目标!熟悉什么是可变变量,能够在程序中正确使用可变变量2.2.2可变变量可变变量:用来在开发时动态地改变一个变量的名称。$a='say';$say='Hello';$Hello='Lucy';echo$a; //输出结果:sayecho$$a; //输出结果:Helloecho$$$a; //输出结果:Lucy注意:若变量$a的值是数字,则可变变量$$a就会出现非法变量名的情况。因此,开发时可变变量的运用,需要酌情考虑。可变变量代码示例2.2.3常量

先定一个小目标!掌握常量的概念,能够使用define()函数和const关键字定义常量2.2.3常量常量:保存脚本运行过程中值始终保持不变的量,常量一旦被定义就不能修改或重新定义。PHP中通常使用define()或const关键字来定义常量。//定义常量CON,值为hello,大小写敏感define('CON','hello');echoCON; //输出结果:helloechoconstant('CON');//输出结果:hellodefine()代码示例constPI=3.14;//定义常量PI,赋值为3.14echoPI; //输出常量PI的值,结果为3.14const关键字代码示例2.2.4预定义常量

先定一个小目标!掌握预定义常量,能够熟练使用PHP中常用的预定义常量2.2.4预定义常量常量名功能描述PHP_VERSION获取PHP的版本信息,如7.3.19PHP_OS获取解析PHP的操作系统类型,如:WINNTPHP_INT_MAX获取PHP中整型数的最大值2147483647PHP_INT_SIZE获取PHP中整型数的字长,如:4E_ERROR表示运行时致命性错误,使用1表示E_WARNING表示运行时警告错误(非致命),使用2表示E_PARSE表示编译时解析错误,使用4表示E_NOTICE表示运行时提醒信息,使用8表示预定义常量:PHP预先定义好的常量,用来获取PHP中的信息。2.2.4预定义常量多学一招:关键字abstract and as break callable case catchclass clone const continue declare default echoelse extends final finally for foreach functionglobal if include namespace new or printprivate protected public require return static switch throw trait try use var while yield关键字:编程语言里预先定义好并赋予了特殊含义的单词,也称作保留字。注意:关键字不能作为常量、函数名或类名使用,关键字不推荐作为变量名使用,容易混淆。常见的关键字2.2.5【案例】显示服务器信息

先定一个小目标!掌握显示服务器信息案例的实现方法,能够在程序中熟练使用变量和常量2.2.5【案例】显示服务器信息<body><table>

<tr><thcolspan="2">服务器信息展示</th></tr>

<tr><td>当前PHP版本号:</td><td><?phpechoPHP_VERSION;?></td></tr>

<tr><td>操作系统的类型:</td><td><?phpechoPHP_OS;?></td></tr></table></body>案例:显示服务器信息2.3数据类型2.3.1数据类型分类

先定一个小目标!掌握PHP中数据类型的分类,能够正确使用这些类型操作数据2.3.1数据类型分类布尔型(bool)、整型(int)浮点型(float)、字符串型(string)标量类型数组(array)、对象(object)复合类型资源(resource)、空值(NULL)特殊类型数据类型布尔型2.3.1数据类型分类$flag1=true; //将true赋值给变量$flag1$flag2=false; //将false赋值为变量$flag2布尔型:用于逻辑判断,只有true和false两个值,表示“真”和“假”,不区分大小写。布尔型的使用示例整型2.3.1数据类型分类$oct=073; //八进制数值59$dec=59; //十进制数$hex=0x3b; //十六进制数值59整型:用于表示整数,由八进制、十进制和十六进制表示,前面加上“+”或“-”符号表示正数或负数。八进制数:使用0~7表示,且数字前必须加上0。十六进制数:使用0~9和A~F表示,数字前必须加上0x。整型的使用示例浮点型2.3.1数据类型分类$fnum1=1.759; //标准格式$fnum2=-4.382; //标准格式$fnum3=3.14E5; //科学记数法格式$fnum4=7.469E-3; //科学记数法格式浮点型:用于保存浮点数或整数,浮点数在程序中用来表示小数。浮点数通常有两种表示方式:标准格式和科学记数法格式。浮点型的使用示例字符串型2.3.1数据类型分类echo'生命在于运动!';echo'生命在于'.'运动!';echo'生命在于','运动!';//输出结果:生命在于运动!字符串:由连续的字母、数字或字符组成的字符序列。字符串通常使用单引号或双引号作为定界符。注意:“.”是字符串连接符,用于连接字符串、数字、变量或常量等;“,”仅适用于echo。字符串型的使用示例2.3.2字符串解析

先定一个小目标!掌握什么是字符串解析,能够说出单引号和双引号解析字符串的区别2.3.2字符串解析$name='Tom';$area='China';echo$name."from$area";//输出结果:TomfromChinaecho$name.'from$area';

//输出结果:Tomfrom$area单引号字符串和双引号字符串的区别:单引号字符串中书写的变量名会原样输出,双引号字符串中会被解析。字符串的解析代码示例2.3.2字符串解析界定变量:在双引号字符串中,使用“{}”对变量进行界定。$ap='ma';$apple='test';echo"$apple"; //输出结果:testecho"{$ap}ple"; //输出结果:maple界定变量代码示例2.3.3数据类型检测

先定一个小目标!掌握什么是数据类型检测,能够使用数据类型检测函数检测数据类型2.3.3数据类型检测检测数据类型:使用内置的is_*()函数检测,如果符合检测的数据类型,返回true,否则返回false。函数名称功能描述is_bool()检测是否为布尔类型is_string()检测是否为字符串类型is_float()检测是否为浮点类型is_int()检测是否为整型is_null()检测是否为空值is_array()检测是否为数组is_resource()检测是否为资源is_object()检测是否为对象类型is_numeric()检测是否为数字或由数字组成的字符串2.3.3数据类型检测var_dump(is_bool('1')); //输出结果:bool(false)var_dump(is_string('php')); //输出结果:bool(true)var_dump(is_float('23')); //输出结果:bool(false)var_dump(is_int('23.0')); //输出结果:bool(false)var_dump(is_numeric('45.6'));//输出结果:bool(true)数据类型检测示例echo输出的是变量和字符串,var_dump输出的是变量类型、长度和变量值2.3.4数据类型转换

先定一个小目标!掌握数据类型转换的方式,能够说出自动转换规则,能够使用强制转换函数转换数据类型自动类型转换2.3.4数据类型转换当运算与期望的结果类型不匹配时,PHP将自动进行类型转换,无需开发人员做任何操作。常见的自动类型转换有3种,分别为转换成布尔型、转换成整型和转换成字符串型。2.3.4数据类型转换整型值0、浮点型值0.0、空字符串、字符串“0”→false其他值

→true转换成布尔型布尔值true→1;布尔值false→0浮点型转换成整型向下取整若字符串以数字开始,则使用该数值,否则转换为0转换成整型布尔值true→“1”;布尔值false→空字符串整型、浮点型转换成字符串,直接将数字转换成字符串转换成字符串型数据类型转换自动类型转换自动类型转换示例2.3.4数据类型转换var_dump(0==false); //运行结果:bool(true)var_dump(NULL==false); //运行结果:bool(true)var_dump('888php'==888);//运行结果:bool(true)var_dump(true+1); //运行结果:int(2)var_dump('3'); //运行结果:string(1)"3"强制类型转换2.3.4数据类型转换强制转换数据类型:在要转换的数据或变量之前加上“(目标类型)”即可。强制类型功能描述强制类型功能描述(boolean)或(bool)转为布尔型(float)转为浮点型(string)转为字符串型(array)转为数组(integer)或(int)转为整型(object)转为对象强制类型转换示例2.3.4数据类型转换var_dump((boolean)-5.9); //运行结果:bool(true)var_dump((integer)'hello'); //运行结果:int(0)var_dump((float)false); //运行结果:float(0)var_dump((string)12); //运行结果:string(2)"12"2.4运算符2.4.1算术运算符

先定一个小目标!掌握PHP中常用的算术运算符,能够正确使用这些运算符对数据或变量进行四则运算2.4.1算术运算符运算符作用范例结果+加echo5+5;10-减echo6-4;2*乘echo3*4;12/除echo5/5;1%取模(即算术中的求余数)echo7%5;2注意:运算顺序要遵循数学中“先乘除、后加减”的原则;

取模运算时,运算结果的正负取决于被模数(%左边的数)的符号,与模数(%右边的数)的符号无关。算术运算符:用来进行数学运算的符号。2.4.2赋值运算符

先定一个小目标!掌握PHP中常用的赋值运算符,能够正确使用这些运算符给变量赋值2.4.2赋值运算符运算符作用范例结果=赋值$a=3;$b=2;$a=3;$b=2;+=加并赋值$a=3;$b=2;$a+=$b;$a=5;$b=2;-=减并赋值$a=3;$b=2;$a-=$b;$a=1;$b=2;*=乘并赋值$a=3;$b=2;$a*=$b;$a=6;$b=2;/=除并赋值$a=3;$b=2;$a/=$b;$a=1.5;$b=2;%=模并赋值$a=3;$b=2;$a%=$b;$a=1;$b=2;.=连接并赋值$a='abc';$a.='def';$a='abcdef';赋值运算符:它是二元运算符,有两个操作数,用来把赋值运算符右边的值赋给左边的变量。2.4.2赋值运算符多学一招:表达式PHP中任何有值的内容都可以理解为表达式,利用表达式可以非常灵活地进行代码编写。$a=1; //将表达式“1”的值赋值给$aecho$a=1; //输出表达式“$a=1”的值echo$a+4; //输出表达式“$a+4”的值$a=$a+4; //将表达式“$a+4”的值赋值给$a$b=$a=1; //将表达式“$a=1”的值赋值给$becho5,6; //输出表达式“5”和表达式“6”的值echoPHP_VERSION; //输出表达式“PHP_VERSION”的值表达式的使用示例2.4.3【案例】商品价格计算

先定一个小目标!掌握使用算术运算符和赋值运算符对数据进行计算的方法,能够在程序中熟练使用这些运算符2.4.3【案例】商品价格计算若用户在一个全场8折的网站中购买了2斤香蕉、1斤苹果和3斤橘子,它们的价格分别为7.99元/斤、6.89元/斤、3.99元/斤,如何使用PHP程序来计算此用户实际需支付的费用呢?请通过PHP中提供的变量、常量、算术运算符以及赋值运算符等相关知识实现PHP中的商品价格计算。需求分析2.4.4错误抑制运算符

先定一个小目标!熟悉什么是错误抑制运算符,能够对表达式结果进行错误抑制2.4.4错误抑制运算符错误抑制运算符:用来抑制错误的输出,在可能出现错误的代码前加@符号。错误抑制符只针对就近表达式,如果针对结果,需要将表达式使用小括号“()”包裹。$num1=10/0; //输出结果会报错,除数不能为0$num2=@(10/0); //输出结果不会报错错误抑制运算符的使用示例2.4.5比较运算符

先定一个小目标!掌握PHP中常用的比较运算符,能够正确使用这些运算符对变量或表达式进行比较2.4.5比较运算符运算符运算范例结果==等于5==4false!=不等于5!=4true<>

不等于5<>4true===全等5===5true!==不全等5!=='5'true>

大于5>5false>=大于或等于5>=5true<

小于5<5false<=小于或等于5<=5true比较运算符:比较两个变量或表达式,其结果是一个布尔类型的true或false。2.4.6合并运算符

先定一个小目标!熟悉合并运算符的语法,能够使用合并运算符对变量进行判定2.4.6合并运算符合并运算符:PHP7新增的运算符,用于简单的数据存在性判定。<条件表达式>??<表达式>语法格式$age=$age??18;代码示例如果$age存在,则使用$age的值,如果$age不存在,则将$age的值设置为18。2.4.7三元运算符

先定一个小目标!熟悉三元运算符的语法,能够正确使用三元运算符判断表达式2.4.7三元运算符三元运算符:又称为三目运算符,它是一种特殊的运算符。如果变量$age的值大于或等于18,输出结果为“已成年”,如果小于18,则输出结果为未成年。<条件表达式>?<表达式1>:<表达式2>语法格式$age

=

10;echo$age>=18?'已成年':'未成年';代码示例2.4.8逻辑运算符

先定一个小目标!掌握PHP中常用的逻辑运算符,能够正确使用这些运算符对表达式进行逻辑判断2.4.8逻辑运算符运算符运算范例结果&&与$a&&$b$a和$b都为true,结果为true,否则为false||或$a||$b$a和$b中至少有一个为true,结果为true,否则为false!非!$a若$a为false,结果为true,否则相反xor异或$axor$b$a和$b一个为true,一个为false,结果true,否则falseand与$aand$b与“&&”相同,但优先级较低or或$aor$b与“||”相同,但优先级较低逻辑运算符:用于逻辑判断的符号,其返回值类型是布尔类型。2.4.9递增递减运算符

先定一个小目标!掌握PHP中常用的递增递减运算符,能够对变量进行递增递减运算2.4.9递增递减运算符运算符运算范例结果++自增(前)$a=2;$b=++$a;$a=3;$b=3;++自增(后)$a=2;$b=$a++;$a=3;$b=2;--自减(前)$a=2;$b=--$a;$a=1;$b=1;--自减(后)$a=2;$b=$a--;$a=1;$b=2;递增递减运算符:也称为自增自减运算符,是一种特定形式的复合赋值运算符。2.4.10位运算符

先定一个小目标!熟悉PHP中常用的位运算符,能够准确说出位运算符所对应的操作2.4.10位运算符运算符名称范例结果&按位与$a&$b$a和$b各二进制位进行“与”操作后的结果|按位或$a|$b$a和$b各二进制位进行“或”操作后的结果~按位非~$a$a的各二进制位进行“非”操作后的结果^按位异或$a^$b$a和$b各二进制位进行“异或”操作后的结果<<

左移$a<<$b将$a各二进制位左移b位(左移一位相当于该数乘以2)>>

右移$a>>$b将$a各二进制位右移b位(右移一位相当于该数除以2)位运算符:针对二进制数的每一位进行运算。2.4.10位运算符位运算符可以对整型和字符串进行位运算:在对数字进行位运算之前,程序会将所有的操作数转换成二进制数,然后再逐位运算。在对字符进行位运算之前,首先将字符转换成对应的ASCII码(数字),然后对产生的数字进行运算,再把运算结果(数字)转换成对应的字符。2.4.11运算符优先级

先定一个小目标!掌握运算符执行的先后顺序,能够在表达式中正确使用这些运算符2.4.11运算符优先级结合方向运算符结合方向运算符无new左^左[左|右++--~(int)(float)(string)(array)(object)@左&&无instanceof左||右!左?:左*/%右=+=-=*=/=.=%=&=|=^=<<=>>=左+-.左and左<<>>左xor无==!====!==<>左or左&左,运算符优先级:一个表达式中有多个运算符,这些运算符会遵循一定的先后顺序。2.4.11运算符优先级改变运算符的优先级:在表达式中使用小括号“()”可以提升运算符的优先级。$num1=4+3*2; //输出结果为10$num2=(4+3)*2; //输出结果为14改变运算符优先级代码示例2.5流程控制2.5.1分支结构

先定一个小目标!掌握分支结构语句的语法,能够使用分支结构语句进行条件判断2.5.1分支结构if语句if语句也称为单分支语句,用于判断当满足某种条件时就进行某种处理。if(判断条件){//代码段}语法格式if语句流程图2.5.1分支结构if…else语句if…else语句也称为双分支语句,当满足某种条件时就进行某种处理,否则进行另一种处理。if(判断条件){//代码段1}else{//代码段2}语法格式if…else语句流程图2.5.1分支结构if…elseif…else语句if…elseif…else语句也称为多分支语句,用于对多种条件进行判断,并进行不同处理。if(判断条件1){//代码段1}elseif(判断条件2){//代码段2}...elseif(判断条件n){//代码段n}else{//代码段n+1}语法格式if…else语句流程图2.5.1分支结构switch语句也是多分支语句,使代码更加清晰简洁、便于阅读。switch(表达式){case值1:

代码块1;break;case值2:

代码块2;break;...default:

代码块n;}switch语句语法格式switch($num){case10:echo'$num的值是10';break;case20:echo'$num的值是20';break;//此处可以添加更多casedefault:echo'$num的值是'.$num;}代码示例2.5.2【案例】判断学生成绩

先定一个小目标!掌握判断学生成绩等级案例的实现,能够根据案例需求实现学生成绩的判断假设学生成绩范围在0~100分之间,规定90~100的分数为A级,80~89的分数为B级,70~79的分数为C级,60~69的分数为D级,0~59的分数为E级。如何通过一个给定的学生分数来判断其成绩等级呢?2.5.2【案例】判断学生成绩需求分析2.5.3【案例】判断年份是否为闰年

先定一个小目标!掌握判断年份是否为闰年案例的实现,能够根据案例需求实现闰年的判断2.5.3【案例】判断年份是否为闰年需求分析闰年是为了弥补人为历法规定造成的年度天数与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论