2012-11-25 34 views
0

這有我徹底難倒了,我做了以下內容:爲什麼分配一個PHP變量在屏幕上輸出一個值?

if($tasks = someFunction(1)) 
{ 


} 

someFunction()返回的記錄從數據庫中的數組。出於某種原因,將此數組分配給$ tasks將導致一個數字被打印到屏幕上。它打印的數字是它返回的記錄數,但我從來沒有迴應過這個變量。

爲了證實,我添加以下代碼:

$tasks = someFunction(1); 
$tasks = someFunction(1); 
$tasks = someFunction(1); 

上面的if語句,果然我迎了上去「4444」我的屏幕上(它返回4條)。我已經實現了在代碼中其他地方基本相同的代碼,並且從來沒有遇到過這種情況,我對變量賦值如何導致在屏幕上顯示值感到困惑。

+7

哪些someFunction的內容()? – scoota269

回答

3

您很可能會從someFunction()方法中輸出一個數字。

嘗試做一個CTRL +˚F(Windows)或命令 + ˚F(Mac)來查找文本和搜索echoprint找到的發生。

+0

我覺得讓問題變得比需要的困難更愚蠢。當我實際上正確地查看someFunction()中的代碼時,它正好讓我面對「echo $ numRows」,剩下的調試代碼。我的確有傾向於讓事情變得比他們需要的更復雜,謝謝你的理智檢查! – JoshTFS

1

您的問題是someFunction()正在回顯/打印一個值。如果您只是想要檢索someFunction()的值,請使用return語句。

http://php.net/manual/en/function.return.php

實施例:(返回Success!

function someFunction() 
{ 
    return "fish"; 
} 

$tasks = "fish"; 
if ($tasks == someFunction()) 
{ 
    echo "Success!"; 
} 
else 
{ 
    echo "Error!"; 
} 
相關問題