博客列表 >变量、变量过滤器、定义常量、魔术常量

变量、变量过滤器、定义常量、魔术常量

鹏建
鹏建原创
2020年05月10日 22:22:35690浏览
  1. // 全局变量
  2. $myweb='myweb';
  3. function myweb(){
  4. // 1、global
  5. global $myweb;
  6. // 2、使用超全局变量
  7. $myweb=$GLOBALS['myweb'];
  8. return $myweb;
  9. // 函数可以直接访问超全局变量
  10. echo $_SERVER['SERVER_SOFTWARE']. '<br>';
  11. }
  12. echo myweb();
  13. echo $_SERVER['SERVER_SOFTWARE']
  14. ?>
  1. <?php
  2. // 静态变量与动态变量
  3. // 函数内,动态变量,变量被多次初始化
  4. function function1(){
  5. $a=2;
  6. $a+=2;
  7. return $a;
  8. }
  9. echo function1().'<br>';
  10. echo function1().'<br>';
  11. echo function1().'<br>';
  12. // 全局变量是静态变量,被初始化一次,初始值只被使用一次
  13. $a=2;
  14. function function2(){
  15. global $a;
  16. $a+=2;
  17. return $a;
  18. }
  19. echo function2().'<br>';
  20. echo function2().'<br>';
  21. echo function2().'<br>';
  22. // static关键字,用于声明静态变量
  23. function function3(){
  24. // 函数内静态变量,即局部静态变量
  25. static $a=3;
  26. $a+=2;
  27. return $a;
  28. }
  29. echo function3().'<br>';
  30. echo function3().'<br>';
  31. echo function3().'<br>';
  32. ?>
  1. <?php
  2. // 1. 过滤单个变量filter_var()
  3. // filter_var(variable需过滤的变量, filter所需的过滤器, options过滤要求)
  4. //如果成功,则返回被过滤的数据。如果失败,则返回 FALSE。
  5. $wages=3500;
  6. var_dump(filter_var($wages,FILTER_VALIDATE_INT,["option"=>["min_range>2000"]]));
  7. echo "<br>";
  8. $email="123456789@qq.com";
  9. var_dump(filter_var($email,FILTER_VALIDATE_EMAIL));
  10. echo "<br>";
  11. //2. 过滤多个变量filter_var_array()
  12. // $user=array($name=>"peter",$age=>34,$email=>"peter@qq.com");
  13. // $name
  14. // var_dump(filter_var_array($name))
  15. // 3. 检测是否存在指定的外部变量, filter_has_var()
  16. $user="peter";
  17. var_dump(filter_has_var(INPUT_GET,$user));
  18. // 4. 验证输入的过滤器,filter_input
  19. if(!filter_has_var(INPUT_GET,"user")){
  20. echo"请先注册";
  21. }else{
  22. $user=filter_input(INPUT_GET,"user");
  23. echo $user;
  24. }
  25. // 5. 验证多个外部变量: filter_input_array()
  26. $user=array(
  27. "name"=>FILTER_SANITIZE_STRING,
  28. "age"=>FILTER_VALIDATE_INT,["options"=>["min_range>18","max_range<50"]],
  29. "email"=>FILTER_VALIDATE_EMAIL
  30. );
  31. var_dump(filter_input_array(INPUT_GET,$user));
  1. // 常量是不需要更新的数据
  2. // 查看当前系统中的常量
  3. // print_r(get_defined_constants());
  4. // 分组查看
  5. // print_r(get_defined_constants(true));
  6. // 魔术常量__DIR__,指向当前执行的PHP脚本所在的目录
  7. echo __DIR__ .'<br>';
  8. // 定义常量 当前执行脚本的路径
  9. define('APP_PATH', __DIR__ . '\1.php');
  10. echo APP_PATH.'<br>';
  11. // 查看用户自己定义的常量
  12. print_r(get_defined_constants(true)['user']);
  13. ?>
  1. <?PHP
  2. // 常量
  3. // define创建函数常量,可以用于流程控制中,constant不能
  4. function myfunction(){
  5. // define(name,value,bool)
  6. define('NAME','peter');
  7. echo NAME;
  8. }
  9. myfunction();
  10. if(!defined('USER')){
  11. define('USER','张三');
  12. echo USER;
  13. }
  14. // 默认值false,大小写敏感
  15. define(NAME,'peter',FALSE);
  16. echo NAME.'<br>';
  17. // define('NAME','jack',TRUE);
  18. // echo constant('name');
  19. // constant创建类常量,define不能
  20. class User{
  21. const NAME='alice';
  22. }
  23. echo User::NAME;
  24. // 常量的值:变量,字符串,数值,布尔,null
  25. ?>
  1. <?php
  2. // 魔术常量:系统定义好的常量
  3. echo '当前行号:'.__LINE__.'<br>';
  4. echo '当前目录:'.__DIR__.'<br>';
  5. echo '当前文件:'.__FILE__.'<br>';
  6. // 当前函数名
  7. function myfunction(){
  8. return __FUNCTION__;
  9. }
  10. echo myfunction();
  11. echo '<br>';
  12. // 当前方法
  13. class study{
  14. public function method(){
  15. echo __METHOD__;
  16. }
  17. }
  18. $study=new study;
  19. $study->method();
  20. ?>

总结:对于我这个小白来说,全部都很重要,所以都写了一遍,尽管只是比葫芦画葫芦而已。

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议