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 に答える