美文网首页
关于static

关于static

作者: geeooooz | 来源:发表于2018-01-11 16:05 被阅读19次
<?php
//static用法

// 1.static 放在函数内部修饰变量
//在函数执行完后,变量值仍然保存

function testStatic(){

    static $val= 1;
    echo $val;
    $val++;

}

testStatic();//output 1

testStatic();//output 2

testStatic();//output 3



// 2.static放在类里修饰属性,或方法
// 修饰属性或方法,可以通过类名访问,如果是修饰的是类的属性,保留值
class Person {
    static $id= 0;
    function __construct() {
        self::$id++;
    }

    static function getId() {
        echo self::$id;
    }
}
echo Person::$id;//output 0
echo"";
$p1=new Person();//每次实例化类都会+1
$p2=new Person();
$p3=new Person();
echo Person::$id;//output 3


// 3.static放在类的方法里修饰变量
// 修饰类的方法里面的变量

class Person {

    static function tellAge() {

        static $age= 0;

        $age++;

        echo "The age is:$age";
    }

}

echo Person::tellAge();//output 'The age is: 1'

echo Person::tellAge();//output 'The age is: 2'

echo Person::tellAge();//output 'The age is: 3'

echo Person::tellAge();//output 'The age is: 4'
// 4.static修饰在全局作用域的变量
//修饰全局作用域的变量,没有实际意义(存在着作用域的问题,详情查看)
static $name= 1;

$name++;

echo $name;

相关文章

  • 关于static

  • Java static 的一两点使用

    这篇文章是关于Java static关键字的使用,主要会介绍以下的内容: static 的概念 static的各种...

  • 关于 static、const、static const、con

    类里的const成员初始化: 在一个类里建立一个 const 时,不能给他初值。 类里的 static 成员初始化...

  • 关于 java static

    从最简单的开始。 1.static 可以修饰 类的属性和方法。 static 修饰的属性和方法属于类,与实例无...

  • 问题记录

    关于Handler 使用This Handler class should be static or leaks ...

  • Django一些实用经验

    1.关于templates与static的目录设置 最佳实践为在app中单独设置templates和static目...

  • 019_关于goto语句。

    namespace _019_关于goto语句 { class Program { static vo...

  • 关于const,extern,static

    创建常量的问题### oc中有一些方法是创建常量的,但是具体用哪一种好呢? #define macro const...

  • 关于static的用法

    我是一名Java工程师的新手,目前正处于学习阶段,所以我想通过简书来提高我对Java的理解。虽然这是我第一次...

  • Message源码解读

    1、关于obtain()如何获取message对象 源码如下: public static Messageobta...

网友评论

      本文标题:关于static

      本文链接:https://www.haomeiwen.com/subject/kpctoxtx.html