Blogger Information
Blog 18
fans 1
comment 0
visits 17371
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php常量,变量过滤器的使用
α清尘
Original
786 people have browsed it

php常量知识,变量过滤器的使用

php常量相关整理

php常量:用于数据计算固定的值;并且常量类型只能是标量类型;
注意:
1.常量名前不能有$,一般常量名总是大写;
2.常量有多个单词时由下划线连接;
类常量只能用const定义;常量不受作用域的限制;常量创建时必须初始化;

语法:可以用define()函数来定义常量,并且,一个常量一旦被定义,在程序执行过程中就不能再改变或取消定义;
实例演示:

  1. <?php
  2. const APP_PATH='/phpstudy_pro';
  3. // define(常量名,常量值)
  4. define('RUNTIME_PATH','/1118');
  5. echo APP_PATH;
  6. echo "<hr/>";
  7. // constant()函数返回一个常量的值
  8. echo constant('RUNTIME_PATH'); // 输出/1118
  9. echo "<hr/>";
  10. $num='APP_PATH';
  11. echo $num;
  12. echo constant($num);
  13. echo "<hr/>";
  14. // 获取查看系统所有的常量
  15. // get_defined_constants();
  16. // 常量不受作用域的限制
  17. function getName(){
  18. return APP_PATH;
  19. }
  20. echo getName();
  21. ?>

预定义常量

  1. <?php
  2. echo "php版本号:".PHP_VERSION."<br/>";
  3. echo "phpz操作系统:".PHP_OS_FAMILY."<br/>";
  4. echo "php环境变量里的目录列表的分隔符".PATH_SEPARATOR."<br/>";
  5. echo "目录分隔符".DIRECTORY_SEPARATOR."<br/>";
  6. echo "最大整数".PHP_INT_MAX."<br/>";
  7. echo "最大浮点数".PHP_FLOAT_MAX."<br/>";
  8. ?>

魔术常量

PHP魔术常量根据常量位置的变化而变化;

名称 说明
__LINE__ 文件中的当行行号
__FILE__ 文件的完整路径和文件名,如果用在被包含文件中,则返回被包含的文件名
__DIR__ 文件所在的目录
__FUNCTION__ 返回函数名称
__CLASS__ 当前类的名称
__METHOD__ 类的方法名
__NAMESPACE__ 当前命名空间的名称
__TRAIT__ 当前Trait名称

命名空间

常量是全局成员,则会有命名冲突的问题,引入命名空间,命名空间解决全局成员,命名冲突的问题;需要注意,命名空间前不能有任何输出,需要放在脚本首行;

实例演示:

  1. <?php
  2. namespace a{
  3. const APP_PATH="/phpstudy_pro/WWW";
  4. }
  5. namespace b{
  6. const APP_PATH="/phpstudy_pro/COM";
  7. }
  8. namespace{
  9. echo \a\APP_PATH."<br/>";
  10. echo \b\APP_PATH."<br/>";
  11. }
  12. ?>

php变量过滤器的使用

什么是过滤器?

php过滤器用于验证和过滤来自非安全来源的数据,比如用户的输入;

过滤器函数

filter_var():过滤一个变量filter_var(var,filter,options);返回值,返回过滤后的值,否则返回false;
filter_var_array()过滤多个变量;filter_var_array(array $data,filter);
实例演示:

  1. <?php
  2. $age=22;
  3. $min=18;
  4. $max=55;
  5. $option=array("options"=>array("min_rag"=>$min,"max_rag"=>$max));
  6. $age=filter_var($age,257,$option);
  7. var_dump($age);
  8. if(!$age){
  9. echo "年龄不符合申请";
  10. }else{
  11. echo "年龄符合要求";
  12. }
  13. // filter_var_array()获取多个变量并过滤
  14. $a=1;
  15. $b=2;
  16. $ab=[$a,$b];
  17. var_dump(filter_var_array($ab,FILTER_VALIDATE_INT));
  18. ?>

过滤外部变量

通过http get/post请求发送的数据,过滤表单数据;

filter_input();filter_input(输入post/get,变量名,filter);
filter_input_array();filter_input_array(输入post/get,args规定了过滤器参数数组,键是变量名,值是过滤器)

实例演示:

  1. <?php
  2. $args = [
  3. "username" => FILTER_SANITIZE_STRING,
  4. "age" =>FILTER_VALIDATE_INT,
  5. "blog_url" =>FILTER_VALIDATE_URL,
  6. "ip"=>FILTER_VALIDATE_IP
  7. ];
  8. echo '<hr>';
  9. $options = ["options"=>["min_range"=>1]];
  10. var_dump(filter_input(INPUT_GET,'id',FILTER_VALIDATE_INT,$options));
  11. ?>
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