Blogger Information
Blog 14
fans 0
comment 0
visits 7681
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
变量、变量过滤器、定义常量、魔术常量
鹏建
Original
691 people have browsed it
  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. ?>

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

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:群中有小白多了, 大家也是从小白过来的
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post