php的基本语法.ppt_第1页
php的基本语法.ppt_第2页
php的基本语法.ppt_第3页
php的基本语法.ppt_第4页
php的基本语法.ppt_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

1、Php的基本语法:,变量 变量的类型 常量 Php的运算符号,Php的基本语法介绍,1、php可以和html代码混合,但是一定要使用 可以在php中嵌入html代码。 2、还可以使用如下方法嵌入php代码(脚本) echo 看看我能不能用 ; 注释:此法不推荐。,Php的基本语法介绍,3、如果只是为了显示一个变量的值。 以结束标记是简短风格的标记,只有通过php.ini配置文件中的指令short_open_tag = on 打开后才可用,或者在php编译时加入了enable-shart-tags选项。 4、以结束标记是ASP风格的标记。 如果在php.ini配置文件设定中启用了asp_tags

2、选项就可以使用它,在默认情况下该标记是被禁用了。 5、php代码注释方法有 (1)注释多行/*多行内容*/(多行注释不能嵌套) (2)单行注释/单行内容 #unix风格单行注释,变量变量的声明,变量是用于临时存储值的容器。这些值可以是数字、文本、或者复杂得多的排列组合。Php中最基本的数据存储单元就是变量和常量,可以存储不同类型的数据。 在 php中的声明变量必须是使用一个美元符号“$”后面跟变量名来表示,使用赋值操作符(=)给一个变量赋值。 $a=67; $b=nihao; $c=false; $d=34.518; $one=$a; $two=$b; $a=$b=$c=$d=values;

3、unset()函数释放指定的变量 isset()函数检测变量是否设置 empty()函数检查一个变量是否为空。是空或无变量的则为真。,$a=false; $b=false; var_dump(bool)$a); var_dump(bool)$b);,变量变量的命名,在声明变量时要按一定的规则,比如变量名是严格区分大小写的。但内置结构和关键字以及用户自定义的类名和函数名都是不区分大小写的。 一个有效的变量名有字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线。 注意:变量名的标示符一定不要以数字开头,中间不可以使用空格,不能使用点分开等。 Php中有一些标示符是系统定义的,也称为关键字

4、。是php语言的组成部分,因此不能使用他们中的任何一个作为常量、函数名或类名。但是和其他语言不同的是可以在php中作为变量名称使用,不过这样容易混淆,最好不要以php的关键字作为变量名称。 $蜀国皇帝=刘备; echo $蜀国皇帝;,变量可变变量,一个变量的变量名可以动态地设置和使用。一个普通的变量通过声明来设置,而一个可变变量获取了一个普通变量的值作为这个可变变量的变量名。 $nihao=hanguo; $nihao=韩国; echo $hanguo; echo $nihao;,$laoda = 刘备; $laoer = 关羽; $laosan = 张飞; $who = $_GETwho;

5、$shui = who; $hao=shui; echo $who,; echo $hao;,在php中,关于变量名,关于函数名,对象名,类名,都非常灵活,可以用变量来表示。,变量变量的赋值和引用赋值,当一个变量的值赋予另外一个变量时,改变其中一个变量的值,将不会影响到另外一个变量。 引用赋值,这意味着新的变量简单的引用(成为其别名或指向)了原始变量。改变新的变量将影响到原始变量,反之也一样。 使用引用赋值,将一个“,只要其中的任何一个有所改变,都会影响到另一个变量。 注意:只要有名字的变量才可以引用赋值。(存折和卡的关系),$a=100; function nihao(,赋值和引用赋值小案例

6、:,$nihao=nihao; if(empty($nihao) echo 我是空的; if(isset($nihao) echo 我已经设置了; unset($nihao); if(isset($nihao) echo 我已经设置了; else echo 我没有了; ,变量变量的声明,echo 不是一个函数,而是一个语言结构, (语言固有的一个输出控制) 允许通过,多个输出。PHP的语法,允许 echo 通过, 连续打印多个字符.,Php数据类型,变量的类型类型介绍,Integer(整型),变量的类型类型介绍,php是一种弱类型检查的语言。和其他语言不同的是,变量或常量的数据类型有程序的上下

7、文决定。在强类型语言中,变量要先指定类型,然后才可以存储对应指定类型的数据。而php等弱类型语言中,变量的类型是由存储的数据决定的。 可使用函数var_dump()来查看某个表达式的值和类型 $one=true; $two=yellow; $five=1222; $six=34.456; var_dump($one); var_dump($two); var_dump($five); var_dump($six);,如果只写$a,但是没有赋值,究竟$a是什么值,可以var_dump($a);,变量的类型整型,1、在php中一个整型数据可以用十进制,也可以用八进制和十六进制; $a=0123;

8、(八进制) $b=0 x1A;(十六进制) 但在表达式中计算的结果均以十进制数字输出。 2、Php不支持无符号整数,如果给定的一个数超出了integer的这个范围,将会解释为float。一个数总是要占用内存空间(字节),在php中,一个整数一般占用4个字节(与平台相关),,一个字节占用8bit,最高位表示符号位,0为正数,1为负数,变量的类型整型,3、通过PHP_INT_SIZE可以显示我们自己的机器一个整数用几个字节表示 一个整数究竟最大是PHP_INT_MAX 思考:为什么PHP_INT_MAX是2147483647 思考:php的int型,负数最大表示多少,-2147483647 $on

9、e=-2147483648; var_dump($one);,变量的类型浮点数,1、浮点数也叫双精度数或实数. 2、浮点数的字长和平台相关,通常最大值是1.8e308,并且有14位十进制数字的精度(这个限制很重要),浮点数的精度是14位(从左边开始计算,第一个非0数就是精度开始) 3、浮点型(即为小数型):浮点型在计算中用二进制存储,转10进制有误差。如果追求精度,比如存钱时,可以用整形存,比如用分来存储。 $a=0.00001234567890123499; echo $a;,变量的类型字符串,1、一个字符串就是由一系列的字符组成,因此一个字符就是占用一个字节。 2、php对字符串长度的限制

10、只和运行php程序的该台计算机的内存大小有关,即php字符串可以足够大。 3、字符串常见的定义方法 单引号 $a=nihao; 双引号$a=“nihao”; 理论上,我们对字符串大小没有限制,即只有不超过内存即可。,变量的类型字符串,单引号和双引号区别: (1)单引号可以使用转义字符(),但只能转义在单引号中引起来的单引号和转义转义符本身。 $v=abcd; echo $v; $v1=abcd; echo $v1; $v3=abcd; echo $v3; $v4=abcd; echo $v4; /结论:双引号解析双引号的,单引号解析单引号的。,(2)php不会解析单引号中的变量,而是将变量原样

11、输出。 所以在定义简单字符串时,使用单引号时效率会更高,因为php解析时不会花费一些处理字符转义和解析变量上的开销。 (3)双引号会解析双引号中的包含变量。 $one=nihao; echo this is a $ones; echo this is a $ones; 如果是复杂的语法,可以用花括号括起一个表达式。 (4) $han=刘备; echo 欢迎$han来到这里; echo 欢迎$han来到这里;,变量的类型字符串,单/双引号转义的不同,变量的类型字符串,定界符:给字符串定界的方法使用定界符语法(“ 欢迎你来到这里 我们是朋友 百度 (此处不要有空格或其他字符)hanguo; ech

12、o $han; 定界符最后不要有空格。定界符也可以识别变量.,变量的类型字符串,变量的类型布尔型,(1)在php进行关系运算(或称比较运算),以及布尔运算(或称逻辑运算)时,返回的都是布尔结果。简单说,布尔类型就是两个值true,false,不区分大小写。 $a=true;$b=false; (2)一下值都会被当做false对待 布尔值false自身 整数值0 浮点型0.0 空字符串,以及字符串“0”。注:”00”则非假 不包括任何元素的数组 不包括任何成员变量的对象(仅适用于php4) 特殊类型NULL(包括尚未设定的变量),var_dump(bool); var_dump(bool)0);

13、 var_dump(bool)1); var_dump(bool)34.8); var_dump(bool)array(1); var_dump(bool)array(); var_dump(bool)false); var_dump(bool)true); var_dump(bool)NULL); var_dump(bool)$A);,变量的类型NULL 类型,特殊的NULL值表示一个变量没有值,NULL类型唯一可能的值就是NULL。NULL不表示空格,也不表示零,也不是空字符串,而是表示一个变量的值为空。NULL不区分大小写。 在下列情况下一个变量被认为是null。 (1)将变量直接赋值为

14、null (2)声明的变量尚未被赋值 (3)被unset()函数销毁的变量 $a=null; $b=hanguo; unset($b); var_dump($a); var_dump($b); var_dump($c);,变量的类型数据类型之间相互转换,类型转换是指将变量或值从一种数据类型转换成其他数据类型。 转换方法:自动转换和强制转换。 1、自动转换: 在php中如果没有明确地要求类型转换,都可以使用默认的类型自动转换,自动转换通常发生在不同数据类型的变量混合运算时,若参与运算量的类型不同,则先转换成同一类型,然后再进行运算。 (1)有布尔型值参与运算时,TRUE将转化为整型1,FALSE

15、将转化为整型0后再参与运算。 (2)有NULL值参与运算时,NULL值转化为整型0再进行运算。 (3)有int型和float型号参与运算时,先把int型变量转成float类型后再进行运算。 (4)有字符串和数字型(int,float)数据参与运算时,字符串先转换为数字,再参与运算。 如:“678hanguo”转换为整数678,“456.789nihao”转为浮点数是456.789,“hanguoniaho”转为整数0.,变量的类型数据类型之间相互转换,$nihao=500hanguo; $nihao=$nihao+5; $nihao=$nihao+5.5; echo $nihao; $long

16、=null+600nihao; echo $long; $long=6+a55.5long; echo $long;,变量的类型数据类型之间相互转换,2、强制类型转换: 在php中的类型强制转换和其他语言很相似,在要转换的变量之前加上用括号括起来的目标类型,也可以使用具体的转换函数。 $a=10; $b=(float)$a; var_dump($b); (int),(integer)转换成整型 (bool),(boolean)转换成布尔型 (float),(double),(real)转换成浮点型 (string)转换成字符串 (array)转换成数组 (object)转换成对象,变量的类型数

17、据类型之间相互转换,3、也可以使用具体的转换函数: intval()获取变量的整数值, floatval()用于获取变量的浮点值, strval()用于获取变量的字符串值 $a=123.45nihao; $int=intval($a); echo $int; $flo=floatval($a); echo $flo; $str=strval($flo); echo $str; 注意:只针对标量类型,对象和数组不支持。,4、以上两种类型的强制转换都没有改变这些被转换变量本身的类型,而是通过转换将得到新类型的数据赋值给新的变量,原变量的类型和值不变。若需要将变量本身的类型改变成其他类型,可以使用s

18、ettype()函数来设置变量的类型。 $nihao=123nihao; $bar=true; var_dump($nihao); var_dump($bar); echo ; settype($nihao,integer); settype($bar,string); var_dump($nihao); var_dump($bar); $han=nihao; settype($han,array); print_r($han);,变量的类型数据类型之间相互转换,变量的类型数据类型之间相互转换,5、类型转换细节:整数转化为浮点型,由于浮点型的精度范围远大于整型,所以转化后的精度不会改变。浮点型

19、转化为整型,将自动舍弃小数部分,只保留整数部分。如果一个浮点数超过整型数字的有效范围,其结果将是不确定的。 $nihao=354354545454564666; $a=(int)$nihao; var_dump($a); 当字符串转化为数字时,转化后的数字是从字符串开始部分的数值型字符串,数组型字符串包括用科学计数法表示的数字。Null值转为字符串,为空字符串。 $a=123abc456; $b=(int)$a; echo $b; $a=null; $b=(string)$a; var_dump($b);,变量的类型数据类型之间相互转换,6、变量类型的测试函数 Php提供的一些特定类型的测试函

20、数。每个函数都使用一个变量作为其参数,并返回true或flase。 is_bool();判断是否布尔型。 is_int()、is_integer()、is_long();判断是否整型。 is_float()is_double()is_real();判断是否浮点数。 is_string():判断是否是字符串。 is_array();判断是否是数组。 is_object():判断是否是对象。 is_resource():判断是否是资源类型。 is_null(): 判断是否为空。,变量的类型数据类型之间相互转换,is_scalar()判断是否是标量,也就是一个整数、浮点数、布尔型或字符串。 is_n

21、umeric():判断是否是任何类型的数字或数字字符串。 is_callable();判断是否是有效的函数名。 $a=true; $b=nihao; $c=12; echo gettype($a); var_dump($b); if(is_int($c) $c+=15; echo $c; if(is_string($b) echo string:$b; if(is_bool($a) echo boolean:$a; ,常量常量的定义和使用,在php中是通过define()函数来定义常量的。其命名规则与变量相似,常量默认为大小写敏感,按照惯例常量标识符总是大写的,但是不要在常量前面加上“$”符号

22、。 此函数的第一个参数为常量名,第二个参数为常量的值或是表达式,第三个参数是可选的,若把第三个参数设为TRUE,则常数将会定义成不区分大小写。 define(NIHAO,150,true); echo NIHAO; echo nihao; 使用defined()函数,检查常量是否存在,如果存在则输出常量的值。 define(NIHAO,100.90,true); if(defined(NIHAO) ECHO NIHAO; ,常量能表示的值的类型,只能是 数值(整型,浮点),字符,布尔,NULL型,常量的值不能是数组,对象,资源.,常量常量的定义和使用,常量:一旦定义不允许修改,不能删除。定义语

23、法:define(“常量名”,”常量值”); define(PIE,3.14); PIE = 99;错误,常量不能赋值,只能define声明。 unset(height); /错误,常量不能清除。 变量名可以是动态的,常量名也可以是动态的。用法不同于变量名。需要用一个函数来读取常量的值。即constant(常量名):该函数返回常量的值。 案例: define(LAODA,刘备); define(LAOER,关羽); define(LAOSAN,张飞); $who = $_GETwho; echo $who,; echo constant (LAODA),; echo constant($who

24、),; ;几个系统常量:M_PI、PHP_OS 、PHP_VERSION,常量在页面的任何地方 ,包含函数内部,对象的方法内部,数组内部,都可以读取到。,(1)常量前面没有美元符号($)。 (2)常量只能用define()函数来定义,而不能通过赋值语句。 (3)常量可以不用理会变量范围的规则而在任何地方定义和访问。 (4)常量一旦定义就不能被重新定义或者取消定义。 (5)常量的值只能是标量。,常量和变量的区别:,常量预定义常量,在php中,除了可以自己定义常量外,还预定义了一系列常量,可以在程序中直接使用来完成一些特殊功能。,常量预定义常量,echo PHP_OS; echo PHP_VERS

25、ION; echo _FILE_; echo _LINE_ ;,包括加减乘除取模。 +自加:$a+;等价于$a=$a+1 -自减:$b-;等价于$b=$b-1 细节:分为前+和后+ $b=$a+;等价于$b=$a;$a=$a+1 $b=+$a;等价于$a=$a+1;$b=$a; 快速入门: (1) $a=10; $b=$a+; echo $a; echo $b; (2) $a=10; $b=($a+)+(+$a); echo $a; echo $b;,PHP中的运算符算术运算符,$num=rand()%10; echo $num; 让一个随机数不超过10,闰年条件: If($year%4=0

26、$b=,PHP中的运算符字符串运算符,在php中字符串运算符只有一个,是英文的句号(.)也叫做连接运算符。该运算符不仅可以将两个字符串连接起来,变成合并的新字符串。也可以将一个字符串和任何标量数据类型相连接,合并成的都是新的字符串。 入门1: $name=韦小宝; $height=1.85; $age=23; $s=我的名字是.$name.年龄是.$age.身高是.$height; echo $s; 入门2: $a=hanguo; $b=nihao; $c=$a.$b; $c=$a$b; $c=implode(,array($a,$b); echo $c;,只要有小点,不管以前是什么类型均当为

27、字符串连接。 $a=678; $b=673.45; echo $a.$b;,一道面试题 以下语句谁的速度最快 (1)单引号,双引号都能表示字符串,谁的速度快? 单引号快 (2)echo 是一个语言结构 echo hello . . world . !; 下一行,先把3个字符串连接成一个字符串,经过运算,然后又输出的. print_r(hello . . world . !); echo hello . . world . !; 下一行,是连接输出3个字符串,根本不用运算,所以速度最快. echo hello , , world . !;,PHP中的运算符赋值运算符,赋值运算符也是一个二元运算符

28、,它左边的操作数必须是变量,右边可以是一个表达式。赋值运算符的返回结果就是右侧的值echo ($a = 5),;,相除运算在PHP中,两个整数相除,可能得到浮点数.这一点和java,c不一样,请注意echo 3/2; / 1.5,PHP中的运算符比较运算符,比较运算符也称关系运算符,又称条件运算符,用于对运算符两边的操作数进行比较。其结果只能是布尔值。,当使用“=”运算符进行比较其两边的操作数时,它只关心参与比较的两个操作数的“值”是否相等,而无论类型是否相同。实际上“=”是先将两个操作数自动转为相同类型,然后再进行比较。,赋值运算符,是把右侧的字面值,或者变量值,赋给左侧的变量,= 全等于(

29、值相等,类型也相等)案例: if(false != strpos(ehance,e) echo 有e; else echo 没有e; ,PHP中的运算符比较运算符,PHP中的运算符逻辑运算符,逻辑运算符只能操作布尔型数值,处理后的结果也是布尔型数值。,案例一、 $name=hanguo; $password=nihao123; $email=; $phone=12345678; if($name=hanguo,PHP中的运算符逻辑运算符,注意:短路与和或,利用短路或:$fp=fopen(nihao.php,r)or die(文件不存在);,PHP中的运算符位运算符,位运算用于对操作数中的每一个

30、二进制位进行运算,包括位逻辑运算符和位移运算符,没有借位和进位。位运算符允许对整型数中指定的位进行置位。如果左右参数都是字符串,则位运算符将操作字符的ASC2值,浮点数也会自动转换为整数再参与位运算。,PHP中的运算符位运算符,注意:位运算时的数据类型为string/integer,分析时要化为二进制形式,但在程序中书写及输出结果时为string/integer。 $a=23; $b=45; $c=$a,$a=nihao; $b=hanguo; $c=$a,var_dump(true,PHP中的运算符其他运算符,(1)三元运算符(?:) (表达式1)?(表达式2):(表达式3) 在表达式1求值为真时,执行表达式2并获取其值,在表达式1求值为假时,执行表达式3并获取其值。 $a=23; $b=45; $c=34; $a20?$b-:$c+; echo $b; echo $c; $name=!empty($_GETusername)?$_GETusername:没有数据;,PHP中的运算符其他运算符,(2)执行运算符号() Php将尝试将反引号中的内容作为操

温馨提示

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

评论

0/150

提交评论