在函數中靜態變量的生成周期

一直以爲,靜態變量隨着函數的結束而被釋放,今天發現實際上並不是,當函數結束時,靜態變量仍然在內存中的靜態存儲區裏保存,直到腳本結束纔會被註銷。

  1. function alias_import($alias$classfile='') { 
  2.     echo '<pre>'
  3.     static $_alias = array(); 
  4.     var_dump($_alias); 
  5.     if (is_string($alias)) { 
  6.         if(isset($_alias[$alias])) { 
  7.             return require_cache($_alias[$alias]); 
  8.         }elseif ('' !== $classfile) { 
  9.             // 定義別名導入 
  10.             $_alias[$alias] = $classfile
  11.             return
  12.         } 
  13.     }elseif (is_array($alias)) { 
  14.         $_alias   =  array_merge($_alias,$alias); 
  15.         return
  16.     } 
  17.     return false; 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章