php類中靜態變數與常亮的區別

2022-07-26 18:15:10 字數 539 閱讀 1112

在效率上:常量編譯過程比靜態變數快的多。

**:

<?php

error_reporting(e_all);

class a

}$obj = new a;

echo $obj->c;//出錯,是類的屬性,不是物件的屬性

echo $obj->$b;//出錯,是類的屬性,不是物件的屬性

echo $obj::c;//ok,

echo a::c;//ok

echo $obj::$b;//ok

echo a::$b;//ok

$obj->setst(100);//更改靜態變數的值

echo $obj::$b;//更改成功

?>

結論:例項的屬性才可以用 $obj->c 這種方式訪問。

靜態變數和常量都是類的屬性,類的屬性都用雙冒號訪問(::),通過物件或者類名都可以訪問。

常量是不可變的,靜態變數可以通過self來賦值改變。

const常量:類的不變屬性

static變數:類的可變屬性

php中靜態類與靜態變數用法的區別分析

1.建立物件 object new class 然後使用 呼叫 object attribute function,前提是該變數 方法可訪問.2.直接呼叫類方法 變數 class attribute function,無論是靜態 非靜態都可以,但是有前提條件.a.如果是變數,需要該變數可訪問.b.如...

靜態變數與非靜態變數之間的區別

學習ios時候經常遇到有static修飾的變數和沒有static的變數,在ios中主要用到 它們之間的區別是 如 static nsstring identify identify 與nsstring identify identify 1 作用範圍不一樣,有static修飾的identity的內容...

靜態變數 非靜態變數的區別

c 變數根據定義位置的不同,具有不同的作用域,作用域可分為6種 全域性作用域,區域性作用域,語句作用域,類作用域,命名作用域和檔案作用域。從作用域看 全域性變數具有全域性作用域。全域性變數只需在乙個原始檔中定義,就可以作用於所有的原始檔。當然,其他不包括全域性變數定義的原始檔需要用extern關鍵字...