批改状态:合格
老师批语:写的挺好!过滤器是用来保护网站安全,是将用户输入的不合法数据过滤掉!
<?php// 全局作用域:写到函数外面的$name = 'php';// 函数作用域function get_name(){$private = 123;return $private;}// 输出123echo get_name();
<?php// 全局作用域:写到函数外面的$name = 'php';// 函数作用域function get_name(){//1. 在函数中做一个声明:用的很少不推荐global $name;return $name;//2. 通过超全局变量$GLOBALS[]来访问return $GLOBALS['name'];//$private = 123;//return $private;}echo '通过超全局变量$GLOBALS[]来访问:', get_name(),'<hr>';// 获取当前目录绝对地址echo $_SERVER['SCRIPT_FILENAME'];

const APP_NAME = '中文网';define('APP_PATH','/phpstydu');echo APP_NAME,'<br>';echo APP_PATH;
const APP_NAME = '中文网';define('APP_PATH','/phpstydu');echo APP_PATH,'<br>';echo constant('APP_NAME');

const APP_NAME = '中文网';define('APP_PATH','/phpstydu');echo APP_PATH,'<br>';echo constant('APP_NAME'),'<hr>';// 当常量名是变量值得时候 要打印常量 必须用constant()函数$get = 'APP_NAME';echo '通过echo获取是获取不到得:', $get,'<br>';echo '通过constant函数获取是正确的:',constant($get),'<br>';// 当定义常量名为空字符串的时候也可以用constant()函数 打印常量值define('','admin@php.cn');echo '通过echo方式获取不到:' , '','<br>';echo '通过constant()函数获取到:' ,constant('');

// 查看当前可用常量 get_defined_constants(true), 参数true是分类print_r(get_defined_constants(true));
// 查看当前用户自定义常量print_r(get_defined_constants(true)['user']);
// 预定义常量echo '版本号' . PHP_VERSION . '<br>';echo '操作系统' . PHP_OS_FAMILY . '<br>';echo '最大整数' . PHP_INT_MAX . '<br>';echo '最大浮点数' . PHP_FLOAT_MAX . '<br>';//Windows 目录分隔符反斜线\, mac是正斜线/echo '目录分隔符' . DIRECTORY_SEPARATOR . '<hr>';//魔术常量echo '当前行号' . __LINE__ . '<br>';echo '当前文件' . __FILE__ . '<br>';echo '当前目录' . __DIR__ . '<hr>';
namespace ns1{const APP_NAME = 'PHP开发';}namespace ns2{const APP_NAME = '开发';echo '命名空间ns2中访问命名空间ns1中得:' . \ns1\APP_NAME , '<br>';}// 全局空间 (没有名字/匿名空间)namespace {echo '全局空间访问ns1中得:' . \ns1\APP_NAME , '<br>';echo '全局空间访问ns2中得:' . \ns2\APP_NAME , '<br>';}

//1. 过滤单个变量 filter_var(要过滤的变量,过滤器常量)// FILTER_VALIDATE_INT 验证整数$age = 30;$age = 50;$options = ['options'=>['min_range'=>18,'max_range'=>60]];var_dump(filter_var($age,FILTER_VALIDATE_INT,$options));echo '<hr>';
$email = 'admin@php.cn';$email = 'admin@php';var_dump(filter_var($email, FILTER_VALIDATE_EMAIL));echo '<br>';$email = 'admin@php.cn';//也可以用FILTER_VALIDATE_EMAIL这个过滤器常量得id来验证var_dump(filter_var($email, 274));echo '<hr>';
//2. 验证多个变量 filter_var_array([多个变量],过滤器常量)$a = 10;$b =20;// 变量较多时放到一个数组中$arr = [$a,$b];var_dump(filter_var_array($arr, FILTER_VALIDATE_INT));

// 外部变量: 通常通过http请求发送过来的,表单,get,post// 使用 GET参数来演示外部变量的获取与验证/过滤// GET 参数是在url后面添加一个?当做查询字符串//filter_input(输入类型get/post,变量名,过滤器,参数)echo 'id=' . $_GET['id'];echo '<hr>';$options = ['options'=>['min_range'=>1]];var_dump(filter_input(INPUT_GET, 'id', FILTER_VALIDATE_INT,$options));

$args = ['username' => FILTER_SANITIZE_STRING,'email' => FILTER_VALIDATE_EMAIL,'age' => ['filter'=>FILTER_VALIDATE_INT,$options = ['options'=>['min_range'=>18,'max_range'=>60]]],'blog' => FILTER_VALIDATE_URL];

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号