2012-01-24 100 views
0

嗨,我想知道如果有人能幫助我。我曾嘗試過全球,但這不是我想要的。功能,並沒有使用全球

$i= 0 

if(.....){ 
    echo "In this part"; 
    $i = 1; 
} 
else{ 
    echo "........"; 
    $i = 2; 
} 

function process(){ 
    echo $i; 
} 
+1

刪除Java標記。這是PHP。 –

回答

8

將方法中所需的東西傳遞給方法不是更好嗎?

process($i); 

function process($i){ 
    echo $i; 
} 
1

函數內部還應該聲明全局變量。

function process(){ 
    global $i; 
    echo $i; 
} 
+0

-1用於在答案顯然作爲參數傳遞時建議使用'global'。 'global'和'$ GLOBALS'的正確用法很少,而且幾乎絕對不是其中之一。特別是當用戶陳述'我試過全球但這不是我想要' – DaveRandom

+0

對不起。 – sathishkumar

1

我測試了這一點,它爲我工作,我相信你會喜歡的方式它的工作

$i= 0; 

if(1==2){ 
echo "In this part"; 
$i = 1; 
} 
else{ 
echo "........"; 
$i = 2; 
} 

function process(){ 
global $i; 
echo $i; 
} 

process(); 
1

我想您所定義的功能,而不是的if-else塊之後調用它。你可以在任何地方定義它,但在if-else塊之後調用此函數就像

if(....){ 
echo "In this part"; 
$i = 1; 
} 
else{ 
echo "........"; 
$i = 2; 
}  

process(); 
1

確定它可以與$ _GLOBALS一起使用。試玩這個代碼,玩$var變量

<?php 

$i= 0; 

$var=0; 

if($var==0){ 
    echo "In this part"; 
$GLOBALS["i"]=1; 

} 
else{ 
    echo "........"; 
$GLOBALS["i"]=2; 
} 

process(); 

function process(){ 
    echo $GLOBALS["i"]; 
} 


?>