为什么分配PHP变量在屏幕上打印一个值?

时间:2012-11-25 06:56:46

标签: php

这让我感到困惑,我正在做以下事情:

if($tasks = someFunction(1))
{


}

someFunction()返回数据库中的记录数组。出于某种原因,将此数组分配给$ tasks会导致一个数字打印到屏幕上。它打印的数字是它返回的记录数,但我从来没有回显过这个变量。

为了确认,我添加了以下代码:

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

在if语句之上,果然我的屏幕上出现了“4444”(它返回了4条记录)。我已经在我的代码中实现了与其他地方基本相同的代码并且从未遇到过这种情况,我对于变量赋值如何导致值显示在屏幕上感到困惑。

2 个答案:

答案 0 :(得分:3)

您最有可能从someFunction()方法中输出一个数字。

尝试 ctrl + F (Windows)或命令 + F (Mac)到查找文字并搜索echoprint以查找发生的情况。

答案 1 :(得分: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!";
}