2012-09-11 196 views
-2

這只是一個好奇的問題,我不知道如何通過谷歌搜索。函數返回 - PHP

有些功能是這樣的:

function foo() 
{ 
    $bar = 'Hello World'; 

    return; 
} 

什麼retun;要回來嗎?這有點荒謬。

+0

有功能將停止 –

+2

@Breezer沒有,它返回'null'代替。 – Raptor

+1

'var_dump(foo())'可以回答你的問題嗎? – Touki

回答

4

它確實返回null。如果調用return而沒有任何變量或值return將返回null

從PHP手冊

的說明。如果沒有提供任何參數,那麼括號必須被省略 將返回NULL。使用括號調用return()但沒有參數 將導致解析錯誤。

5

注:如果沒有提供任何參數,那麼括號必須被省略NULL將被退回。使用圓括號調用return但沒有參數會導致解析錯誤。

http://www.php.net/return

0

return將簡單地返回控制誰調用該函數,返回一個NULL值。所以,如果你有此代碼段

function bar() 
{ 
    echo 'bar'; 
    $a = foo(); 
    echo 'foobar'; 
} 

首先它打印'bar'字符串,那麼將控制傳遞給foo()功能誰分配到(當地)$bar變量'Hello World'字符串值。然後這個變量被銷燬(你退出函數)並且控制返回到bar()函數。之後將顯示一個'foobar'字符串。
注意a如果你正在使用

function foo() 
{ 
    $bar = 'Hello World'; 

    return; 
} 
echo $temp=foo(); 

比它返回將有一個NULL

+0

不知道誰downvote,並一如既往,沒有人留下評論..... – DonCallisto

+0

我沒有投票下來,但你錯過給變量$的$符號。 –

+0

@HarshalMahajan固定的,但我不認爲'$'錯過是downvoting的一個很好的理由(知道你沒有downvoted,但....) – DonCallisto

0

NULL值

,如果你正在使用

function foo() 
{ 
    $bar = 'Hello World'; 

    return $bar; 
} 

    echo $temp=foo(); 

比返回Hello World。

0

你可能已經想通了這一點很容易:

function foo() 
{ 
    $bar = 'Hello World'; 

    return; 
} 

var_dump(foo());