在效率上:常量編譯過程比靜態變數快的多。
**:
<?phperror_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關鍵字...