エラー メッセージ「書き込みコンテキストで関数の戻り値を使用できません」 PHP が関数の戻り値を変数に割り当てたり、ファイルに書き込んだりできないことを示します。このエラーは通常、条件ステートメントで関数の戻り値を直接評価しようとしたときに発生します。
提供された例では:
エラーは 48 行目に表示され、次のようになります。
if (isset($_POST('sms_code') == TRUE ) {...}
ここで、PHP は次の真実性を評価しようとしています。 isset($_POST('sms_code')) を実行し、結果を TRUE に割り当てます。ただし、 isset() は関数ではなく言語構造体であり、その戻り値はこのコンテキストでは使用できません。
解決策:
このエラーを解決するには、 isset() の戻り値をブール変数に直接代入します:
$sms_code_exists = isset($_POST('sms_code')); if ($sms_code_exists) {...}
追加注:
このエラーは、関数の戻り値に空の言語構造を使用した場合にも発生する可能性があります。例:
!empty(trim($someText)) and doSomething()
このような場合、比較演算子を使用して Trim() の戻り値を評価するのが正しいです:
trim($someText) !== '' and doSomething()
以上がPHP が「書き込みコンテキストでは関数の戻り値を使用できません」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。