Blogger Information
Blog 17
fans 0
comment 0
visits 12601
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
变量与常量学习心得
越努力越幸运
Original
626 people have browsed it

//demo01

     //超全局变量:

     //$GLOBALS,$_SERVER,$_GET,$_POST,$_FILES,$_COOKIE,$_SESSION,$_REQUEST,$_ENV

    

    namespace ns1;

     $sitename='php.cn';

    

     function getinfo():string{

     global $sitename;

     $private=$sitename;

     return $private;

     }

    

     echo getinfo().'<br>';

    

     //另一种写法:有意思的是:可以打印一下:$GLOBALS,可以看到当前所有超全局变量;

     function getinfo1(){

     $private=$GLOBALS['sitename'];

     return $private;

     }

     echo getinfo1().'<br>';

    

     //显示当前文件名;

    

     echo $_SERVER['SCRIPT_NAME'].'<br>';

    

    

  //demo02

    namespace ns2;

    

     function test1():float{

     $sum=0;

     $sum++;

     return $sum;

    

     }

     echo test1().'<br>';

     echo test1().'<br>';

     echo test1().'<br>';

    

    namespace ns3;

    

     $sum=0;

     function test1():float{

     global $sum;

     $sum++;

     return $sum;

    

     }


     echo test1().'<br>';

     echo test1().'<br>';

     echo test1().'<br>';

    

    

    namespace ns4;//为了尽量不占用全局变量,ns3可以采用这样的方法:做无限分类时要用到!!!

    

     use ns2\test1;

     function test1():float{

     static $sum=0;//局部静态变量;特点:只在第一次赋值时,变量被初始化,今后,再也不执行这行语句;也称:伪全局变量;作业:实现函数在被多次调用时,共享数据;

     $sum++;

     return $sum;

    

     }

     echo test1().'<br>';

     echo test1().'<br>';

     echo test1().'<br>';

    

    

 //demo03

    

     //显示所有变量过滤器:

     foreach (filter_list() as $aa){

     echo $aa.'===>'.filter_id($aa).'<br>';

     }

    

     $age=30;

     var_dump(filter_var($age,FILTER_VALIDATE_INT,['options'=>['min_range'=>18,'max_range'=>60]]));

    

     echo '<br>';

    

     $email='admin@php.cn';

     var_dump(filter_var($email,FILTER_VALIDATE_EMAIL));

    

     echo '<br>';

    

     var_dump(filter_var_array(['php',100],FILTER_VALIDATE_INT));

    

     //检测当前url中?后面是否带外部变量:''中填写?后的键名;如:...?id=1;那么就写id;

     //共5个:INPUT_GET,INPUT_POST,INPUT_COOKIE,INPUT_SERVER,INPUT_ENV

     var_dump(filter_has_var(INPUT_GET,''));

    

     echo '<br>';

    

     //控制外部变量的取值范围(和age那个相似)

     var_dump($_GET['p']);

     var_dump(filter_input(INPUT_GET,'p',FILTER_VALIDATE_INT,['options'=>['min_range'=>1,'max_range'=>60]]));

     echo filter_input(INPUT_GET,'p',FILTER_VALIDATE_INT,['options'=>['min_range'=>1,'max_range'=>60]])?'页码正确':'页码非法';

     echo '<br>';

    

     //同时验证多个外部变量

     $args=[

     'username'=>FILTER_SANITIZE_STRING,//字符串,如有html标签,则删除;

     'email'=>FILTER_VALIDATE_EMAIL,//

     'age'=>['filter'=>FILTER_VALIDATE_INT,'flags'=>FILTER_REQUIRE_SCALAR,'options'=>['min_range'=>18,'max_range'=>60]],

     //age中:flags:年龄必须是单值标量

     'blog'=>FILTER_VALIDATE_URL

     ];


     var_dump(filter_input_array(INPUT_GET,$args));

    

    

//demo04

     //打印所有常量(true参数:表示以分组形式)

     print_r(get_defined_constants(true));

    

     define('APP_PATH',__DIR__,'/app/admin');//这个定义会放到所有常量的['user']键下面

     echo APP_PATH;

    

     print_r(get_defined_constants(true)['user']);

     echo '<hr>';

    

     //定义常量:如果是数组,需要用const;

     define('LECTURE','朱老师');//不能用在类中,类中必须用const;

     const COURSE='php';//不能用在函数中,不能用在流程控制中,但是:const可以用在类中,创建类常量!

    

     function test(){

     echo LECTURE.'教'.COURSE.'<br>';

     }

     test();

    

     class Demo{

     const HELLO='alibaba.com';

     }

     echo Demo::HELLO.'<br>';

//demo05

     const DB_LINKS=[

     'host'=>'localhost',

     'username'=>'root',

     'password'=>'root',

     'charset'=>'utf8'

     ];

    

     echo '<pre>'.print_r(DB_LINKS,true).'<pre>';

    

     $aa='LECTURE';//constant函数支持存储常量的变量,但必须以字符串存在变量中(没有引号就报错);

     echo constant($aa);

     echo '<br>';

    

     //constat还能找出以空为键的常量:

     define('','其实我也是一个常量');

     echo constant('');

    

     echo '当前行号'.__LINE__.'<br>';

     echo '当前目录'.__DIR__.'<br>';

     echo '当前文件'.__FILE__.'<br>';

    

     function a(){

     echo __FUNCTION__;

     }

    

     a();

    

     echo '<hr>';

    

     class D{

     public function index(){

     echo __METHOD__;

     }

     }

    

     $m=new D();

     $m->index();

    

    

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