0

お願いします。私はPHPに非常に慣れていないので、pls. 理解する。よし、ここまでだ。. まず知りたいのは「関数とif文を1つのコードにできるか?」ということです。$first と $second パラメータの値が同じで、"同じではない場合」。

    <?php
    function verify($first,$second)
    {
    echo $first . " and " . $second ;
    }
    echo
    verify ("1","2");

    if ($first === $second) /* **NOTE: I know this is wrong cause its not working** */
    echo " ARE THE SAME";
    else
    echo " ARE NOT THE SAME";
    ?>

それくらいだと思います。誰でも助けることができますか?

4

3 に答える 3

2

あなたの基本的な問題はスコープの1つです。の外側verify()$firstおよび$secondは定義されていません。残りのコードを関数本体に含めるだけで、たとえば、必要な処理を実行できます。

function verify($first,$second) {
    echo $first . " and " . $second ;

    if ($first === $second) {
        echo " ARE THE SAME";
    } else {
        echo " ARE NOT THE SAME";
    }
}

verify("1", "2");

...ただし、出力バッファに書き込む関数が良いアイデアになることはめったにありません。代わりに、関数内にロジックをカプセル化し、表示を手続き型コードに任せます。

function verify($a, $b) {
    return $a === $b;
}

$first = '1';
$second = '2';
echo $first, ' and ', $second;
if (verify($first, $second)) {
    echo ' are the same';
} else {
    echo ' are not the same';
}
于 2012-06-01T03:59:06.153 に答える
0
<?php
    function verify($first,$second)
    {
    if($first===$second){
     return "Same";
    } else {
     return "Different";
    }
    }
    echo verify ("1","2");
    ?>
于 2012-06-01T04:09:14.570 に答える
0

比較演算子を見ると===、入力された両方の変数が同じタイプである場合にのみ真になることがわかります。通常、関数が返されたtrue場合でも使用できif($returncode == 1)、それは true になりますif($returncode === 1)が、false になります。if($returncode === trueif ステートメントをトリガーするために使用する必要があります。

また、関数で宣言する変数はローカルであり、関数内でのみアクセスできるため、2 番目の if ステートメントを関数に配置する必要があります。

于 2012-06-01T04:04:37.607 に答える