编程思路
这次作业我主要是翻手册看案例理解$_SERVER和过滤器函数。
开始不知道如何运用过滤器来练习,看了几次手册才找到语法解释。
filter_has_var(type, variable)
filter_input(input_type, variable, filter, options)
filter_var(variable, filter, options)
作业总结
本次作业主要是理解运用,查阅了php手册很多相关内容,通过手册的讲解和案例去理解过滤器函数。常用的是filter_input()、filter_var()和filter_has_var()函数,所谓的过滤实际上指的是FILTER_SANTIZE_EMAIL、FILTER_VALIDATE_EMAIL等,它们是“滤芯”。
1.$_SERVER练习
- 演示代码
<?php
// $_SERVER变量练习
print_r($_SERVER);
echo '<hr>';
echo $_SERVER['PHP_SELF'].'<br>';
echo $_SERVER['GATEWAY_INTERFACE'].'<br>';
echo $_SERVER['SERVER_ADDR'].'<br>';
echo $_SERVER['SERVER_NAME'].'<br>';
echo $_SERVER['SERVER_SOFTWARE'].'<br>';
echo $_SERVER['SERVER_PROTOCOL'].'<br>';
echo $_SERVER['REQUEST_METHOD'].'<br>';
echo $_SERVER['REQUEST_TIME'].'<br>';
echo $_SERVER['QUERY_STRING'].'<br>';
echo $_SERVER['HTTP_ACCEPT'].'<br>';
echo $_SERVER['HTTP_ACCEPT_CHARSET'].'<br>';
echo $_SERVER['HTTP_HOST'].'<br>';
echo $_SERVER['HTTP_REFERER'].'<br>';
echo $_SERVER['HTTPS'].'<br>';
echo $_SERVER['REMOTE_ADDR'].'<br>';
echo $_SERVER['REMOTE_HOST'].'<br>';
echo $_SERVER['REMOTE_PORT'].'<br>';
echo $_SERVER['SCRIPT_FILENAME'].'<br>';
echo $_SERVER['SERVER_ADMIN'].'<br>';
echo $_SERVER['SERVER_PORT'].'<br>';
echo $_SERVER['SERVER_SIGNATURE'].'<br>';
echo $_SERVER['PATH_TRANSLATED'].'<br>';
echo $_SERVER['SCRIPT_NAME'].'<br>';
echo $_SERVER['SCRIPT_URI'].'<br>';
echo '<hr>';
?>
- 效果图
2.过滤器练习
- 演示代码
<?php
// 常用的过滤器
//print_r(filter_list());
//echo '<hr>';
//验证邮箱格式
$email = 'admin@qq.com';
$email1 = 'admin';
echo filter_var($email1,FILTER_VALIDATE_EMAIL) ? '正确' : '错误';
echo '<hr>';
//验证IP格式
$ip = '127.0.0.1';
echo filter_var($ip,FILTER_VALIDATE_IP) ? '正确' : '错误';
echo '<hr>';
//验证url格式
$url = 'http://www.baidu....';
echo filter_var($url,FILTER_VALIDATE_URL) ? '正确' : '错误';
echo '<hr>';
//验证整数格式
$int = 1;
echo filter_var($int,FILTER_VALIDATE_INT) ? '正确' : '错误';
echo '<hr>';
//验证浮点数格式
$float = 1.1;
echo filter_var($float,FILTER_VALIDATE_FLOAT) ? '正确' : '错误';
echo '<hr>';
//检查是否存在指定输入类型的变量
echo filter_has_var(INPUT_GET,'id');
echo '<hr>';
//净化输入:删除所有字符,除了字母、数字以及 !#$%&'*+-/=?^_`{|}~@.[]
$email = 'admin@我的qq.com';
echo filter_var($email,FILTER_SANITIZE_EMAIL);
echo '<hr>';
$email = 'a d mi n @ qq. c om';
echo filter_var($email,FILTER_SANITIZE_EMAIL);
echo '<hr>';
?>
- 效果图
3.数组的序列化和反序列化
- 演示代码
<?php
// 数组的序列化和反序列化操作
//序列化
$var = 666;
echo serialize($var). '<br>';
$arr = [
555,
999,
888,
777
];
echo serialize($arr).'<br>';
//反序列化
$a = unserialize('a:4:{i:0;i:555;i:1;i:999;i:2;i:888;i:3;i:777;}');
print_r($a);
?>
- 效果图