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

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

Patricia Arquette
發布: 2024-11-25 05:04:12
原創
343 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板