【php面向对象中static静态属性和静态方法的调用_PHP】教程文章相关的互联网学习教程文章

PHP中static关键字原理的学习研究分析_PHP

看PHP手册的时候发现了下面这样一段代码: 代码如下:function Test() { static $count = 0; $count++; echo $count; if ($count Test(); } $count--; } ?> 执行结果如下: 这是一个递归的函数,声明的静态变量count记录次数,输出1~10。 我在看的时候有个疑惑,递归调用的时候 static $count = 0; 语句会重复执行,这为什么不会导致count变量被重复赋值呢?带着这个疑问和同事研究了一下,测试用代码如下: 代码如下:echo 'star...

PHP类的静态(static)方法和静态(static)变量使用介绍_PHP

在php中,访问类的方法/变量有两种方法: 1. 创建对象$object = new Class(),然后使用”->”调用:$object->attribute/function,前提是该变量/方法可访问。 2. 直接调用类方法/变量:class::attribute/function,无论是静态/非静态都可以。但是有前提条件: A. 如果是变量,需要该变量可访问。 B. 如果是方法,除了该方法可访问外,还需要满足: b1) 如果是静态方法,没有特殊条件; b2) 如果是非静态方法,需要改方法中没有使用...

php函数中使用static的说明_PHP

代码如下:function sendHeader($num, $rtarr = null) { static $sapi = null; if ($sapi === null) { $sapi = php_sapi_name(); } return $sapi++;   看PW源码的时候发现setHeader()函数中使用static关键字,很奇怪,以前也没这样用过。 static用在函数里面,声明一次变量后,如果再次调用这个函数将会在初始值延续,如$sapi这里将累加。 代码如下:echo sendHeader(1).""; echo sendHeader(2).""; echo sendHeader(3)."";   ...

浅析php变量修饰符static的使用_PHP

静态变量仅在局部函数域中存在,但当程序执行离开此作用域时,其值并不丢失。看看下面的例子: 代码如下:function test(){static $a=0;$a++;echo $a;}test();//1test();//2test();//3Note: 静态变量可以按照上面的例子声明。如果在声明中用表达式的结果对其赋值会导致解析错误。 代码如下:static $a=0+1;static $a=sqrt(121);像上面的赋值方式会报错,不信你试试

PHP面向对象之旅:深入理解static变量与方法_PHP

static关键字声明一个属性或方法是和类相关的,而不是和类的某个特定的实例相关,因此,这类属性或方法也称为“类属性”或“类方法”。 如果访问控制权限允许,可不必创建该类对象而直接使用类名加两个冒号“::”调用。 static关键字可以用来修饰变量、方法。 不经过实例化,就可以直接访问类中static的属性和static的方法。 static 的属性和方法,只能访问static的属性和方法,不能类访问非静态的属性和方法。因为静态属性和方法被...

php面向对象中static静态属性和静态方法的调用_PHP

本文实例讲述了php中static静态属性和静态方法的调用。分享给大家供大家参考。具体如下: 这里分析了php面向对象中static静态属性和静态方法的调用。关于它们的调用(能不能调用,怎么样调用),需要弄明白了他们在内存中存放位置,这样就非常容易理解了。静态属性、方法(包括静态与非静态)在内存中,只有一个位置(而非静态属性,有多少实例化对象,就有多少个属性)。 实例:<?php header("content-type:text/html;charset=utf...

php面向对象中static静态属性与方法的内存位置分析_PHP

本文实例分析了php面向对象中static静态属性与方法的内存位置。分享给大家供大家参考。具体如下: static静态属性的内存位置——>类,而不是对象。下面做测试来证明一下<?php header("content-type:text/html;charset=utf-8"); class Human{static public $name = "小妹";public $height;public function tell(){} } echo Human:$name; //不依赖于对象,就能直接访问。因为静态属性的内存位置是在类里,而不是对象。 $p1 = new Hum...

php之static静态属性与静态方法实例分析_PHP

本文实例讲述了php之static静态属性与静态方法。分享给大家供大家参考。具体如下:<?php /** static*//*静态:属于类而不属于单个对象 (全局的,所有对象共享的)*静态属性:类的方法内调用静态属性时,不要使用$this->方式,而要使用self::的方式*静态方法:*在类没有任何对象的时候也能被调用*当成普通方法来用也没问题的*在静态方法中不能调用普通方法* * */class xin {static private $name;public function setname($namec) ...

PHP中static关键字以及与self关键字的区别_PHP

概述 正在学习设计模式,之前有一篇文章关于单例模式的文章,重新读了这篇文章,发现对static关键字掌握不是很牢靠,重新温习一下。 static关键字 PHP手册里对static关键字的介绍如下:代码如下: Declaring class properties or methods as static makes them accessible without needing an instantiation of the class. A property declared as static cannot be accessed with an instantiated class object (though a static m...

PHP中的静态变量及static静态变量使用详解_PHP

静态变量只存在于函数作用域内,也就是说,静态变量只存活在栈中。一般的函数内变量在函数结束后会释放,比如局部变量,但是静态变量却不会。就是说,下次再调用这个函数的时候,该变量的值会保留下来。 只要在变量前加上关键字static,该变量就成为静态变量了。<?phpfunction test(){static $nm = ;$nm = $nm * ;print $nm."";}// 第一次执行,$nm = test();// 第一次执行,$nm = test();// 第一次执行,$nm = test(); ?>程序运行...

php类中的$this,static,final,const,self这几个关键字使用方法_PHP

本篇文章主要分项了一下关于php类中的$this,static,final,const,self这几个关键字使用方法。$this$this表示当前实例,在类的内部方法访问未声明为const及static的属性时,使用$this->value=phpernote;的形式。常见用法如:$this->属性$this->方法举例如下:<?php class MyClass{private $name;public function __construct($name){$this->name=$name;}public function getname(){return $this->name;}public function printNam...

php面向对象编程self和static的区别_PHP

在php的面向对象编程中,总会遇到class test{public static function test(){self::func();static::func();}public static function func(){} }可你知道self和static的区别么? 其实区别很简单,只需要写几个demo就能懂: Demo for self:class Car {public static function model(){self::getModel();}protected static function getModel(){echo "This is a car model";} }Car::model();Class Taxi extends Car {protected static...

利用static实现表格的颜色隔行显示_php基础

利用static实现表格的颜色隔行显示我们用PHP从数据库查询数据,并将结果输出到浏览器上,如果结果有很多行,表格的bgcolor如果全是单色的,浏览者会感觉不太舒服。那麽怎样做使表格各行的颜色不同呢? 请看下面: function getcolor() { static $colorvalue;//定义一个静态变量 if($colorvalue=="#ffffff") $colorvalue="#000000"; else $colorvalue="#ffffff"; return($colorvalue); } print("n");//下面输出10行 for($i=0;$i<10;...

php基础知识:类与对象(5)static_php技巧

Declaring class members or methods as static makes them accessible without needing an instantiation of the class. A member declared as static can not be accessed with an instantiated class object (though a static method can). 声明静态的类变量和方法可以不需要实例化类对象的情况下对他们进行调用。静态类不能被类对象调用。(类的静态方法可以)。//注意看第一个例子,在一个非静态的方法中调用了静态的变量。唯一...

理解PHP5中static和const关键字的区别_php技巧

PHP5中加入了很多面向对象的思想,PHP5的面向对象比较接近Java的面向对象思想。我们这里对PHP5中的static和const关键字作用进行一下描述,希望对学习PHP5的朋友有帮助。 (1) static static关键字在类中是,描述一个成员是静态的,static能够限制外部的访问,因为static后的成员是属于类的,是不属于任何对象实例,其他类是无法访问的,只对类的实例共享,能一定程序对该成员尽心保护。类的静态变量,非常类似全局变量,能够被所有类...

静态方法 - 相关标签