配色: 字号:
Web编程技术十
2020-05-01 | 阅:  转:  |  分享 
  
追梦紫衣书阁《Web编程技术》最后编辑时间:2020-5-1任务四:函数与数组PHP内置函数——数学函数函数名功能描述abs()绝对值cei
l()向上取最接近的整数floor()向下取最接近的整数fmod()返回除法的浮点数余数is_nan()判断是否为合法数值max(
)返回最大值函数名功能描述min()返回最小值pi()返回圆周率的值pow()返回x的y次方sqrt()平方根round()对浮点
数进行四舍五入rand()返回随机整数任务四:函数与数组PHP内置函数——数学函数echoceil(5.2); //输出结果:6
echofloor(7.8); //输出结果:7echorand(1,20); //随机输出1到20间的整数ceil()函
数是对浮点数5.2进行向上取整floor()函数是对浮点数进行向下取整rand()函数的参数表示随机数的范围,第1个参数表示最小值
,第2参数表示最大值。任务四:函数与数组PHP内置函数——日期函数Unix时间戳是一种时间表示方式,定义了从格林威治时间1970年
01月01日00时00分00秒起至现在的总秒数。其中,1970年01月01日零点也叫作Unix纪元。函数名功能描述time()返回
当前的Unix时间戳date()格式化一个本地时间/日期mktime()取得一个日期的Unix时间戳strtotime()
将字符串转化成Unix时间戳microtime()返回当前Unix时间戳和微秒数任务四:函数与数组PHP内置函数——日期函数d
ate()函数第1个参数表示格式化日期时间的样式date()函数第2个参数表示待格式化的时间戳,省略时表示格式化当前时间戳。参数说
明Y4位数字表示的完整年份,如1998、2015m数字表示的月份,有前导零,返回值01~12d月份中的第几天,有前导零,返回值01
~31H小时,24小时格式,有前导零,返回值00~23i有前导零的分钟数,返回值00~59s有前导零的秒数,返回值00~59//输
出结果:2015-08-2115:33:07echodate(''Y-m-dH:i:s'');//输出结果:2015-08-21
echodate(''Y-m-d'',1440142043);任务四:函数与数组PHP手册由于PHP提供了丰富的内置函数,涉及到
Web开发的各个方面,如前面讲解到的处理字符串的相关函数、日期格式化的各个字符等。然而,即使经验再丰富的编程人员,也不可能记住所有
函数的用法,这时就需要查阅PHP手册进行学习和研究。任务四:函数与数组PHP手册——使用步骤打开官方网址http://www.ph
p.net/manual/zh/index.php,可看到PHP手册的首页界面在search(搜索)栏中输入要查找的函数名称按回车
键,就会显示该函数的详细信息任务四:函数与数组PHP手册——界面介绍函数作用说明讲解参数讲解返回值介绍更新日志展示范例任务四:函数
与数组包含语句PHP提供了包含语句,可以从另一个文件中将代码包含进来。使用包含语句不仅可以提高代码的重用性,还可以提高代码的维护和
更新的效率。IncludeRequireinclude_oncerequire_oncePHP中提供的包含语句:任务四:函数与数组
包含语句下面以include语句为例讲解,其它包含语句语法类似。“路径路径”指的是被包含文件所在的绝对路径或相对路径。所谓绝对路径
就是从盘符开始的路径,如“C:/web/test.php”。所谓相对路径就是从当前路径开始的路径,假设被包含文件test.php与
当前文件所在路径都是“C:/web”,则其相对路径就是“./test.php”。在相对路径中,“./”表示当前目录,“../”表示
当前目录的上级目录。//第一种写法:include''文件路径'';//第二种写法:include(''文件路径'');任务四:函数与数
组包含语句require语句与include语句的异同点:相同点:require语句与include语句的功能类似,都可以用于包含
文件。不同点:在包含文件时,如果没有找到文件,include语句会发生警告信息,程序继续运行。在包含文件时,如果没有找到文件,r
equire语句会发生致命错误,程序停止运行。任务四:函数与数组包含语句带_once与不带_once语句的区别include_on
ce、require_once语句,与include、require的作用几乎相同。带_once的语句会先检查要包含的文件是否已经
被包含过,避免了同一文件被重复的包含。任务四:函数与数组PHP数组——综合习题1.定义一个字符串,内容为本人的身份证号,根据身份证
号输出身份证号的位数及出生年月日。2.用日期函数输出当前的年月日时分秒,以学号为时间戳,用日期函数输出学号为时间戳对应的年月日时分
秒,用日期函数输出学号为时间戳对应的星期信息。任务五:Web交互在Web开发中,浏览器与服务器之间经常需要进行交互。例如,在线考试
系统中,答题的页面就是Web表单页面,用户答题完毕后进行交卷,就是将浏览器中的Web表单提交给PHP服务器进行接收和相应的处理,这
一个过程就是Web交互。任务五:Web交互GET传参在使用PHP函数时,一个函数可以接收多个参数。同理,PHP脚本文件也可以接收参
数,其传递参数的方式是通过URL地址实现的。http://www.bxg.com/test.php?name=Tom&age=12
文件名test.php后面从“?”开始的部分就是传递的GET参数name和age是参数的名称Tom和12是相应的参数值多个参数之间
使用“&”进行分隔。任务五:Web交互WEB表单在实现浏览器向服务器发送数据时,除了用URL传递参数,还可以使用Web表单来实现。
在表单中的提交方式中,“method=post”表示表单以POST方式提交,当省略“method”属性时默认以GET方式提交。相比
GET方式,POST方式提交的数据是不可见的,在交互时相对安全,因此通常情况下使用POST方式提交表单数据。任务五:Web交互WE
B表单method属性表示提交方式action属性表示提交的目标地址,如果省略,表单则提交给当前页面进行处理。当单击按钮时,表单中
具有name属性的元素会被提交,提交数据的参数名为name属性的值,参数值为value属性的值。t"action="reg.php"><
inputtype="password"name="pwd"value=""/>value="提交"/>任务五:Web交互常用表单控件——单选按钮e="binary"value="yes"/>对e="no"/>错对于一组单选按钮,它们应该具有相同的name属性和不同的value属性。当表单提交时,如果选中单选按钮“对”
,则提交的数据为“binary=yes”若两个单选按钮都没有被选中,则name属性为binary的数据不会被提交。任务五:Web交
互常用表单控件——下拉菜单济南ptionvalue="天津">天津大连value="其他">其他对于下拉菜单,它提供了有限的选项,用户只能选择下拉菜单中的某一项。
如果用户选择“大连”并提交表单,则提交的数据为“city=大连”。任务五:Web交互常用表单控件——复选框"checkbox"name="hobby[]"value="篮球"/>篮球name="hobby[]"value="羽毛球"/>羽毛球by[]"value="排球"/>排球="乒乓球"/>乒乓球一组复选框可以提交多个值,因此复选框的name属性使用“hobby[]”数组形式。当用户勾选“羽毛球”和
“乒乓球”时,提交的hobby数组有两个元素:羽毛球和乒乓球。当用户没有勾选任何复选框时,表单将不会提交hobby数据。任务五:W
eb交互获取外部数据当PHP收到来自浏览器的外部数据后,会自动保存到超全局变量数组中。超全局变量是PHP中预定义好的变量,可以在P
HP脚本的任何位置使用。常见的超全局变量有“$_GET、$_POST”等,通过GET方式提交的数据会保存到$_GET数组中,通过P
OST方式提交的数据会保存到$_POST数组中。$_GET和$_POST的使用完全相同,接下来以$_POST为例进行详细讲解。任务
五:Web交互获取外部数据——查看来自表单提交的数据$_POST实际上就是一个数组,其用法和普通数组没有区别。//输出所有的元素v
ar_dump($_POST);//输出指定元素echo$_POST[''name''];任务五:Web交互获取外部数据——判断表
单数据是否存在用户通过POST方式进行表单提交时,若没有添加任何数据,则$_POST中就没有相应的数组元素。因此在取出数组元素之前
,应该先判断数组中是否有这个元素任务五:Web交互获取外部数据——判断表单数据是否存在//获取$_POST中的name元素,没有时
默认为空字符串$name=isset($_POST[''name''])?$_POST[''name'']:'''';isset(
)用于判断变量或数组元素是否存在存在时返回true不存在时返回false任务五:Web交互获取外部数据——判断数据是否为空当需要判
断表单中“name”属性是否为空时,可以使用empty()函数。if(empty($_POST[''name''])){//没有收到
name,或name的值为空}用empty()函数判断数组元素是否为空,为空时返回true,元素不存在时也返回true。任务五:W
eb交互过滤外部数据在开发PHP程序时,为了便于调试,会将用户输入的内容直接显示到网页中。但是当网站上线时,如果不对用户的输入
进行任何过滤,会带来安全风险。
用户名:
div>来访时间:
2015-03-18
任务五:Web交互过滤外部数据上述代码将一个来自POS
T方式提交的username字段直接输出到网页中。如果用户输入“
”,那么网页结构会遭到破坏。如果用户输入ipt>标记和JavaScript代码,那么这些代码也会被浏览器执行,从而威胁到网站的安全。任务五:Web交互过滤外部数据——
nl2br()函数nl2br()函数可以将字符串中的“\n”转换成HTML换行符。echonl2br("传智\n播客",fal
se);//输出结果:传智
播客nl2br()函数的第二个参数用于设置使用XHTML兼容换行符,默认值为true。当第二个
参数设置为false时,会将字符串中的“\n”转换成
,否则转换为
。任务五:Web交互过滤外部数据——trim()
函数trim()函数可以去除字符串左右两端的空白字符,包括空格、换行和制表符等。echotrim(''测试''); //输出结
果:“测试”echotrim(''测试''); //输出结果:“测试”echotrim("\n\t测试"); /
/输出结果:“测试”任务五:Web交互过滤外部数据——intval()函数intval()函数可以将字符串转换为整型。echoi
ntval(''123abc''); //输出结果:123echointval(''123abc''); //输出结果:123ech
ointval(''abc123''); //输出结果:0任务五:Web交互过滤外部数据——htmlspecialchars()函
数htmlspecialchars()函数可以将字符串中的HTML特殊字符转换为HTML实体字符,从而防止被浏览器解析。e
chohtmlspecialchars(''<测试>''); //输出结果:“<测试>”echohtmls
pecialchars(''测试'');//输出结果:“<b>测试</b>”任务五:Web交互
GET传参处理在通过URL地址传递参数时,特殊字符在URL中直接书写可能会出现问题。例如,“&”符号已经被作为参数分隔符,如果参数
值中也出现该符号,就会被误识别为分隔符。因此,当通过PHP输出一段带有GET参数的URL地址时,最好使用urlencode()函数
对GET参数进行编码任务五:Web交互GET传参处理——示例$name=''A&BC'';$name=urlencode($
name);//URL编码echo"http://www.bxg.com/test.php?name=$name";上述代码
的输出结果为:http://www.bxg.com/test.php?name=A%26B+C任务五:Web交互GET传参处理——
示例在通过$_GET接收参数时,获得的数据已经是URL解码后的结果,无需手动进行URL解码。ThankYou《Web编程技术
》立体化教程项目组le>双色球
双色球彩票开奖程序''; //创建一个1~33的红色球号码区数组 $red_
num=range(1,33); //随机从红色球号码区数组中获取6个键 $keys=array_rand($red_num,6); //打乱键顺序 shuffle($keys); //根据键获取红色球号码区数组中相应的值 foreach($keysas$v){ //判断:当红球号码是一位数时,在左侧补零 $red[]=$red_num[$v]<10?(''0''.$red_num[$v]):$red_num[$v]; } //随机从1~16的篮色球号码区中取一个号码 $blue_num=rand(1,16); //判断:当篮球号码是一位数时,在左侧补零 $blue=$blue_num<10?(''0''.$blue_num):$blue_num; foreach($redas$v){ //输出红球号码 echo"$v"; } //输出篮球号码 echo"$blue";?>
献花(0)
+1
(本文系追梦紫衣书...原创)