1、PHP教学教案二PHP教学教案(第二天)上午第四章(PHP语言基础) PHP的运算符 PHP的表达式 自定义函数 在函数间传递参数PHP的运算符运算符是对变量、常量或数据进行计算的符号。PHP变量包括:算术、逻辑、比较、字符串、递增、递减、位运算、执行、错误控制这一系列运算符。算术运算符:+加计算两个整数的和或连接两个字符串-减计算两个整数的差值*乘计算两个整数的乘积/除计算两个整数的商%(MOD)取模计算两个整数相除的余数演示实例:注意: /为精除,即带小数的除法。 %如果被除数或除数是负数。则结果也是负数。 不要采用浮点数求余。示例:书上P98页字符串运算符:字符串运算符只有一个,即英文句
2、号“.”注意: “+”在PHP里只做算术计算。不能连接字符串。 如果AppServ支持逗号“,”也可以完成连接操作。示例:php_plus.php再示例:书上P99赋值运算符:“=”把右边的数赋值给左边的变量。除了简单的“=”之外。还有一些操作符和赋值号一起使用的。如 +=、.= 参考书上P100?php$Myvar=Add;$Myvar.= Something;echo $Myvar;echo ;$Myint=1;$Myint+=1;echo $Myint;?再示例:php_pointDeng.php位运算符:二进制数从低位到高位的排列计算& 与、| 或、 异或。示例:php_wei.php
3、递增或递减运算符:递增运算符:+递减运算符:-此类操作符也称之为一目(元)运算符,表示操作数只有一个,可以写在操作数之前也可以写在操作数之后,但自增减和参加运算的时间点不一样。如果没有参加任何计算。只做累加处理,这时就不用考虑递增减的先后顺序了示例:P102逻辑运算符:在PHP中逻辑运算符有如下:& 或 and两边结果为真则真| 或 or两边结果有真则真xor (异或)两边结果不同为真!(逻辑非)真为假,假为真注意:在php中逻辑与和逻辑或有4种运算符。其中属于同一个逻辑结构的两个运算符之间有着不同的优先级。(or 和 and)高于(| 和 &)建议尽量不要混合使用,以避免错误比较运算符:=等
4、于(值相等)!=不等于大于=大于等于=小于等于=等价于(值相等,数据类型也相等)注意:等于与等价于的区别。示例:php_comp.php。再示例:P106三元运算符:(expr1) ? (expr2) : (expr3) 如果表达式1返回结果为真则计算表达式2,否则计算表达式3。如:?php$Num1=13;$Num2=12;echo “1=” . $Num1=$Num2 .”;/不返回任何东西,表示假$Num1=12.0;$Num2=12;echo “2=” . $Num1=$Num2 . “”;echo “3=” . $Num1=$Num3 . “”;/不相同的数据类型?错误屏蔽错误屏蔽运
5、算符可以对程序中出现的错误的表达式进行操作。进而对错误进行隐藏。但错误依然存在。方式就是在错误的表达式前加“”符号。如:$err=5/0;/执行后会报错$err=(5/0);/执行后不会报错运算符的优先级查看书P109页表格。小括号可以改变优先级的顺序PHP的表达式PHP表达式是通过具体代码来实现的。使用分号来结束表达式。称为一条PHP语句。自定义函数把使用频率平凡的代码组织起来作为一个整体的调用我们把这样的代码组织叫做函数。定义和调用函数function fun_name($args1) /code /return示例:php_fun1.php思考:5的阶乘用函数在函数间传递参数在PHP中函
6、数的参数传递有三种方式: 按值传递 按引用传递 默认值传递按值传递参数在传参数给函数时,传的是原值的副本。而在函数中对传入值的改动不影响原值的这种传值方式称为按值传递。示例:php_fun2.php一般传递的为简单普通变量如:int,float等按引用传递在传入函数内部的是原值的地址。而函数是原值的引用。所以改变的自然是原值了。也就是说如果函数内部改变,函数外也随之改变。示例:php_fun3.php传递默认的参数值函数需要一个参数,而调用时又没有提供。则采用默认值参数,语法:function fun_name($args=value) 示例:php_fun4.php注意: 如果函数有两个后两
7、个以上参数时,需要把带默认值的参数写在没有带默认值的参数的后面 php在参数上允许有默认值。则php没有函数重载函数的返回值return语句list语句从函数中返回多个值(数组)的时候可以采用list。示例:php_list.php第五章(流程控制)熟悉PHP的算法和控制结构,逐步培养统筹全局的编程思想 条件控制 循环控制 跳转语句 流程控制语句的嵌套条件控制条件语句 ifelse. ifelse if else switchcase示例:php_if_switch.php循环语句在PHP中条件循环语句有: for while whileendwhile dowhile foreach举例fo
8、r知道具体循环次数的循环体for($Myval=1;$Myval=10;$Myval+) statement;思考:如果写成for(,)那如果循环5次并且输出变量内容该怎么写while指定循环结束条件1) 只要表达式的值为真就执行循环体,知道表达式的值为假。2) while最少执行为0次$Num=5;while($Num10) statement; $Num+;whileendwhile与while相似,只是不采用大括号。而使用分解符(endwhile)$Num=1;while($Num=10): echo $Num; $Num+;endwhile;注意:需要在while条件后使用冒号: 结束
9、时加分号;表示语句的结束dowhile与while相似,但在dowhile语句会在判断条件之前先执行一次循环体。即最少执行一次。判断条件还是一样。如果条件为真则继续执行循环体。直至条件为假$Num=1;do echo $Num; +$Num;while($Num20);foreach循环遍历一个数组或对象中的每个都要执行的代码。在数组的所有元素已计算完毕之后,控制才离开循环。?php$arrayval=array(12,22,32,72);foreach($arrayval as $currval) echo $currval . ;?数组以键值方式存储的循环输出方式1, Monday=2,
10、Tursday=3);foreach($arrayval as $tempval=$currval) echo $arrayval . . $tempval . .$currval . ;?嵌套控制循环for() for()break和continue语句break:结束当前循环的执行,并把控制返回给紧跟在该循环后面的下一个语句。Continue:跳过在循环体本次循环的下面语句,从下一次循环继续开始示例汇总:php_for_while.php下午数组数组是一组数据的集合。数组中的每个数据称为一个元素。在php中元素可以是多种数据类型。在PHP中数组可以分为三类: 枚举数组 关联数组 多维数组枚
11、举数组:下标为整数的数组称为枚举数组或数字索引数组,每个独立的元素都可以通过索引号来引用。如:students2创建示例关联数组:使用一个键值对(字符串作为数组元素的索引)来保存值或名称。如:Jame,name2=Jack,name3=Mary);echo $Studentname3;/Mary?创建示例多维数组:数组元素值中存放的又是数组,那么该数组就称为多维数组。多维数组可以是二维也可以是三维或四维。如:(二维数组)array(name=James,sex=Male), 1=array(name=Hony,sex=Female);echo $Student0sex;?示例汇总:php_ar
12、ray.php数组的取元素一维枚举:$array0一维关联:$Student“name3”二维枚举:$Student01二维关联:$Student“0”“sex”创建示例初始化数组数组可以用两种方式初始化 数组标识符 array()函数数组标识符:即使用空括号,如:默认情况,下标按顺序分配给数组,但也可以为数组随机分配下标$Student110=Tom;/下一个下标会在10之后,即11如:使用array()函数Mick,Mile);/Mile的下标为6echo $Student26;?PHP数组可以混合存放华育国际);echo $arry0;echo ;echo $arryeduask;?注意
13、:声明数组后,数组中的元素个数还可以自由更改,只要给数组赋值,数组就会自动增加长度。代码汇总:php_array2.php使用数组使用内置函数来操作数组 count()数组大小 array_slice()拷贝指定数组内容 array_shift()删除数组的第一个元素 array_push()追加数组 array_merge()合并两个数组 array_intersect()-计算数组的交集,即连个数组都出现的数据 array_unique()-从两个数组中,不重复的数据 array_reverse()倒序数组示例代码:php_array_fun.php数组的循环操作使用foreach可以访问
14、每个元素,foreach可以循环多值变量?php/枚举数组$Student=array(Jame,Mick,Mile);foreach($Student as $new) echo $new . ;?/$new定义为普通变量,变量名可以随便定义关联数组采取键和值一起循环的方式读取Jame, stud2=Mick, stud3=Mile);foreach($Student as $stud=$name) print $stud . = . $name . ;?注意:关联数组如果采用foreach($Student as $name) /则$name会读取值,键名就自动不读取示例汇总:php_fo
15、reach.phpeach()函数循环读出数组Jame,name2=Jack,name3=Mary);list($key_name,$val)=each($Student);echo($key_name);echo($val);?/each()会每次读取数组中的每行数组,并赋值到list所对应的变量中示例: php_each.phpkey()用于返回当前指针位置的数组元素键值mixed key(array arr)示例:php_key.phpreset()用于将该函数参数内的数组指针重置到数组的开始位置mixed reset(array input)示例:php_reset.phpend()将
16、数组指针指向最后一个元素mixed end(array input_array)next()将数组指针指向下一个元素prev()将数组指针指向上一个元素current()用于返回当前指针位置的数组元素值。(关联数组较多)mixed current(array input)示例:php_current.php还有array_php()array_unshift()array_pad()数组排序sort()按数字或者字母顺序给数组升序排序?php/数组排序$Student4=array(23,67,2,14,90,72);sort($Student4);foreach($Student4 as $
17、new4) echo $new4 . ;?但注意下列代码的运行结果John Smith,AS=Xames Patt);sort($Student);foreach($Student as $key=$new) echo $key . = . $new . ;?注意:sort()函数会把关联数组的键值改写成数值型。如果要避免这个情况使用asort(); 关联数组的排序会根据值的ASCII字母依次排序rsort()与sort一样,只是排列为倒序排列arsort()与asort一样,只是排列为倒序排列ksort()对关联数组的下标升序排序krsort()用法同上,降序排序usort()多维数组排序示
18、例汇总:php_sort.php数组顺序随机化处理示例:php_range.php数组函数print_r()输出将数组结构bool print_r(array arr)示例:php_print_r.phpin_array()在数组中查找指定的元素,查找成功则返回true,否则返回falsebool in_array(string str,array arr)参数:str:要查找的字符串arr:查找数组bool:查找结果示例:php_in_array.phparray_keys()返回由某数组所有键值组成的数组array array_keys(array input)参数:input 指定取键值的数组返回数组示例:php_array_keys.phparray_key_exists()用于判断键值是否为该函数参数所指定的数组的键值。返回true or falsebool array_key_exists(string key,array arr)示例:php_array_key_exists.phparray_values()用于返回指定数组中的所有元素值array array_values(array arr)示例:php_array_values.php网页效果图的制作
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1