php函数内的static变量以及类static方法
来源:互联网 发布:linux alias 取消 编辑:程序博客网 时间:2024/05/16 05:21
A: 函数内的static变量
static静态变量的理解
静态变量 类型说明符是static。
静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个运行期间都不释放),也可以认为是其内存地址不变,直 到整个程序运行结束(相反,而auto自动变量,即动态局部变量,属于动态存储类别,占动态存储空间,函数调用结束后即释放)。静态变量虽在程序的整个执 行过程中始终存在,但是在它作用域之外不能使用。
另外,属于静态存储方式的量不一定就是静态变量。 例如:外部变量虽属于静态存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。
所有的全局变量都是静态变量,而局部变量只有定义时加上类型修饰符static,才为局部静态变量。
静态变量可以在任何可以申请的地方申请,一旦申请成功后,它将不再接受其他的同样申请。
静态变量并不是说其就不能改变值,不能改变值的量叫常量。 其拥有的值是可变的 ,而且它会保持最新的值。说其静态,是因为它不会随着函数的调用和退出而发生变化。即上次调用函数的时候,如果我们给静态变量赋予某个值的话,下次函数调用时,这个值保持不变。
如下示例:
function func1() {
static
echo $count . “
”;
}
/输出12345678910/
for(
func1 ();
}
echo “
”;
function func2() {
echo $count . “
”;
}
/输出1111111111/
for(
func2 ();
}
B:静态方法
静态函数最大的好处就是类不经过实例化就可以直接实用.但它不能访问类的非静态成员变量和成员函数.
Class Person{
// 定义静态成员属性
public static country = “中国”;
// 定义静态成员方法
public static function myCountry() {
// 内部访问静态成员属性
echo “我是”.self::$country.”人 ”;
}
}
class Student extends Person {
function study() {
echo “我是”. parent::$country.”人 ”;
}
}
// 输出成员属性值
echo Person::country.”
”; // 输出:中国
// 访问静态成员方法
Person::myCountry(); // 输出:我是中国人
// 静态方法也可通过对象访问:
”; // 输出:中国
以下是个更简单的实例
class test
{
protected static test = ‘222’;
public static function test2()
{
echo self::test;
}
}
echo test::test2();
静态函数可以直接test::test2();这样调用,而且静态函数可以直接访问类的静态变量.
- php函数内的static变量以及类static方法
- PHP类的静态(static)方法和静态(static)变量
- C++ 成员函数内的static变量
- static变量; static函数
- static变量 static函数
- 变量的存储类别、内外部函数【static\extern】
- 类的static成员变量,static成员函数
- static变量和static函数的用法
- static变量和static函数的用法
- 成员内部类不能含有static的变量和方法
- static变量、static函数、变量
- 【php】php函数中static静态变量的使用
- 成员函数内定义static变量
- static方法不能直接访问类内的非static变量和不能调用this,super语句分析
- 类的加载、创建对象、静态变量static、构造函数、静态代码块、构造代码块、构造方法以及总结
- static 变量和static 构造函数 以及对象初始化顺序
- php 普通方法中被static修饰的变量
- Static 变量和Static函数
- FFMPEG之TimeBase成员理解
- WinDbg的基本用法
- ios-day06-01(UITableView的使用:分组、设置数据源、UITableViewDataSource协议等)
- 调试断点,在没有对方代码的情况下,可以断点调试静态库或者可执行文件。
- 【连接PC】Raspberry B+上手教程--自己梳理,亲测有效
- php函数内的static变量以及类static方法
- 细说ASP.NET Forms身份认证
- xcode 证书生成、加载
- Java 四种引用类型
- android控件的边框设置
- 细说ASP.NET Windows身份认证
- LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- 数据库主键类型的问题
- uvalive 2965(状态压缩)