首頁  >  文章  >  後端開發  >  什麼是靜態變數?其特點是?作用域在哪? (附實例)

什麼是靜態變數?其特點是?作用域在哪? (附實例)

慕斯
慕斯原創
2021-06-04 10:04:396936瀏覽

上篇文章為大家介紹了《PHP中全域變數如何定義?如何聲明?其作用是什麼? (總結)》,本文繼續跟大家介紹什麼是靜態變數?其特點是?作用域在哪? (附實例),這篇文章附實例喲,還不進來看看! ! !

什麼是靜態變數?其特點是?作用域在哪? (附實例)

什麼是靜態變數:

#在函數內部使用static宣告得變數就是靜態變數;

靜態變數的特徵:

  • 靜態變數只會被初步試化一次;

  • 靜態變數在函數執行結束後來不會被收回;

  • 靜態函數一般用於計算函數的呼叫次數;

<?php
     /****** 静态函数*/
     function addNum(){
      $a = 1;
       echo $a. &#39;<br/>&#39;;
       $a ++;
     }
     addNum();
     addNum();
     addNum();
     addNum();
     addNum();
     addNum();
     addNum();
     
?>

程式碼解析:

首先我們先用function定義一個函數[addNum()],緊接著賦初始值($a),輸出(echo)$a,然後讓$a自增;

如果說我們開始呼叫addNum();我們此時輸出的結果是什麼呢?根據下方程式碼運算的結果可以看出都是1;因為我們呼叫了函數,一呼叫函數緊接著就會執行,當函數執行後,進入函數內部,緊接著會聲明變量,並且執行,當執行完後,變數就會隨之被釋放,以此類推,我們得到的結果都是1;以上使我們普通的變量,而我們所定義的是靜態函數,是因為在函數內部有一個靜態變數;

運行結果如下:

什麼是靜態變數?其特點是?作用域在哪? (附實例)

關於靜態變數

<?php
     /****** 静态函数*/
     function addNum(){
       static $a = 1;
       echo $a. &#39;<br/>&#39;;
       $a ++;
     }
     addNum();
     addNum();
     addNum();
     addNum();
     addNum();
     addNum();
     addNum();
     
?>

程式碼解析:

首先我們先宣告一個靜態變數(static $a),然後執行程式碼,得到的運算結果就是1,2,3,4,5,6,7;

如下圖所示;

什麼是靜態變數?其特點是?作用域在哪? (附實例)

在靜態變數中,當我們第一次去呼叫並到函數內部執行了此變量,聲明了靜態變量,初始化為1,而且此次呼叫只執行一次;靜態變數一般我們會做統計函數呼叫的次數;

推薦學習:《PHP影片教學

以上是什麼是靜態變數?其特點是?作用域在哪? (附實例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn