2014-02-09 28 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 [ '比如']即使之前如果块一些默认值