• 技术文章 >后端开发 >php教程

    php static 变量使用的例子

    2016-08-08 09:33:20原创434
    php static 变量使用的例子

    class test
    {
    public static function a(){}
    public function b(){}
    }
    $obj = new test;

    调用 代码

    test::a();
    $obj->a();
    $obj->b();

    例子 演示需要静态变量的例子

    class myobject {
    public static $mystaticvar = 0;

    function mymethod() {
    // ::为作用域限定操作符
    // 用的self作用域而不是$this作用域
    // 因为$this只表示类的当前实例,而self::表达的是类的本身
    self::$mystaticvar += 2;
    echo self::$mystaticvar . "
    ";
    }
    }

    $instance1 = new myobject();
    $instance1->mymethod(); // 显示 2

    $instance2 = new myobject();
    $instance2->mymethod(); // 显示 4

    ?>

    class myobject {
    public static $myvar = 10;
    }

    echo myobject::$myvar;

    // 结果: 10
    ?>


    本函数没什么用处,因为每次调用时都会将 $w3sky 的值设为 0 并输出 "0"。将变量加一的 $w3sky++ 没有作用,因为一旦退出本函数则变量 $w3sky 就不存在了。要写一个不会丢失本次计数值的计数函数(www.111cn.net),要将变量 $w3sky 定义为静态的:


    例子 使用静态变量的例子

    function test()
    {
    static $w3sky = 0;
    echo $w3sky;
    $w3sky++;
    }
    ?>
    现在,每次调用 test() 函数都会输出 $w3sky 的值并加一。

    看个实例


    class foo
    {
    public static $my_static = 'foo';
    public function staticvalue() {
    return self::$my_static;
    }
    }
    class bar extends foo
    {
    public function foostatic() {
    return parent::$my_static;
    }
    }
    print foo::$my_static . "n";
    $foo = new foo();
    print $foo->staticvalue() . "n";
    print $foo->my_static . "n"; // undefined "property" my_static
    print $foo::$my_static . "n";
    $classname = 'foo';
    print $classname::$my_static . "n"; // php 5.3.0之后可以动态调用
    print bar::$my_static . "n";
    $bar = new bar();
    print $bar->foostatic() . "n";
    ?>


    以上就介绍了php static 变量使用的例子,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:static public function print foo
    上一篇:CI框架源码阅读:控制器Controller.php 下一篇:PHP的线程安全与非线程安全版本有什么区别
    大前端线上培训班

    相关文章推荐

    • PHP中的命名空间定义与使用(实例详解)• PHP中clone关键字和__clone()方法的使用(实例详解)• 带你分清类中的构造函数与析构函数• 五分钟带你了解PHP中的魔术方法(实例详解)• 怎样去搞定PHP类的继承?(总结分享)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网