出於某種原因,我的static
變量重置,我不知道爲什麼它重置。靜態變量重置 - PHP
public static $_pwdAdjId = 0; //static variable
function ...() {
// Piece of code that manipulates the static variable
if(isset($_POST['adj'])) {
self::$_pwdAdjId = $_POST['adj'];
} else if(!isset($_POST['adj']) && $_GET['ajax'] !== 'assignTable') {
self::$_pwdAdjId = Yii::app()->user->getId();
}
$adj = self::$_pwdAdjId;
...
}
當函數首先被調用,這將被稱爲:
自:: $ _ pwdAdjId = Yii的::應用程序() - >用戶>的getId();
並將值保存到$adj
,它工作正常。
當用戶更改頁面時,存儲在$adj
中的值爲0 - static
變量的初始值。我不確定它爲什麼重置爲初始值而不是存儲新值。
First Call調查之前:
self::$_pwdAdjId == 0
First Call調查:
self::$_pwdAdjId == 7
$adj == 7
頁(AJAX調用):第二個電話:
self::$_pwdAdjId == 0 // supposed to be 7
我錯過了什麼嗎?第二次通過ajax調用它的事實是否影響其static
的性質?
謝謝。
您是否希望靜態變量在提供請求後保留其值?還是我誤解了您的問題? – cenanozen