2014-02-09 27 views
1

我想在兩個if/else條件塊之間使用變量。if,else條件之間的變量

if(isset($_GET['aaa'])) 
{ 
    code to be executed; 
    $example='a string or codes(calculating)'; 
} 
else //if(isset($_GET['bbb'])) 
{ 
    code to be executed; 
} 

如何在其他子句中使用$ example?解釋說,例如在第一次if子句是真實的,$ example是計算出來的,第二次加載,否則是真實的,現在我想使用$ example。我聲明$示例爲靜態變量,但它不起作用。 感謝您的幫助:)

+0

什麼是你的問題?你是否認爲變量可用於不同的請求中,或者這個代碼是否包含在一個被多次調用的函數中?要在else子句中使用$ example,你必須在if結構之外定義它,並用默認值初始化它。如果你想讓變量在請求之間保持不變,可以使用其他一些方法,如會話,數據庫等...... – Rangad

+0

第二次加載時,你的意思是一個頁面重新加載/刷新,或者你的意思是這段代碼是被稱爲函數的一部分兩次在你的PHP腳本? – Francodi

+0

@Francodi我的意思是一個頁面重新加載 – Massih

回答

0

您可以使用一個會話變量此:

你的PHP腳本的最開始添加

session_start(); 

您的代碼看起來是這樣的,那麼:

if(!isset($_SESSION['example']) 
{ 
    $_SESSION['example'] = some default value; 
} 

if(isset($_GET['aaa'])) 
{ 
    code to be executed; 
    $_SESSION['example'] ='a string or codes(calculating)'; 
} 
else 
{ 
    code to be executed; 
    use $_SESSION['example'] here 
} 

$_SESSION['example']可以得到一處處值你想和頁面刷新,以及後才能閱讀。

如果你需要更多的樣本和解釋約$ _SESSION,你可以看看這個網站:http://www.php.net/manual/de/reserved.variables.session.php

0

在兩種情況下使用$example最好的辦法是if之前聲明它:

$example = ''; 

if(isset($_GET['aaa'])) 
{ 
    code to be executed; 
    $example='a string or codes(calculating)'; 
} 
else 
{ 
    //other stuff using $example 
    $example = 'foo'; 
} 

閱讀this article可能會變得非常有幫助。

0
你的情況

嘗試SESSIONS ..

if(isset($_GET['aaa'])) 
{ 
    code to be executed; 
    $_SESSIONS['example']='a string or codes(calculating)'; 
} 
else 
{ 
    //other stuff using $_SESSIONS['example'] 
    $_SESSIONS['example'] = 'foo'; 
} 

,或者您可能要初始化$ _SESSIONS [ '比如']即使之前如果塊一些默認值