2

if関数が true を返すか false を返すかをステートメントを使用して判断できないのはなぜですか? true は機能しますが、false は機能しません。

これが私のコードです:

function test($var){
    if($var == "string"){
        return true;
    }else{
        return false;
    }
}

実行: 必要に応じて返されますが、使用すると returnがecho test("string");返されるはずですが、何も返されません。なぜですか?trueecho test("hello");false

基準で true/false を返す代わりに何を使用する必要がありますか?

4

4 に答える 4

5

まあ、それは私の側で動作します

使用:

function test($var){
    if($var == "string"){
        return true;
    }else{
        return false;
    }
}

echo "string:";
var_dump(test("string"));
echo "hello:";
var_dump(test("hello"));

出力を引き起こす

string:bool(真)
hello:bool(偽)

何かの出力を表示したい場合は、常にvar_dump()false として使用すると、直接エコーされたときに出力が生成されません。

于 2013-04-11T21:20:27.820 に答える
2
var_dump(test("hello"));

false をエコーすると、偽りの出力が生成されません。var_dump代わりに試してください。本当の価値を教えてくれます。

bool(false)
于 2013-04-11T21:19:00.310 に答える
2

コードが機能しない理由はわかりませんが、これは短くなります。

function test($var) {
    return ($var == "string");
}
于 2013-04-11T21:20:25.883 に答える
0

あなたのコードは危険です - これはおそらく間違っていることを意味します。

== の代わりに === を使用する

if ($var === "string") { ...

ドキュメントを読んでください;)

于 2014-10-11T21:00:58.697 に答える