1、PHP语法基础PHP数据类型PHP运算符、表达式PHP流程控制语句n 认识PHP标记这是一段PHP代码,它是嵌入到HTML结构中使用的,其中,echo是输出语句,用于输出数字、字符串。不带括号时可以输出多个参数,如果带括号只能输出一个参数。“”是一种标记,专门用来包含PHP代码。Hello HTML echo Hello,PHP,;echo(Hello);n PHP的注释在PHP开发中,经常需要对程序中的某些代码进行说明,这时,可以使用注释来完成。注释可以理解为代码的解释,它是程序不可缺少的一部分,并且在解析时会被PHP解析器忽略。PHP支持C、C+等风格的注释 C+风格的单行注释风格的单行注
2、释“/”C风格的多行注释风格的多行注释“/*/”n PHP的标识符 在PHP程序中需要自定义一些符号来标记一些名称,如变量名、函数名、类名等,这些符号被称为标识符。n 定义PHP标示符的规则标识符可以是任意长度,只能由字母、数字、下划线组成。标识符不能以数字开始。标识符不能包含空格。如果标识符由多个单词组成,那么应该使用下划线进行分隔 (例如:user_name)。n PHP的输出 echo:只能输出字符串与数字,不带括号可以一次输出多个参数 如:echo hello,PHP;print:与echo相似,但只能输出一个参数,有返回值(成功返回1,失败为0)。如:$n=print hello;e
3、cho$n;print_r:用来输出数组的键与值,不包括数据类型。var_dump:输出变量的值与数据类型,如果是数组,则输出键、值、值的数据类型。如:$a0=tom;$a1=berry var_dump($a);n HTML中嵌入 PHP在HTML代码中嵌入PHP代码相对来说比较简单,下面是一个在HTML中嵌入PHP代码的例子:HTML中嵌入PHP HTML文本框 input type=text value=n PHP中使用JavaScriptPHP代码中嵌入JavaScript能够与客户端建立起良好的用户交互界面,强化PHP的功能,其应用十分广泛。说明:alert()函数生成一个弹出对话框
4、,其内容就是函数的参数。?php echo;echo alert(我是JavaScript!);echo;?n PHP的关键字关键字是编程语言里事先定义好并赋予特殊含义的单词,也称作保留字。和其他语言一样,PHP中保留了许多关键字(不区分大小写),例如class、public等,下表列举的是PHP(5)中所有的关键字。andorxor_FILE_exception_LINEarray()asbreakcase classdie()constdoc o n t i n u eechodeclareelsedefaultelseifempty()enddeclareendfor endforeac
5、h endif endswitchendwhileeval()exit()extendsforforeachfunctionglobal ifincludeinclude_onceisset()list()newprintrequire require_once returnstaticswitchunset()usevarwhile_FUNCTION_CLASS_METHOD_finalphp_user_filterinterfaceimplements extendspublicprivateprotectedabstractclone trycatchthrowthisn PHP变量在P
6、HP中,变量是由$和变量名组成的,并且变量名的命名规则与标识符相同。变量名区分大小写,$VAR和$var分别代表两个不同的变量。自定义名称不可与PHP提供的默认变量名称相同。可通过unset()来销毁变量名例如,下列定义的变量是合法的。$text;$number;$ABC_123;$_book;由于PHP是一种弱语言,不需要显式地声明,因此,通常情况下,变量的定义与赋值是同时进行的,即直接将一个数值通过“=”赋给变量。$var=“abc”;$number=123;n 变量的引用 PHP提供了另外一种给变量赋值的方式引用赋值,即新变量引用原始变量,改动新变量的值将影响原始变量,反之亦然。使用引用
7、赋值的方法是,在将要赋值的原始变量前加一个“&”符号。例如:变量可以传值也可以传址,&是获取值的地址。dom1.phpdom1.phpn 可变变量在不确定一个变量的名称时,可以使用可变变量。所谓可变变量就是一个变量的变量名可以动态地设置和使用。一个普通变量通过声明来设置,而一个可变变量通过获取一个普通变量的值作为它的变量名。可变变量通过两个“$”来设置dom2.phpdom2.phpn PHP预定义变量 先学习几个主要的预定义变量:$_GET。它是由HTTP get方法传递的变量组成的数组。$_POST。它是由HTTP post方法传递的变量组成的数组。$_REQUEST。它是所有用户输入的变
8、量数组,包括$_GET、$_POSTdom3.phpdom3.phpn 销毁变量通过unset()来销毁变量。unset()销毁的是变量名,值是由PHP垃圾回收机制销毁。dom4.phpdom4.phpn PHP常量在PHP中,常量是一个简单值的标志符,在脚本执行间值是不变的。常量区分大小写,常量标志符一般都是大写大写。常量名和其它任何PHP标记都遵循相同的命名规则。自定义常量使用define()define()函数来定义(常量不能重复定义)define(“常量名”,“常量值”,是否区分大小写);true 不区分;false 区分(默认是区分的)。dom5.phpdom5.phpn PHP预定
9、义常量 PHP中还提供了很多预定义常量。这些常量专门用于获取PHP中的信息,并且是不允许开发人员随意修改的。常量名常量名功能描述功能描述_FILE_返回PHP程序路径 和文件名(双下划线)_LINE_返回PHP程序行数 (双下划线)PHP_VERSION返回PHP程序的版本,如“3.0.8_dev”PHP_OS返回执行PHP解析器的操作系统名称,如“Windows”_FUNCTION_返回该函数被定义时的名字(双下划线)_CLASS_返回该类被定义的名字 (双下划线)dom6.phpdom6.php在PHP语言中,由于数据存储时所需要的容量各不相同,因此,为了区分不同的数据,需要将数据划分为不
10、同的数据类型。PHP的数据类型共有八种,具体如下表所示。标量类型标量类型boolean(布尔型)Integer(整型)float(浮点型)string(字符串型)复合类型复合类型array(数组)object(对象)resource(资源)(资源)NULL(空值)(空值)n boolean布尔类型布尔型是PHP中较常用的数据类型之一,它的值只有true和false,并且这两个值是不区分大小写的,具体示例如下:注意:注意:在某些特殊情况下,不仅true和false可以表示boolean值,其他类型的数据也可以表示boolean值。$bool1=true;/把true值赋给变量$bool1$boo
11、l2=false;/把false值赋给变量$bool2dom7.phpdom7.phpn integer整型整型用来表示不包含小数部分的数,它可以用十进制、十六进制、八进制或二进制指定,并且前面可加上“+”或“-”号表示正数或负数。当使用八进制表示时,数字前必须加上0(零),使用十六进制表示时,数字前必须加上0 x(零x),具体示例如下:$a=123;/十进制数,数值为123$b=-123;/十进制负数,数值-123$c=0123;/八进制数,等于十进制的83$d=0 x123;/十六进制数,等于十进制的291n float浮点型浮点型可以存储整数,也可以存储小数。在PHP中,浮点数有两种书写
12、格式,具体示例如下:具体示例如下:方式一:标准格式方式二:科学计数法格式$a=3.1415$b=3.5831$c=3.58E1$d=849.52E-3n string字符串字符串是连续的字符序列,它可以由字母、数字和符号组成。字符串中的每个字符只占用一个字符。在PHP中,最常用的字符串定义方式是单引号和双引号,具体示例如下:在上述代码中,包含在双引号的字符串会被解析,而包含在单引号中的字符串不会解析,只会输出其字符本身。$a=字符串;$b=字符串;dom8.phpdom8.phpn 字符串的连接 使用字符串的连接连接符“.”,可以将几个文本连接成一个字符串。n heredoc结构定义字符串 在
13、需要大量输出HTML文本时可采用heredoc的定界符“”格式:其中STR为标志符,最后用同样的标志符结束字符串。echo STR要输出的字符串STR;dom9.phpdom9.php序列序列含义含义 n换行(ASCII 字符集中的 LF 或 0 x0A(10))r回车(ASCII 字符集中的 CR 或 0 x0D(13))t水平制表符(ASCII 字符集中的 HT 或 0 x09(9))v垂直制表符(ASCII 字符集中的 VT 或 0 x0B(11))eEscape(ASCII 字符集中的 ESC 或 0 x1B(27))f换页(ASCII 字符集中的 FF 或 0 x0C(12))反斜线
14、$美元标记 双引号单引号PHP中常见的转义字符中常见的转义字符n 数据类型的自动转换 PHP中自动 转换通常发生在不同数据类型的变量进行混合运算时。若参与运算的类型不同,则先转换成同一类型,然后才运算。通常4种标量类型才使用自动类型转换。(integer、float、string、boolean)有布尔型时,true转化为整型1,false转化为整型0后再参与运算。有null值参与运算时,null值转化为整型0再进行运算。有integer型和float型参与运算时,先把整型转为浮点型再进行运算。有字符串和数字型参与运算时,字符串先转换为数字再参与运算。如:字符串“123abc”转为整数123;
15、字符串“abc”转为整数0;字符串“12.45abc”转为浮点数12.45。dom10.phpdom10.php下面是PHP使用“+”号运算自动转换类型。如果任何一个运算数是浮点数,则所有运算数都被当成浮点数,结果也是浮点数,否则运算数会补解释为整数。n 强制类型转换在要转换的变量之前加上用括号括起来的目标类型,也可以用具体的转换函数。如:intval()、floatval()和 strval()等。(int),(integer):转换成整型。(bool),(boolean):转换成布尔型。(float),(double):转换成浮点型。(string),转换成字符串型。(array):转换成
16、数组。注:以上两种类型的强制转换都没有改变被转换变量本身的类型,而是通过转换得到的新类型的数据赋值给新变量,原变量的类型和数据不变。n 检测变量的数据类型变量的数据类型是在赋值的时候确定的,为了检测变量所赋的值是否符合期望的数据类型,在PHP中,提供了一组is_*()函数,括号里参数为要检测的变量。n 运算符的作用 在程序中,经常会对数据进行运算,为此,PHP语言提供了多种类型的运算符,即专门用于告诉程序执行特定运算或逻辑操作的符号。n 运算符的分类运算符类型运算符类型作用作用算术运算符用于处理四则运算字符串运算符用于连接字符串赋值运算符用于将表达式的值赋给变量递增或递减运算符用于自增或自减运
17、算比较运算符用于表达式的比较,并返回一个真值或假值逻辑运算符用于根据表达式的值返回真值或假值位运算符用于处理数据的位运算错误控制运算符用于忽略因表达式运算错误而产生的错误信息instanceof用于判断一个对象是否是特定类的实例5.3.1算术运算符算术运算符算术运算符用于对数值类型的变量及常量进行算数运算。与数学中的加减乘除类似,PHP中包括各种算术运算符。5.3.2 赋值运算符赋值运算符赋值运算符的作用就是将常量、变量或表达式的值赋给某一个变量。PHP中包括各种赋值运算符。dom11.phpdom11.php自增自减运算符可以看作一种特定形式的复合赋值运算符,它可以对数字类型变量的值进行加1
18、或减1操作。5.3.3 自增自减运算符自增自减运算符比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值,即true或false。5.3.4 比较运算符比较运算符n=只比较值,=比较值和数据类型。例如:所以在PHP中尽量用=dom13.phpdom13.phpn 逻辑运算符是用来连接比较运算符的。其结果仍是一个布尔型。5.3.5 逻辑运算符逻辑运算符作用类似于选择句,用于根据一个表达式的真假,从另外两个表达式中选择一个。逻辑表达式?表达式1 :表达式25.3.6 三元运算符三元运算符PHP的错误控制运算符使用符号来表示,把它放在一个PHP表达式之前,将忽略该表达式可能产生的任何错误信息。
19、错误控制运算符的使用示例如下:5.3.7 错误控制运算符错误控制运算符$a=4/0;注意:注意:运算符只对表达式有效,例如可以把它放在变量、函数和include()调用、常量之前,但不能把它放在函数或类的定义之前。选择结构语句用于对一些条件作出判断,从而决定执行哪一段代码。常用的选择结构语句有四种:n if语句(也称单分支语句)n ifelse语句(也称双分支语句)n ifelseifelse语句(也称多分支语句)n switch语句 if语句(单分支语句)语句(单分支语句)If(条件)/代码(条件)是个表达式它返回布尔值。当表达式值为true时,执行代码中的语句;值为FALSE时,则跳过这段
20、代码。语法:开始条件成立执行代码结束ifelse(双分支语句)(双分支语句)如果满足某种条件,就进行某种处理,否则就进行另一种处理。执行语句中如果是复合语句则必须使用花括号。如果是单句则可省略花括号。具体语法格式如下:开始条件成立代码1结束if(判断条件)执行语句1else执行语句2不成立代码2ifelseifelse(多分支语句)(多分支语句)用于对多个条件进行判断,进行多种不同的处理。具体语法格式如下:if(条件1)执行语句1 elseif(条件2)执行语句2.elseif(条件n)执行语句n else 执行语句n+1开始条件1条件2条件3代码1代码2代码3代码4结束是是是否否否星期星期一
21、一二二三三四四五五六六日日课程课程英语英语概率统计概率统计动态网页动态网页线性代数线性代数毛概毛概快乐大本快乐大本睡觉睡觉dom15.phpdom15.phpswitch语句语句switch条件语句也是一种很常用的选择语句,和if条件语句不同,它只能针对某个表达式的值作出判断,从而决定程序执行哪一段代码。其基本语法格式如下所示。switch(表达式)case 目标值1:执行语句1break;case 目标值2:执行语句2break;case 目标值n:执行语句nbreak;default:执行语句n+1break;开始常量1常量2代码1代码2代码3结束是是否否否判断是否有break判断是否有b
22、reak否是dom16.phpdom16.php循环结构语句用于实现将一段代码重复执行,分为while循环语句、dowhile循环语句和for循环语句三种:n while循环语句n dowhile循环语句n for循环语句 while循环语句循环语句while语句会反复地进行条件判断,只要条件成立,内的执行语句就会执行,直到条件不成立,while循环结束。While通常用于控制循环次数未知的循环结构。while循环语句的语法格式如下:条件表达式true语句块while(循环条件)执行语句false思考题思考题dowhile循环循环dowhile循环语句和while循环语句功能类似,区别在于表达
23、式的值是在每次循环结束时检查,因而确保循环会执行一次。条件表达式true语句块do 执行语句 while(循环条件);falsefor循环语句循环语句for循环语句是最常用的循环语句,一般用在循环次数已知的情况下。其语法格式如下:for(初始值;条件;增量)执行语句循环变量初值true循环变量=初值false语句块循环变量=循环变量+步长dom19.phpdom19.php跳转语句用于实现循环执行过程中流程的跳转,PHP中的跳转语句有break语句、continue语句和goto语句:n break语句n continue语句n goto语句 break语句语句在seitch条件语句和循环语句中都可以使用break语句。当它出现在switch条件语句中时,作用是终止某个case并跳出switch结构;当它出现在循环语句中,作用是跳出循环语句,执行后面的代码。即程序结构执行中遇到break语句就会跳出这个结构,执行结构后面的语句。continue语句语句continue语句用来跳过本次循环中指定条件的语句,继续执行一下次循环结构。它们两者的区别:Continue只是结束本次循环,并不是终止整个循环的执行;Break是结束整个循环过程,不再判断执行循环的条件是不成立。