首頁 >後端開發 >php教程 >如何在 PHP 中正確初始化靜態變數?

如何在 PHP 中正確初始化靜態變數?

Patricia Arquette
Patricia Arquette原創
2024-11-25 05:04:12328瀏覽

How to Properly Initialize Static Variables in PHP?

在PHP 中初始化靜態變數:指南

問題:

在PHP 中初始化靜態變數時遇到錯誤使用語法private static $dates = array(...); 的程式碼。具體來說,您會收到與意外括號相關的「語法錯誤」。

答案:

在 PHP 中,不能在靜態變數初始值設定項中直接使用複雜表達式。這裡有兩種方法可以解決這個限制:

方法一:使用類別初始化程式碼

定義類別後,加入以下程式碼:

class Foo {
  static $bar;
}
Foo::$bar = array(...);

方法2:使用靜態初始化方法

定義靜態初始化方法並手動呼叫:

class Foo {
  private static $bar;
  static function init()
  {
    self::$bar = array(...);
  }
}
Foo::init();

PHP 5.6 :

PHP 5.6 :

abstract class Foo{
    private static function bar(){
        static $bar = null;
        if ($bar == null)
            bar = array(...);
        return $bar;
    }
    /* use where necessary */
    self::bar();
}
PHP 5.6 :在PHP 5.6及更高版本中,您可以在靜態變數初始值設定項中使用有限表達式。然而,對於複雜的表達式,上述方法可能仍然是必要的。對於抽象類,可以使用以下語法:

以上是如何在 PHP 中正確初始化靜態變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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