博客列表 >php.cn_week5_day1作业提交【php变量常量过滤器】

php.cn_week5_day1作业提交【php变量常量过滤器】

Allen在php中文网的学习笔记
Allen在php中文网的学习笔记原创
2020年08月19日 00:48:30643浏览

作业内容:

  1. 搭建出php开发环境(不必提交)
  2. 变量与常量的区别与创建,访问方式
  3. 变量过滤器的常用函数与用法(实际演示)

变量常量的区别与创建

变量

定义:在PHP中变量由$定义。

基本原则:先申明,再使用。

赋值:

  1. 第一次赋值:初始化
  2. 第二次赋值:更新

销毁:

  1. unset($test);
  2. $test = null;// 销毁,只适用于对象类型的变量

说明:变量名区分大小写。变量支持中文但不推荐。
意义:变量是临时存储数据的容器,变量是实现数据复用的手段

可变变量:

  1. $mail = "test";
  2. $$mail = "user@user.com"
  3. echo $test; ————> 输出user@user.com

变量的检测与删除:

  1. isset() 返回值类型 bool
  2. unset() 没有返回值
  3. empty() 检测变量是否为空

变量数据类型:

基本类型:单值

  1. 字符串string
  2. 数值
  3. 布尔 true or false

复合类型:由基本类型组成,一个变量对应一组数据

  1. $arr = ['电脑', 5900, false];

对象:

  1. $obj = new stdClass;
  2. $obj->name = 'peter zhu';
  3. $obj->age = 88;
  4. print_r($obj);

特殊类型:

  1. $test=null

资源类型:

  1. $f = fopen('demo5.php', 'r');

其他:

  1. 变量是没有类型的,类型由值决定
  2. var_dump(): 变量的完整信息
  3. var_export:返回变量的字符串表示(源码)

命名规则:

  1. 必须使用字母或下划线开始,后面允许使用数字, "_", "[a-zA-Z]","[0-9]"

类型转换:参见手册

常量

定义常量

  1. const N = XXX //编译时定义常量
  2. define('name','value') //运行时定义常量

赋值:

  1. 在脚本执行期间该值不能改变

命名规则:

  1. <?php
  2. // 合法的常量名
  3. define("FOO", "something");
  4. define("FOO2", "something else");
  5. define("FOO_BAR", "something more");
  6. // 非法的常量名
  7. define("2FOO", "something");
  8. // 下面的定义是合法的,但应该避免这样做:(自定义常量不要以__开头)
  9. // 也许将来有一天PHP会定义一个__FOO__的魔术常量
  10. // 这样就会与你的代码相冲突
  11. define("__FOO__", "something");
  12. ?>

魔术常量:

  1. | 序号 | 魔术常量 | 描述 |
  2. | ---- | --------------- | ---------------------- |
  3. | 1 | `__LINE__` | 文件中的当前行号 |
  4. | 2 | `__FILE__` | 文件的完整路径和文件名 |
  5. | 3 | `__DIR__` | 文件所在目录 |
  6. | 4 | `__FUNCTION__` | 当前的函数名称 |
  7. | 5 | `__CLASS__` | 当前类名称 |
  8. | 6 | `__TRAIT__` | 当前`Trait`名称 |
  9. | 7 | `__METHOD__` | 当前类方法名称 |
  10. | 8 | `__NAMESPACE__` | 当前命名空间名称 |

作用域

引用:https://learnku.com/articles/39709

  1. //PHP 变量作用域
  2. local
  3. global
  4. static
  5. parameter
  6. //局部作用域、全局作用域
  7. <?php
  8. $x = 50; // 全局变量
  9. function myTest()
  10. {
  11. $y = 100; // 局部变量
  12. }
  13. //PHP global 关键字
  14. //global 关键字用于函数内访问全局变量。
  15. //在函数内调用函数外定义的全局变量,可以在函数中的变量前加上 global 关键字。
  16. <?php
  17. $x = 50;
  18. $y = 100;
  19. function myTest()
  20. {
  21. global $x, $y;
  22. $y = $x + $y;
  23. }
  24. myTest();
  25. echo $y; // 输出 150
  26. PHP 将所有全局变量存储在一个名为 $GLOBALS 的数组中。
  27. 所以上述代码可以换一种写法:
  28. <?php
  29. $x = 50;
  30. $y = 100;
  31. function myTest()
  32. {
  33. $GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
  34. }
  35. myTest();
  36. echo $y;
  37. //PHP Static 作用域
  38. //PHP 当一个函数完成时,它的所有变量通常都会被删除。为了有些局部变量不被删除,可以在第一次声明变量的时候使用 static 关键字。
  39. <?php
  40. function myTest()
  41. {
  42. static $x = 0;
  43. echo $x;
  44. $x++;
  45. echo PHP_EOL;
  46. }
  47. myTest();
  48. myTest();
  49. myTest();
  50. //参数作用域 (形参)
  51. //参数声明作为函数声明的一部分。
  52. <?php
  53. function myTest($x)
  54. {
  55. echo $x;
  56. }
  57. myTest('Galois');
  58. myTest(8888);
  59. //小补充:
  60. //打印数组方式:
  61. echo '<pre>';
  62. print_r($arr);

————————————————
原文作者:Galois
转自链接:https://learnku.com/articles/39709
版权声明:著作权归作者所有。商业转载请联系作者获得授权,非商业转载请保留以上作者信息和原文链接。

变量过滤器

  1. filter_var() 通过一个指定的过滤器来过滤单一的变量
  2. filter_var_array() 通过相同的或者不同的过滤器来过滤多个变量
  3. filter_input() 获取一个输入变量,并对它进行过滤
  4. filter_input_array 获取多个输入变量,并通过相同的或者不同的过滤器对它们进行过滤

实例:

  1. <?php
  2. $int = 123;
  3. if(!filter_var($int, FILTER_VALIDATE_INT)) {
  4. echo ("Integer is not valid");
  5. }else {
  6. echo ("Integer is valid");
  7. }
  8. ?>

上面的代码使用了”FILTER_VALIDATE_INT”过滤器来过滤变量。
由于这个整数是合法的,因此代码的输出是:”Integer is valid”

是作业也是回看笔记,老师手下留情!

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