0

这让我完全困惑,我正在做以下事情:

if($tasks = someFunction(1))
{


}

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

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

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

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

4

2 回答 2

3

您很可能会从someFunction()方法内部输出一个数字。

尝试使用ctrl+ F(Windows) 或command+ F(Mac) 来查找文本并搜索echoprint查找出现的位置。

于 2012-11-25T06:59:39.623 回答
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!";
}
于 2012-11-25T07:04:27.847 回答