0

私は人々に質問をし、はいまたはいいえのどちらかで答える小さな調査フォームを作成しようとしています。

3番目の関数で最初の2つの関数を実行し、答えが設定されているかどうかを確認しようとしていますが、次のようになります。

致命的なエラー:の書き込みコンテキストでメソッドの戻り値を使用できません。

誰かが私を助けたり、正しい道を教えてくれますか?

    <?php
class survey {

    ... some functions ...

    function check($rep1, $rep2){

        if (isset($this->q1($rep1)) && isset($this->q2($rep2))) {
            #######################    #######################
            echo "Thank you for the feedback";
        }elseif (! array_key_exists(@$_POST['answer'], $var)) {
            echo "Please select an option<br/>";
        }
    }
}
?>

エラーは最初の行のチェック機能内にあります。

4

1 に答える 1

4

関数は常に何かを返すので(たとえそうであったとしてもNULL)、それらを使用isset()することは無意味です。

issetは、変数名を受け取り、それが存在するかどうかを通知する言語構造です。

この場合、なぜ単に書くのではないのif(isset($_POST['answer']))ですか?

于 2013-03-17T22:01:07.610 に答える