博客列表 >PHP基础语法二

PHP基础语法二

Yang_Sir
Yang_Sir原创
2020年04月17日 17:42:41487浏览

1. 变量的作用域

  • 变量的作用域指变量可以被访问到的范围
  • 函数作用域:在函数中定义的变量,只在函数中生效,可以被访问
  • 全局作用域:定义在函数体外,可以在函数体外被访问到
  • 超全局变量,系统预定义的变量,可以在任何位置访问

  • 常用超全局变量:

序号 变量名 描述
1 $GLOBALS 引用全局作用域中可用的全部变量
2 $_SERVER 服务器和执行环境信息
3 $_GET HTTP GET 请求:通过 URL 参数传递给当前脚本的变量的数组
4 $_POST HTTP POST 请求: 将变量以关联数组形式传入当前脚本
5 $_FILES HTTP 文件上传变量,保存着上传文件的全部信息
6 $_COOKIE 通过 HTTP Cookies 方式传递给当前脚本的变量的数组
7 $_SESSION 当前脚本可用 SESSION 变量的数组
8 $_REQUEST 默认情况下包含了 $_GET$_POST$_COOKIE 的数组
9 $_ENV 通过环境方式传递给当前脚本的变量的数组

2. 静态变量

  • 使用static修饰符可以将变量定义为静态变量
  • 在函数中定义静态变量,静态变量的值会保留
  1. function testStatic(){
  2. static $test1=5;
  3. $test2=8;
  4. return $test1++.'---'.$test2;
  5. }
  6. echo testStatic();
  7. echo '<br>';
  8. echo testStatic();
  9. echo '<br>';
  10. echo testStatic();
  11. echo '<br>';
  12. echo testStatic();

输出结果:

  1. 5---8
  2. 6---8
  3. 7---8
  4. 8---8

3. 变量过滤器

  • 可以通过一些预定义的方式对变量进行检测
  • 通过filter_list()可以查看有哪些过滤器

过滤单个变量示例:

  1. $age= 23;
  2. echo filter_var($age,FILTER_VALIDATE_INT,['option'=>['min_range'=>14,'max_range'=>70]]);
  3. $age= '90';
  4. var_dump(filter_var($age,FILTER_VALIDATE_INT,['options'=>['min_range'=>14,'max_range'=>70]]));

输出结果:

  1. 23
  2. bool(false)

过滤多个变量示例:

  1. $arr= [10,'php'];
  2. var_dump(filter_var_array($arr,FILTER_VALIDATE_INT));

输出结果:

  1. array(2) { [0]=> int(10) [1]=> bool(false) }

4.常量

  • 常量用来保存代码中不需要更新的数据
  • 通过get_defined_constants()查看当前有哪些常量
  • 有系统预定义常量和自定义常量
  • 可通过define(常量名,常量值)自定义常量
  • 或者使用const关键字定义常量

常用常量示例:

  1. echo 'PHP版本:'.PHP_VERSION;
  2. echo '<br>';
  3. echo '操作系统:'.PHP_OS_FAMILY;

输出结果:

  1. PHP版本:7.3.4
  2. 操作系统:Windows

5. 魔术常量

  • 魔术常量也属于预定义常量,但是它的值会随位置不同而变化
  • 常用魔术常量:
序号 魔术常量 描述
1 __LINE__ 文件中的当前行号
2 __FILE__ 文件的完整路径和文件名
3 __DIR__ 文件所在目录
4 __FUNCTION__ 当前的函数名称
5 __CLASS__ 当前类名称
6 __TRAIT__ 当前Trait名称
7 __METHOD__ 当前类方法名称
8 __NAMESPACE__ 当前命名空间名称
  1. <?php
  2. echo '当前行号:'.__LINE__;
  3. echo '<br>';
  4. echo '当前行号:'.__LINE__;
  5. echo '<br>';
  6. echo '当前行号:'.__LINE__;
  7. echo '<br>';
  8. echo '文件目录:'.__DIR__;

输出结果:

  1. 当前行号:3
  2. 当前行号:5
  3. 当前行号:7
  4. 文件目录:E:\phpstudy_pro\WWW\php11\php

6. 总结

  • php内置了很多预定义变量和函数,合理使用能大大提高编程效率
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议