资源描述
按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,*,PHP,编程基础与实例教程,PHP,编程基础与实例教程,PHP Fundamentals&Practices,第,3,章,PHP表达式,主讲:孔祥盛,本章大纲,3-,1,常量,3-,2,变量,3-,3,有关变量或常量状态的函数,3-4,PHP,运算符,3-5,数据类型的转换,3-,1,常量,1.,自定义常量,define()函数的语法格式,:,define(name,value,boolean,case_insensitive,),功能:定义一个名字为name,值为value的常量。ase_insensitive参数的默认值为FALSE,表示常量名name大小写敏感(区分大小写);case_insensitive参数值如果为TRUE,表示常量名name大小写不敏感(不区分大小写,)。,说明:常量名name为字符串类型数据,常量值value必须是标量数据类型数据,。,注意:常量名前面不加前缀,“,$,”,符号。,常量的作用域是全局的,不存在使用范围的问题,可以在程序任意位置进行定义和使用常量。,常量一旦被定义,其值不能在程序过程中修改,也不能被销毁。,3-,1,常量,2.,常量的内存分配,内存中专门为常量的存储分配了一个空间:常量存储区。常量存储区是一块比较特殊的存储空间,位于该存储空间的常量是全局的,且在程序运行期间不能修改和销毁。,例如程序,define.php,?,php,/,定义,DATABASE,常量,此时,DATABASE,常量名大小写敏感,define(DATABASE,student,);,/,定义,USER_NAME,常量,此时,USER_NAME,大小写敏感,define(USER_NAME,root,FALSE,);,/,定义,PASSWORD,常量,此时,PASSWORD,大小写不敏感,define(PASSWORD,root,TRUE,);,echo DATABASE;/,输出:,student,echo;,echo USER_NAME;/,输出:,root,echo;,echo password;/,输出:,root,?,3-,1,常量,2.,预定义常量,PHP还预定义了许多常量,这些常量无需使用define()函数定义,可直接在程序中使用。,1_FILE_(FILE前后是两个下划线):当前正在处理的脚本文件名。,2_LINE_(LINE前后是两个下划线):正在处理的脚本文件的当前行数。,3PHP_VERSION:当前 PHP预处理器的版本,如5.3.0。,4PHP_OS:PHP所在的操作系统的类型,如Linux。,5TRUE:表示逻辑真;FALSE常量:表示逻辑假;NULL常量:表示没有值或值不确定。,6DIRECTORY_SEPARATOR常量:表示目录分隔符,Unix或Linux操作系统环境时的值为,“,/,”,;Windows操作系统环境时的值为,“,”,。,3-2,变量,1.,变量基本概念,变量是用于临时存储数据的容器,这些数据可以是任意一种数据类型的数据。PHP中的变量名遵循以下规则:,1变量名必须以美元符号(,$,)开头,例如:,$,userName。,2变量名的第一个字符必须是字母或下划线(不能是数字),变量名称可以包含字母,、数字和下划线的组合,。,3PHP中的变量名是区分大小写的,这是一个非常重要的规则。这意味着,$,userName和,$,UserName是截然不同的两个变量。,例如:程序,variable.php,3-2,变量,2.,变量的内存分配,3-2,变量,3.,变量赋值方式,1传值赋值方式,2,传地址赋值方式,例如程序,byValue.php,:,?,php,$age1=18;,/,以下语句进行传值赋值,变量,$age1,的值,18,赋值给变量,$age2,$age2=$age1;,/,以下语句修改变量,$age2,的值,此时变量,$age2,在内存中开辟新的空间存储值,20,$age2=20;,echo$age1;/,该语句输出,$age1,变量的值为,18,echo;,echo$age2;/,该语句输出,$age2,变量的值为,20,?,例如程序,byReference.php,:,?,php,$age1=18;,/,以下语句进行传值赋值,变量,$age1,的值,18,赋值给变量,$age2,$age2=,/,以下语句修改变量,$age2,的值,此时变量,$age2,在内存中开辟新的空间存储值,20,$age2=20;,echo$age1;/,该语句输出,$age1,变量的值为,20,echo;,echo$age2;/,该语句输出,$age2,变量的值为,20,?,3-2,变量,4.,可变变量,PHP,提供了一种特殊类型的变量:可变变量。可变变量允许,PHP,程序动态地改变一个变量的变量名,可变变量的工作原理是用一个变量的,“,值,”,作为另一个变量的,“,名,”,。,例如程序,variableNameChanged.php,:,3-3,有关变量或常量状态的函数,1.,数据类型查看函数,1gettype()函数,语法格式:string,gettype,(mixed,var,),函数功能:gettype()函数需要变量名(带,$,符号)或常量名作为参数,该函数返回变量或常量的数据类型,这些数据类型包括:integer、double、string、array、object、unknown,type等,。,2var_dump()函数,语法格式:void,var_dump,(mixed,var,),函数功能:var_dump()函数需要传递一个变量名(带,$,符号)或常量名作为参数,该函数可以得到变量或常量的数据类型以及对应的值,并将这些信息输出,。,函数说明:调试程序时,经常使用var_dump()函数查看变量或常量的值、数据类型等信息,。,3-3,有关变量或常量状态的函数,2.,检查常量或变量是否定义函数,1defined()函数,语法格式:bool,defined(string name),函数功能:检查常量是否经过define()函数定义。该函数参数为常量名(注意常量名必须带双引号或单引号),如果常量经过define()函数定义,该函数返回布尔值TRUE,否则返回FALSE,。,2,isset,(),函数,语法格式:,bool,isset,(mixed,var,),函数功能:检查变量,var,是否定义。该函数参数为变量名(带,$,号),如果变量已经定义,该函数返回布尔值,TRUE,,否则返回,FALSE,。,3-3,有关变量或常量状态的函数,3.,取消变量定义unset()函数,unset()函数语法格式:void,unset(mixed,var,),函数功能:取消变量var的定义。该函数的参数为变量名(带,$,符号),函数没有返回值,。,3-3,有关变量或常量状态的函数,4.,检查变量是否为,“,空,”,1,empty(),函数,语法格式:,boolean,empty(mixed,var,),函数功能:用于检查变量,var,是否为,“,空,”,,该函数参数,var,为变量名,(,带,$,号,),。如果变量,var,为空,则,empty(),函数返回,TRUE,,否则返回,FALSE,。,注意:使用,empty(),函数时,变量为,“,空,”,的意义为:若变量,var,的值为,“”,、,0,、,“,0,”,、,0.0,、,NULL,、,FALSE,或,array(),,都将视为空。,empty(),函数只用于检测变量是否为,“,空,”,,传递其它参数都将造成程序解析错误。,3-3,有关变量或常量状态的函数,4.,检查变量是否为,“,空,”,2,is_null,(),函数,语法格式:,boolean,is_ null(mixed,var,),函数功能:检查变量,var,是否为,NULL,,如果值为,NULL,则返回,TRUE,,否则返回,FALSE,。,函数说明:,is_null,(),函数在用于判断变量是否为,NULL,时,可以看做是,isset,(),函数的反函数。下面的三种情况变量的值为,NULL,。,(,1,)变量未经定义;,(,2,)变量的值赋值为,NULL,;,(,3,)变量经,unset(),函数处理后;,3-3,有关变量或常量状态的函数,5.,数据类型检查函数,函数名,功能,语法格式,is_bool,检测变量或常量是否是布尔型,bool,is_bool,(mixed,var,),is_string,检测变量或常量是否是字符串,bool,is_string,(mixed,var,),is_int,is_integer,is_long,检测变量或常量是否是整数,bool,is_int,(mixed,var,),is_double,is_float,is_real,检测变量或常量是否是浮点型,bool,is_float,(mixed,var,),is_numeric,检测变量或常量是否为数字或数字字符串,bool,is_numeric,(mixed,var,),is_scalar,检测变量或常量是否是标量数据类型,bool,is_scalar,(mixed,var,),is_array,检测变量是否是数组,bool,is_array,(mixed,var,),is_object,检测变量是否是一个对象,bool,is_object,(mixed,var,),is_resource,检测变量是否为资源类型,bool,is_resource,(mixed,var,),3-4 PHP,运算符,1.,算术运算符,运算符名称,用法,结果,取反,-$a,$a,的负值。,加法,$a+$b,$a,和,$b,的和。,减法,$a-$b,$a,和,$b,的差。,乘法,$a*$b,$a,和,$b,的积。,除法,$a/$b,$a,除以,$b,的商。,取余,$a%$b,$a,除以,$b,的余数。,3-4 PHP,运算符,2.,递增,/,递减运算符,运算符名称,用法,运行过程,前加,+$a,$a,的值加一,然后返回,$a,。,后加,$a+,返回,$a,,然后将,$a,的值加一。,前减,-$a,$a,的值减一,然后返回,$a,。,后减,$a-,返回,$a,,然后将,$a,的值减一。,3-4 PHP,运算符,3.,赋值运算符,赋值运算符,“,=,”,是将,“,=,”,右边表达式的值赋给左边的变量。赋值运算符产生的表达式为赋值表达式,该表达式的值为,“,=,”,左边的变量值。,PHP,还提供适合于所有二元算术养生法和字符串运算符的,“,组和运算符,”,:,+=,,,-=,,*,=,,,/=,,,%=,,,.=,等。这样可以在一个表达式中使用一个值(如,$y,)并把表达式的结果赋给它。,PHP,组合运算符,等价格式,$x+=$y,$x=,$x,+$y,$x-=$y,$x=,$x,-$y,$x*=$y,$x=,$x,*$y,$x/=$y,$x=,$x,/$y,$x%=$y,$x=,$x,%$y,$x.=$y,$x=,$x,.$y,.,.,3-4 PHP,运算符,4.,比较运算符,运算符名称,用法,比较结果,等于,$a=$b,(注意是两个等号),如果,$a,与,$b,的值相等,结果为,TRUE,;否则为,FALSE,。,全等,$a=$b,(注意是三个等号),如果,$a,与,$b,的值相等,且它们的类型也相同,结果为,TRUE,;否则为,FALSE,。,不等,$a!=$b,如果,$a,与,$b,的值不相等,结果为,TRUE,;否则为,FALSE,。,$a$b,非全等,$a!=$b,(注意是两个等号),如果,$a,与,$b,的值不相等,或者它们的数据类型不同,结果为,TRUE,;否则为,FALSE,。,小与,$a$b,如果,$a,的值大于,$b,的值,结果为,TRUE,;否则为,FALSE,。,小于等于,$
展开阅读全文