您好,登錄后才能下訂單哦!
小編給大家分享一下php靜態變量有什么用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
什么是靜態變量?
靜態變量 類型說明符是static。
靜態變量屬于靜態存儲方式,其存儲空間為內存中的靜態數據區(在靜態存儲區內分配存儲單元),該區域中的數據在整個程序的運行期間一直占用這些存儲空間(在程序整個運行期間都不釋放),也可以認為是其內存地址不變,直到整個程序運行結束。
靜態變量雖在程序的整個執行過程中始終存在,但是在它作用域之外不能使用。
只要在變量前加上關鍵字static,該變量就成為靜態變量了。
php靜態變量的作用
1、在函數內部修飾變量。靜態變量在函數被調用的過程中其值維持不變。
<?php function testStatic() { static $val = 1; echo $val."<br />";; $val++; } testStatic(); //output 1 testStatic(); //output 2 testStatic(); //output 3 ?>
程序運行結果:
1 2 3
2、在類里修飾屬性,或方法。
修飾屬性或方法,可以通過類名訪問,如果是修飾的是類的屬性,保留值
<?php class Person { static $id = 0; function __construct() { self::$id++; } static function getId() { return self::$id; } } echo Person::$id; //output 0 echo "<br/>"; $p1=new Person(); $p2=new Person(); $p3=new Person(); echo Person::$id; //output 3 ?>
程序運行結果:
0 3
3、在類的方法里修飾變量。
<?php 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' ?>
程序運行結果:
The age is: 1 The age is: 2 The age is: 3 The age is: 4
以上是php靜態變量有什么用的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。